diff options
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_mesh.h | 50 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/customdata.cc | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/geometry_set.cc | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/node.cc | 1 |
5 files changed, 57 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h index 5f3fcb535b2..c58ab6947f8 100644 --- a/source/blender/blenkernel/BKE_mesh.h +++ b/source/blender/blenkernel/BKE_mesh.h @@ -25,6 +25,12 @@ #include "BKE_mesh_types.h" #include "BLI_utildefines.h" +#ifdef __cplusplus +# include "BLI_span.hh" +# include "DNA_mesh_types.h" +# include "DNA_meshdata_types.h" +#endif + struct BLI_Stack; struct BMesh; struct BMeshCreateParams; @@ -979,3 +985,47 @@ BLI_INLINE int BKE_mesh_origindex_mface_mpoly(const int *index_mf_to_mpoly, #ifdef __cplusplus } #endif + +#ifdef __cplusplus + +namespace blender::bke { + +inline Span<MVert> mesh_verts(const Mesh &mesh) +{ + return {mesh.mvert, mesh.totvert}; +} +inline MutableSpan<MVert> mesh_verts(Mesh &mesh) +{ + return {mesh.mvert, mesh.totvert}; +} + +inline Span<MEdge> mesh_edges(const Mesh &mesh) +{ + return {mesh.medge, mesh.totedge}; +} +inline MutableSpan<MEdge> mesh_edges(Mesh &mesh) +{ + return {mesh.medge, mesh.totedge}; +} + +inline Span<MPoly> mesh_polys(const Mesh &mesh) +{ + return {mesh.mpoly, mesh.totpoly}; +} +inline MutableSpan<MPoly> mesh_polys(Mesh &mesh) +{ + return {mesh.mpoly, mesh.totpoly}; +} + +inline Span<MLoop> mesh_loops(const Mesh &mesh) +{ + return {mesh.mloop, mesh.totloop}; +} +inline MutableSpan<MLoop> mesh_loops(Mesh &mesh) +{ + return {mesh.mloop, mesh.totloop}; +} + +} // namespace blender::bke + +#endif diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 71b2ee91786..b43bbcdad6a 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -1634,6 +1634,7 @@ int ntreeTexExecTree(struct bNodeTree *ntree, #define GEO_NODE_ACCUMULATE_FIELD 1146 #define GEO_NODE_INPUT_MESH_EDGE_ANGLE 1147 #define GEO_NODE_SCALE_ELEMENTS 1148 +#define GEO_NODE_EXTRUDE_MESH 1149 /** \} */ diff --git a/source/blender/blenkernel/intern/customdata.cc b/source/blender/blenkernel/intern/customdata.cc index 59d9039fff5..2a62f149a8f 100644 --- a/source/blender/blenkernel/intern/customdata.cc +++ b/source/blender/blenkernel/intern/customdata.cc @@ -2227,7 +2227,7 @@ void CustomData_realloc(CustomData *data, int totelem) continue; } typeInfo = layerType_getInfo(layer->type); - layer->data = MEM_reallocN(layer->data, (size_t)totelem * typeInfo->size); + layer->data = MEM_recallocN(layer->data, (size_t)totelem * typeInfo->size); } } diff --git a/source/blender/blenkernel/intern/geometry_set.cc b/source/blender/blenkernel/intern/geometry_set.cc index c1e386c626b..9a3e64680cf 100644 --- a/source/blender/blenkernel/intern/geometry_set.cc +++ b/source/blender/blenkernel/intern/geometry_set.cc @@ -30,6 +30,8 @@ #include "BKE_spline.hh" #include "BKE_volume.h" +#include "BLT_translation.h" + #include "DNA_collection_types.h" #include "DNA_object_types.h" @@ -611,6 +613,8 @@ bool NormalFieldInput::is_equal_to(const fn::FieldNode &other) const /** \} */ +/** \} */ + /* -------------------------------------------------------------------- */ /** \name C API * \{ */ diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc index 2b10cf75641..20afaa7b240 100644 --- a/source/blender/blenkernel/intern/node.cc +++ b/source/blender/blenkernel/intern/node.cc @@ -4766,6 +4766,7 @@ static void registerGeometryNodes() register_node_type_geo_distribute_points_on_faces(); register_node_type_geo_dual_mesh(); register_node_type_geo_edge_split(); + register_node_type_geo_extrude_mesh(); register_node_type_geo_geometry_to_instance(); register_node_type_geo_image_texture(); register_node_type_geo_input_curve_handles(); |