[Bf-blender-cvs] [198ff4703f8] master: Blenkernel: Move node.c to C++

Hans Goudey noreply at git.blender.org
Tue Feb 2 16:52:54 CET 2021


Commit: 198ff4703f84d0c32674d9a2b4be3121586fb083
Author: Hans Goudey
Date:   Tue Feb 2 09:51:38 2021 -0600
Branches: master
https://developer.blender.org/rB198ff4703f84d0c32674d9a2b4be3121586fb083

Blenkernel: Move node.c to C++

Required changes to compile `node.cc` with clang tidy:
* Use c++ includes like (e.g. climits instead limits.h).
* Insert type casts when casting from `void *`.
* Replace `NULL` with `nullptr`.
* Replace typedef statements.

This change is in order to use the `blender::Map` data structure
for node error messages.

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

M	source/blender/blenkernel/BKE_node.h
M	source/blender/blenkernel/CMakeLists.txt
R088	source/blender/blenkernel/intern/node.c	source/blender/blenkernel/intern/node.cc
M	source/blender/compositor/COM_compositor.h
M	source/blender/nodes/texture/node_texture_util.c

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

diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 4912d634471..bfcfe84cbe7 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -419,7 +419,7 @@ struct GHashIterator *ntreeTypeGetIterator(void);
     GHashIterator *__node_tree_type_iter__ = ntreeTypeGetIterator(); \
     for (; !BLI_ghashIterator_done(__node_tree_type_iter__); \
          BLI_ghashIterator_step(__node_tree_type_iter__)) { \
-      bNodeTreeType *ntype = BLI_ghashIterator_getValue(__node_tree_type_iter__);
+      bNodeTreeType *ntype = (bNodeTreeType *)BLI_ghashIterator_getValue(__node_tree_type_iter__);
 
 #define NODE_TREE_TYPES_END \
   } \
@@ -523,7 +523,7 @@ struct GHashIterator *nodeTypeGetIterator(void);
     GHashIterator *__node_type_iter__ = nodeTypeGetIterator(); \
     for (; !BLI_ghashIterator_done(__node_type_iter__); \
          BLI_ghashIterator_step(__node_type_iter__)) { \
-      bNodeType *ntype = BLI_ghashIterator_getValue(__node_type_iter__);
+      bNodeType *ntype = (bNodeType *)BLI_ghashIterator_getValue(__node_type_iter__);
 
 #define NODE_TYPES_END \
   } \
