diff options
author | Hans Goudey <h.goudey@me.com> | 2021-12-10 23:54:32 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-12-10 23:54:32 +0300 |
commit | a8b730e04c658ec72ad22974eb1c3d2493308f44 (patch) | |
tree | fd32e7707e3a034ee60307f630b77da5b3ce8870 | |
parent | 7c2fb00e661e080f0d0c85df60f1dff481c91d5e (diff) |
Cleanup: Use const argument, rename variables
The const argument makes sense because these are the "source"
sockets, even though a const cast is necessary at one point.
The name "interface_socket" is an improvement over "stemp"
because the latter sounds like "temporary", or it confuses
the old socket template system with a node group's interface.
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 8 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 21 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_common.cc | 31 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_socket.cc | 23 |
4 files changed, 48 insertions, 35 deletions
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 12f549b7847..0902e6867a2 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -164,20 +164,20 @@ typedef struct bNodeSocketType { void (*interface_draw)(struct bContext *C, struct uiLayout *layout, struct PointerRNA *ptr); void (*interface_draw_color)(struct bContext *C, struct PointerRNA *ptr, float *r_color); void (*interface_register_properties)(struct bNodeTree *ntree, - struct bNodeSocket *stemp, + struct bNodeSocket *interface_socket, struct StructRNA *data_srna); void (*interface_init_socket)(struct bNodeTree *ntree, - struct bNodeSocket *stemp, + const struct bNodeSocket *interface_socket, struct bNode *node, struct bNodeSocket *sock, const char *data_path); void (*interface_verify_socket)(struct bNodeTree *ntree, - struct bNodeSocket *stemp, + const struct bNodeSocket *interface_socket, struct bNode *node, struct bNodeSocket *sock, const char *data_path); void (*interface_from_socket)(struct bNodeTree *ntree, - struct bNodeSocket *stemp, + struct bNodeSocket *interface_socket, struct bNode *node, struct bNodeSocket *sock); diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 640a1439a57..e1c1ba16165 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -3164,8 +3164,11 @@ static void rna_NodeSocketInterface_register_properties(bNodeTree *ntree, RNA_parameter_list_free(&list); } -static void rna_NodeSocketInterface_init_socket( - bNodeTree *ntree, bNodeSocket *stemp, bNode *node, bNodeSocket *sock, const char *data_path) +static void rna_NodeSocketInterface_init_socket(bNodeTree *ntree, + const bNodeSocket *interface_socket, + bNode *node, + bNodeSocket *sock, + const char *data_path) { extern FunctionRNA rna_NodeSocketInterface_init_socket_func; @@ -3173,11 +3176,11 @@ static void rna_NodeSocketInterface_init_socket( ParameterList list; FunctionRNA *func; - if (!stemp->typeinfo) { + if (!interface_socket->typeinfo) { return; } - RNA_pointer_create((ID *)ntree, &RNA_NodeSocketInterface, stemp, &ptr); + RNA_pointer_create((ID *)ntree, &RNA_NodeSocketInterface, (bNodeSocket *)interface_socket, &ptr); RNA_pointer_create((ID *)ntree, &RNA_Node, node, &node_ptr); RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &sock_ptr); // RNA_struct_find_function(&ptr, "init_socket"); @@ -3187,13 +3190,13 @@ static void rna_NodeSocketInterface_init_socket( RNA_parameter_set_lookup(&list, "node", &node_ptr); RNA_parameter_set_lookup(&list, "socket", &sock_ptr); RNA_parameter_set_lookup(&list, "data_path", &data_path); - stemp->typeinfo->ext_interface.call(NULL, &ptr, func, &list); + interface_socket->typeinfo->ext_interface.call(NULL, &ptr, func, &list); RNA_parameter_list_free(&list); } static void rna_NodeSocketInterface_from_socket(bNodeTree *ntree, - bNodeSocket *stemp, + bNodeSocket *interface_socket, bNode *node, bNodeSocket *sock) { @@ -3203,11 +3206,11 @@ static void rna_NodeSocketInterface_from_socket(bNodeTree *ntree, ParameterList list; FunctionRNA *func; - if (!stemp->typeinfo) { + if (!interface_socket->typeinfo) { return; } - RNA_pointer_create((ID *)ntree, &RNA_NodeSocketInterface, stemp, &ptr); + RNA_pointer_create((ID *)ntree, &RNA_NodeSocketInterface, interface_socket, &ptr); RNA_pointer_create((ID *)ntree, &RNA_Node, node, &node_ptr); RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &sock_ptr); // RNA_struct_find_function(&ptr, "from_socket"); @@ -3216,7 +3219,7 @@ static void rna_NodeSocketInterface_from_socket(bNodeTree *ntree, RNA_parameter_list_create(&list, &ptr, func); RNA_parameter_set_lookup(&list, "node", &node_ptr); RNA_parameter_set_lookup(&list, "socket", &sock_ptr); - stemp->typeinfo->ext_interface.call(NULL, &ptr, func, &list); + interface_socket->typeinfo->ext_interface.call(NULL, &ptr, func, &list); RNA_parameter_list_free(&list); } diff --git a/source/blender/nodes/intern/node_common.cc b/source/blender/nodes/intern/node_common.cc index 9b5436bccfb..f7068782dbf 100644 --- a/source/blender/nodes/intern/node_common.cc +++ b/source/blender/nodes/intern/node_common.cc @@ -123,39 +123,46 @@ bool nodeGroupPoll(bNodeTree *nodetree, bNodeTree *grouptree, const char **r_dis /* used for both group nodes and interface nodes */ static bNodeSocket *group_verify_socket(bNodeTree *ntree, bNode *gnode, - bNodeSocket *iosock, + const bNodeSocket *interface_socket, ListBase *verify_lb, eNodeSocketInOut in_out) { bNodeSocket *sock; for (sock = (bNodeSocket *)verify_lb->first; sock; sock = sock->next) { - if (STREQ(sock->identifier, iosock->identifier)) { + if (STREQ(sock->identifier, interface_socket->identifier)) { break; } } if (sock) { - strcpy(sock->name, iosock->name); + strcpy(sock->name, interface_socket->name); const int mask = SOCK_HIDE_VALUE; - sock->flag = (sock->flag & ~mask) | (iosock->flag & mask); + sock->flag = (sock->flag & ~mask) | (interface_socket->flag & mask); /* Update socket type if necessary */ - if (sock->typeinfo != iosock->typeinfo) { - nodeModifySocketType(ntree, gnode, sock, iosock->idname); + if (sock->typeinfo != interface_socket->typeinfo) { + nodeModifySocketType(ntree, gnode, sock, interface_socket->idname); /* Flag the tree to make sure link validity is updated after type changes. */ ntree->update |= NTREE_UPDATE_LINKS; } - if (iosock->typeinfo->interface_verify_socket) { - iosock->typeinfo->interface_verify_socket(ntree, iosock, gnode, sock, "interface"); + if (interface_socket->typeinfo->interface_verify_socket) { + interface_socket->typeinfo->interface_verify_socket( + ntree, interface_socket, gnode, sock, "interface"); } } else { - sock = nodeAddSocket(ntree, gnode, in_out, iosock->idname, iosock->identifier, iosock->name); - - if (iosock->typeinfo->interface_init_socket) { - iosock->typeinfo->interface_init_socket(ntree, iosock, gnode, sock, "interface"); + sock = nodeAddSocket(ntree, + gnode, + in_out, + interface_socket->idname, + interface_socket->identifier, + interface_socket->name); + + if (interface_socket->typeinfo->interface_init_socket) { + interface_socket->typeinfo->interface_init_socket( + ntree, interface_socket, gnode, sock, "interface"); } } diff --git a/source/blender/nodes/intern/node_socket.cc b/source/blender/nodes/intern/node_socket.cc index 8f7b85c0625..dbc4f489a88 100644 --- a/source/blender/nodes/intern/node_socket.cc +++ b/source/blender/nodes/intern/node_socket.cc @@ -548,7 +548,7 @@ void node_socket_skip_reroutes( } static void standard_node_socket_interface_init_socket(bNodeTree *UNUSED(ntree), - bNodeSocket *stemp, + const bNodeSocket *interface_socket, bNode *UNUSED(node), bNodeSocket *sock, const char *UNUSED(data_path)) @@ -559,47 +559,50 @@ static void standard_node_socket_interface_init_socket(bNodeTree *UNUSED(ntree), /* XXX socket interface 'type' value is not used really, * but has to match or the copy function will bail out */ - stemp->type = stemp->typeinfo->type; + const_cast<bNodeSocket *>(interface_socket)->type = interface_socket->typeinfo->type; /* copy default_value settings */ - node_socket_copy_default_value(sock, stemp); + node_socket_copy_default_value(sock, interface_socket); } /* copies settings that are not changed for each socket instance */ static void standard_node_socket_interface_verify_socket(bNodeTree *UNUSED(ntree), - bNodeSocket *stemp, + const bNodeSocket *interface_socket, bNode *UNUSED(node), bNodeSocket *sock, const char *UNUSED(data_path)) { /* sanity check */ - if (sock->type != stemp->typeinfo->type) { + if (sock->type != interface_socket->typeinfo->type) { return; } /* make sure both exist */ - if (!stemp->default_value) { + if (!interface_socket->default_value) { return; } node_socket_init_default_value(sock); - switch (stemp->typeinfo->type) { + switch (interface_socket->typeinfo->type) { case SOCK_FLOAT: { bNodeSocketValueFloat *toval = (bNodeSocketValueFloat *)sock->default_value; - bNodeSocketValueFloat *fromval = (bNodeSocketValueFloat *)stemp->default_value; + const bNodeSocketValueFloat *fromval = (const bNodeSocketValueFloat *) + interface_socket->default_value; toval->min = fromval->min; toval->max = fromval->max; break; } case SOCK_INT: { bNodeSocketValueInt *toval = (bNodeSocketValueInt *)sock->default_value; - bNodeSocketValueInt *fromval = (bNodeSocketValueInt *)stemp->default_value; + const bNodeSocketValueInt *fromval = (const bNodeSocketValueInt *) + interface_socket->default_value; toval->min = fromval->min; toval->max = fromval->max; break; } case SOCK_VECTOR: { bNodeSocketValueVector *toval = (bNodeSocketValueVector *)sock->default_value; - bNodeSocketValueVector *fromval = (bNodeSocketValueVector *)stemp->default_value; + const bNodeSocketValueVector *fromval = (const bNodeSocketValueVector *) + interface_socket->default_value; toval->min = fromval->min; toval->max = fromval->max; break; |