[Bf-blender-cvs] [89bd261d9e6] master: Cleanup: Convert two nodes files to C++

Hans Goudey noreply at git.blender.org
Wed Oct 12 01:18:12 CEST 2022


Commit: 89bd261d9e617da15a48d14c722475416e2709ae
Author: Hans Goudey
Date:   Tue Oct 11 18:01:08 2022 -0500
Branches: master
https://developer.blender.org/rB89bd261d9e617da15a48d14c722475416e2709ae

Cleanup: Convert two nodes files to C++

===================================================================

M	source/blender/editors/transform/CMakeLists.txt
M	source/blender/editors/transform/transform.h
M	source/blender/editors/transform/transform_convert.h
R092	source/blender/editors/transform/transform_convert_node.c	source/blender/editors/transform/transform_convert_node.cc
M	source/blender/editors/transform/transform_snap.h
M	source/blender/nodes/CMakeLists.txt
R094	source/blender/nodes/intern/node_util.c	source/blender/nodes/intern/node_util.cc

===================================================================

diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt
index ec6f62e0f5b..3787a59c83c 100644
--- a/source/blender/editors/transform/CMakeLists.txt
+++ b/source/blender/editors/transform/CMakeLists.txt
@@ -40,7 +40,7 @@ set(SRC
   transform_convert_mesh_uv.c
   transform_convert_mesh_vert_cdata.c
   transform_convert_nla.c
-  transform_convert_node.c
+  transform_convert_node.cc
   transform_convert_object.c
   transform_convert_object_texspace.c
   transform_convert_paintcurve.c
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 09fc07f57f4..e2bab378cad 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -19,6 +19,10 @@
 
 #include "transform_data.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* use node center for transform instead of upper-left corner.
  * disabled since it makes absolute snapping not work so nicely
  */
@@ -141,6 +145,7 @@ typedef enum {
   /** No cursor wrapping on region bounds */
   T_NO_CURSOR_WRAP = 1 << 23,
 } eTFlag;
+ENUM_OPERATORS(eTFlag, T_NO_CURSOR_WRAP);
 
 #define T_ALL_RESTRICTIONS (T_NO_CONSTRAINT | T_NULL_ONE)
 #define T_PROP_EDIT_ALL (T_PROP_EDIT | T_PROP_CONNECTED | T_PROP_PROJECTED)
@@ -864,3 +869,7 @@ bool checkUseAxisMatrix(TransInfo *t);
        th++, i++)
 
 /** \} */
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/editors/transform/transform_convert.h b/source/blender/editors/transform/transform_convert.h
index f32bff6dcff..8466fd88e1d 100644
--- a/source/blender/editors/transform/transform_convert.h
+++ b/source/blender/editors/transform/transform_convert.h
@@ -10,6 +10,10 @@
 
 #include "RE_engine.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct BMEditMesh;
 struct BMesh;
 struct BezTriple;
@@ -244,7 +248,7 @@ extern TransConvertTypeInfo TransConvertType_MeshVertCData;
 
 extern TransConvertTypeInfo TransConvertType_NLA;
 
-/* transform_convert_node.c */
+/* transform_convert_node.cc */
 
 extern TransConvertTypeInfo TransConvertType_Node;
 