@@ -545,7 +545,8 @@ const char *nodeStaticSocketInterfaceType(int type, int subtype);
     GHashIterator *__node_socket_type_iter__ = nodeSocketTypeGetIterator(); \
     for (; !BLI_ghashIterator_done(__node_socket_type_iter__); \
          BLI_ghashIterator_step(__node_socket_type_iter__)) { \
-      bNodeSocketType *stype = BLI_ghashIterator_getValue(__node_socket_type_iter__);
+      bNodeSocketType *stype = (bNodeSocketType *)BLI_ghashIterator_getValue( \
+          __node_socket_type_iter__);
 
 #define NODE_SOCKET_TYPES_END \
   } \
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 20c57f4e15a..0853ab9d82b 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -197,7 +197,7 @@ set(SRC
   intern/multires_unsubdivide.c
   intern/multires_versioning.c
   intern/nla.c
-  intern/node.c
+  intern/node.cc
   intern/object.c
   intern/object_deform.c
   intern/object_dupli.c
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.cc
similarity index 88%
rename from source/blender/blenkernel/intern/node.c
rename to source/blender/blenkernel/intern/node.cc
index 247bfafc099..92f6f255587 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.cc
@@ -25,10 +25,10 @@
 
 #include "MEM_guardedalloc.h"
 
-#include <limits.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
+#include <climits>
+#include <cstddef>
+#include <cstdlib>
+#include <cstring>
 
 /* Allow using deprecated functionality for .blend file I/O. */
 #define DNA_DEPRECATED_ALLOW
@@ -109,7 +109,7 @@ static void node_socket_interface_free(bNodeTree *UNUSED(ntree),
 static void ntree_init_data(ID *id)
 {
   bNodeTree *ntree = (bNodeTree *)id;
-  ntree_set_typeinfo(ntree, NULL);
+  ntree_set_typeinfo(ntree, nullptr);
 }
 
 static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, const int flag)
@@ -121,7 +121,7 @@ static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c
   const int flag_subdata = flag | LIB_ID_CREATE_NO_USER_REFCOUNT;
 
   /* in case a running nodetree is copied */
-  ntree_dst->execdata = NULL;
+  ntree_dst->execdata = nullptr;
 
   BLI_listbase_clear(&ntree_dst->nodes);
   BLI_listbase_clear(&ntree_dst->links);
@@ -133,17 +133,17 @@ static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c
     bNode *new_node = BKE_node_copy_ex(ntree_dst, node_src, flag_subdata, true);
     BLI_ghash_insert(new_pointers, (void *)node_src, new_node);
     /* Store mapping to inputs. */
-    bNodeSocket *new_input_sock = new_node->inputs.first;
-    const bNodeSocket *input_sock_src = node_src->inputs.first;
-    while (new_input_sock != NULL) {
+    bNodeSocket *new_input_sock = (bNodeSocket *)new_node->inputs.first;
+    const bNodeSocket *input_sock_src = (const bNodeSocket *)node_src->inputs.first;
+    while (new_input_sock != nullptr) {
       BLI_ghash_insert(new_pointers, (void *)input_sock_src, new_input_sock);
       new_input_sock = new_input_sock->next;
       input_sock_src = input_sock_src->next;
     }
     /* Store mapping to outputs. */
-    bNodeSocket *new_output_sock = new_node->outputs.first;
-    const bNodeSocket *output_sock_src = node_src->outputs.first;
-    while (new_output_sock != NULL) {
+    bNodeSocket *new_output_sock = (bNodeSocket *)new_node->outputs.first;
+    const bNodeSocket *output_sock_src = (const bNodeSocket *)node_src->outputs.first;
+    while (new_output_sock != nullptr) {
       BLI_ghash_insert(new_pointers, (void *)output_sock_src, new_output_sock);
       new_output_sock = new_output_sock->next;
       output_sock_src = output_sock_src->next;
@@ -153,10 +153,13 @@ static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c
   /* copy links */
   BLI_duplicatelist(&ntree_dst->links, &ntree_src->links);
   LISTBASE_FOREACH (bNodeLink *, link_dst, &ntree_dst->links) {
-    link_dst->fromnode = BLI_ghash_lookup_default(new_pointers, link_dst->fromnode, NULL);
-    link_dst->fromsock = BLI_ghash_lookup_default(new_pointers, link_dst->fromsock, NULL);
-    link_dst->tonode = BLI_ghash_lookup_default(new_pointers, link_dst->tonode, NULL);
-    link_dst->tosock = BLI_ghash_lookup_default(new_pointers, link_dst->tosock, NULL);
+    link_dst->fromnode = (bNode *)BLI_ghash_lookup_default(
+        new_pointers, link_dst->fromnode, nullptr);
+    link_dst->fromsock = (bNodeSocket *)BLI_ghash_lookup_default(
+        new_pointers, link_dst->fromsock, nullptr);
+    link_dst->tonode = (bNode *)BLI_ghash_lookup_default(new_pointers, link_dst->tonode, nullptr);
+    link_dst->tosock = (bNodeSocket *)BLI_ghash_lookup_default(
+        new_pointers, link_dst->tosock, nullptr);
     /* update the link socket's pointer */
     if (link_dst->tosock) {
       link_dst->tosock->link = link_dst;
@@ -166,14 +169,18 @@ static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c
   /* copy interface sockets */
   BLI_duplicatelist(&ntree_dst->inputs, &ntree_src->inputs);
   bNodeSocket *sock_dst, *sock_src;
-  for (sock_dst = ntree_dst->inputs.first, sock_src = ntree_src->inputs.first; sock_dst != NULL;
-       sock_dst = sock_dst->next, sock_src = sock_src->next) {
+  for (sock_dst = (bNodeSocket *)ntree_dst->inputs.first,
+      sock_src = (bNodeSocket *)ntree_src->inputs.first;
+       sock_dst != nullptr;
+       sock_dst = (bNodeSocket *)sock_dst->next, sock_src = (bNodeSocket *)sock_src->next) {
     node_socket_copy(sock_dst, sock_src, flag_subdata);
   }
 
   BLI_duplicatelist(&ntree_dst->outputs, &ntree_src->outputs);
-  for (sock_dst = ntree_dst->outputs.first, sock_src = ntree_src->outputs.first; sock_dst != NULL;
-       sock_dst = sock_dst->next, sock_src = sock_src->next) {
+  for (sock_dst = (bNodeSocket *)ntree_dst->outputs.first,
+      sock_src = (bNodeSocket *)ntree_src->outputs.first;
+       sock_dst != nullptr;
+       sock_dst = (bNodeSocket *)sock_dst->next, sock_src = (bNodeSocket *)sock_src->next) {
     node_socket_copy(sock_dst, sock_src, flag_subdata);
   }
 
@@ -185,26 +192,29 @@ static void ntree_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c
 
     NODE_INSTANCE_HASH_ITER (iter, ntree_src->previews) {
       bNodeInstanceKey key = BKE_node_instance_hash_iterator_get_key(&iter);
-      bNodePreview *preview = BKE_node_instance_hash_iterator_get_value(&iter);
+      bNodePreview *preview = (bNodePreview *)BKE_node_instance_hash_iterator_get_value(&iter);
       BKE_node_instance_hash_insert(ntree_dst->previews, key, BKE_node_preview_copy(preview));
     }
   }
   else {
-    ntree_dst->previews = NULL;
+    ntree_dst->previews = nullptr;
   }
 
   /* update node->parent pointers */
-  for (bNode *node_dst = ntree_dst->nodes.first, *node_src = ntree_src->nodes.first; node_dst;
-       node_dst = node_dst->next, node_src = node_src->next) {
+  for (bNode *node_dst = (bNode *)ntree_dst->nodes.first,
+             *node_src = (bNode *)ntree_src->nodes.first;
+       node_dst;
+       node_dst = (bNode *)node_dst->next, node_src = (bNode *)node_src->next) {
     if (node_dst->parent) {
-      node_dst->parent = BLI_ghash_lookup_default(new_pointers, node_dst->parent, NULL);
+      node_dst->parent = (bNode *)BLI_ghash_lookup_default(
+          new_pointers, node_dst->parent, nullptr);
     }
   }
 
-  BLI_ghash_free(new_pointers, NULL, NULL);
+  BLI_ghash_free(new_pointers, nullptr, nullptr);
 
   /* node tree will generate its own interface type */
-  ntree_dst->interface_type = NULL;
+  ntree_dst->interface_type = nullptr;
 }
 
 static void ntree_free_data(ID *id)
@@ -223,7 +233,7 @@ static void ntree_free_data(ID *id)
         break;
       case NTREE_TEXTURE:
         ntreeTexEndExecTree(ntree->execdata);
-        ntree->execdata = NULL;
+        ntree->execdata = nullptr;
         break;
     }
   }
@@ -267,17 +277,18 @@ static void library_foreach_node_socket(LibraryForeachIDData *data, bNodeSocket
 
   switch ((eNodeSocketDatatype)sock->type) {
     case SOCK_OBJECT: {
-      bNodeSocketValueObject *default_value = sock->default_value;
+      bNodeSocketValueObject *default_value = (bNodeSocketValueObject *)sock->default_value;
       BKE_LIB_FOREACHID_PROCESS(data, default_value->value, IDWALK_CB_USER);
       break;
     }
     case SOCK_IMAGE: {
-      bNodeSocketValueImage *default_value = sock->default_value;
+      bNodeSocketValueImage *default_value = (bNodeSocketValueImage *)sock->default_value;
       BKE_LIB_FOREACHID_PROCESS(data, default_value->value, IDWALK_CB_USER);
       break;
     }
     case SOCK_COLLECTION: {
-      bNodeSocketValueCollection *default_value = sock->default_value;
+      bNodeSocketValueCollection *default_value = (bNodeSocketValueCollection *)
+                                                      sock->default_value;
       BKE_LIB_FOREACHID_PROCESS(data, default_value->value, IDWALK_CB_USER);
       break;
     }
@@ -351,7 +362,7 @@ static void nod

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list