@@ -279,3 +283,7 @@ extern TransConvertTypeInfo TransConvertType_SequencerImage;
 /* transform_convert_tracking.c */
 
 extern TransConvertTypeInfo TransConvertType_Tracking;
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/editors/transform/transform_convert_node.c b/source/blender/editors/transform/transform_convert_node.cc
similarity index 92%
rename from source/blender/editors/transform/transform_convert_node.c
rename to source/blender/editors/transform/transform_convert_node.cc
index ed19789fdd8..66ad5c146aa 100644
--- a/source/blender/editors/transform/transform_convert_node.c
+++ b/source/blender/editors/transform/transform_convert_node.cc
@@ -99,10 +99,10 @@ static bool is_node_parent_select(bNode *node)
 static void createTransNodeData(bContext *UNUSED(C), TransInfo *t)
 {
   const float dpi_fac = UI_DPI_FAC;
-  SpaceNode *snode = t->area->spacedata.first;
+  SpaceNode *snode = static_cast<SpaceNode *>(t->area->spacedata.first);
 
   /* Custom data to enable edge panning during the node transform */
-  struct TransCustomDataNode *customdata = MEM_callocN(sizeof(*customdata), __func__);
+  TransCustomDataNode *customdata = MEM_cnew<TransCustomDataNode>(__func__);
   UI_view2d_edge_pan_init(t->context,
                           &customdata->edgepan_data,
                           NODE_EDGE_PAN_INSIDE_PAD,
@@ -125,7 +125,7 @@ static void createTransNodeData(bContext *UNUSED(C), TransInfo *t)
   }
 
   /* Nodes don't support PET and probably never will. */
-  t->flag &= ~T_PROP_EDIT_ALL;
+  t->flag = t->flag & ~T_PROP_EDIT_ALL;
 
   /* set transform flags on nodes */
   LISTBASE_FOREACH (bNode *, node, &snode->edittree->nodes) {
@@ -142,9 +142,8 @@ static void createTransNodeData(bContext *UNUSED(C), TransInfo *t)
     return;
   }
 
-  TransData *td = tc->data = MEM_callocN(tc->data_len * sizeof(TransData), "TransNode TransData");
-  TransData2D *td2d = tc->data_2d = MEM_callocN(tc->data_len * sizeof(TransData2D),
-                                                "TransNode TransData2D");
+  TransData *td = tc->data = MEM_cnew_array<TransData>(tc->data_len, __func__);
+  TransData2D *td2d = tc->data_2d = MEM_cnew_array<TransData2D>(tc->data_len, __func__);
 
   LISTBASE_FOREACH (bNode *, node, &snode->edittree->nodes) {
     if (node->flag & NODE_TRANSFORM) {
@@ -163,7 +162,7 @@ static void flushTransNodes(TransInfo *t)
 {
   const float dpi_fac = UI_DPI_FAC;
 
-  struct TransCustomDataNode *customdata = (struct TransCustomDataNode *)t->custom.type.data;
+  TransCustomDataNode *customdata = (TransCustomDataNode *)t->custom.type.data;
 
   if (t->options & CTX_VIEW2D_EDGE_PAN) {
     if (t->state == TRANS_CANCEL) {
@@ -196,7 +195,7 @@ static void flushTransNodes(TransInfo *t)
     for (int i = 0; i < tc->data_len; i++) {
       TransData *td = &tc->data[i];
       TransData2D *td2d = &tc->data_2d[i];
-      bNode *node = td->extra;
+      bNode *node = static_cast<bNode *>(td->extra);
 
       float loc[2];
       add_v2_v2v2(loc, td2d->loc, offset);
@@ -234,7 +233,7 @@ static void flushTransNodes(TransInfo *t)
 
 static void special_aftertrans_update__node(bContext *C, TransInfo *t)
 {
-  struct Main *bmain = CTX_data_main(C);
+  Main *bmain = CTX_data_main(C);
   const bool canceled = (t->state == TRANS_CANCEL);
 
   SpaceNode *snode = (SpaceNode *)t->area->spacedata.first;
diff --git a/source/blender/editors/transform/transform_snap.h b/source/blender/editors/transform/transform_snap.h
index 3672e76c778..2b78c554ad8 100644
--- a/source/blender/editors/transform/transform_snap.h
+++ b/source/blender/editors/transform/transform_snap.h
@@ -11,6 +11,10 @@
 /* For enum. */
 #include "DNA_space_types.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 bool peelObjectsTransform(struct TransInfo *t,
                           const float mval[2],
                           bool use_peel_object,
@@ -92,3 +96,7 @@ void transform_snap_anim_flush_data(TransInfo *t,
                                     TransData *td,
                                     eAnimEdit_AutoSnap autosnap,
                                     float *r_val_final);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index 422ee747649..2398aefc67a 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -50,7 +50,7 @@ set(SRC
   intern/node_multi_function.cc
   intern/node_socket.cc
   intern/node_socket_declarations.cc
-  intern/node_util.c
+  intern/node_util.cc
   intern/socket_search_link.cc
 
   NOD_common.h
diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.cc
similarity index 94%
rename from source/blender/nodes/intern/node_util.c
rename to source/blender/nodes/intern/node_util.cc
index ddab455509d..17be20b4e4b 100644
--- a/source/blender/nodes/intern/node_util.c
+++ b/source/blender/nodes/intern/node_util.cc
@@ -37,7 +37,7 @@
 
 void node_free_curves(bNode *node)
 {
-  BKE_curvemapping_free(node->storage);
+  BKE_curvemapping_free(static_cast<CurveMapping *>(node->storage));
 }
 
 void node_free_standard_storage(bNode *node)
@@ -49,7 +49,7 @@ void node_free_standard_storage(bNode *node)
 
 void node_copy_curves(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const bNode *src_node)
 {
-  dest_node->storage = BKE_curvemapping_copy(src_node->storage);
+  dest_node->storage = BKE_curvemapping_copy(static_cast<CurveMapping *>(src_node->storage));
 }
 
 void node_copy_standard_storage(bNodeTree *UNUSED(dest_ntree),
@@ -63,7 +63,7 @@ void *node_initexec_curves(bNodeExecContext *UNUSED(context),
                            bNode *node,
                            bNodeInstanceKey UNUSED(key))
 {
-  BKE_curvemapping_init(node->storage);
+  BKE_curvemapping_init(static_cast<CurveMapping *>(node->storage));
   return NULL; /* unused return */
 }
 
@@ -87,9 +87,9 @@ void node_sock_label_clear(bNodeSocket *sock)
 
 void node_math_update(bNodeTree *ntree, bNode *node)
 {
-  bNodeSocket *sock1 = BLI_findlink(&node->inputs, 0);
-  bNodeSocket *sock2 = BLI_findlink(&node->inputs, 1);
-  bNodeSocket *sock3 = BLI_findlink(&node->inputs, 2);
+  bNodeSocket *sock1 = static_cast<bNodeSocket *>(BLI_findlink(&node->inputs, 0));
+  bNodeSocket *sock2 = static_cast<bNodeSocket *>(BLI_findlink(&node->inputs, 1));
+  bNodeSocket *sock3 = static_cast<bNodeSocket *>(BLI_findlink(&node->inputs, 2));
   nodeSetSocketAvailability(ntree,
                             sock2,
                             !ELEM(node->custom1,
@@ -305,7 +305,9 @@ static bNodeSocket *node_find_linkable_socket(bNodeTree *ntree,
                                               bNode *node,
                                               bNodeSocket *to_socket)
 {
-  bNodeSocket *first = to_socket->in_out == SOCK_IN ? node->inputs.first : node->outputs.first;
+  bNodeSocket *first = to_socket->in_out == SOCK_IN ?
+                           static_cast<bNodeSocket *>(node->inputs.first) :
+                           static_cast<bNodeSocket *>((node->outputs.first));
 
   /* Wrap around the list end. */
   bNodeSocket *socket_iter = to_socket->next ? to_socket->next : first;



More information about the Bf-blender-cvs mailing list