[Bf-blender-cvs] [cc573445271] temp-nodes-group-declarations: Merge branch 'master' into temp-nodes-group-declarations
Hans Goudey
noreply at git.blender.org
Wed Dec 21 20:00:11 CET 2022
Commit: cc573445271a575f93d36be523d99f538f862388
Author: Hans Goudey
Date: Wed Dec 21 12:58:57 2022 -0600
Branches: temp-nodes-group-declarations
https://developer.blender.org/rBcc573445271a575f93d36be523d99f538f862388
Merge branch 'master' into temp-nodes-group-declarations
===================================================================
===================================================================
diff --cc source/blender/blenkernel/BKE_node.h
index e97251bf37b,ff1128246f3..aeefcaed99e
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@@ -181,10 -176,15 +181,10 @@@ typedef struct bNodeSocketType
struct bNode *node,
struct bNodeSocket *sock,
const char *data_path);
- void (*interface_verify_socket)(struct bNodeTree *ntree,
- const struct bNodeSocket *interface_socket,
- struct bNode *node,
- struct bNodeSocket *sock,
- const char *data_path);
void (*interface_from_socket)(struct bNodeTree *ntree,
struct bNodeSocket *interface_socket,
- struct bNode *node,
- struct bNodeSocket *sock);
+ const struct bNode *node,
+ const struct bNodeSocket *sock);
/* RNA integration */
ExtensionRNA ext_socket;
diff --cc source/blender/editors/space_node/node_group.cc
index 5b9ab65be06,7666502b447..866d11d284a
--- a/source/blender/editors/space_node/node_group.cc
+++ b/source/blender/editors/space_node/node_group.cc
@@@ -958,16 -921,21 +921,21 @@@ static void node_group_make_insert_sele
}
}
- /* move internal links */
- LISTBASE_FOREACH_MUTABLE (bNodeLink *, link, &ntree.links) {
- const bool fromselect = nodes_to_move.contains(link->fromnode);
- const bool toselect = nodes_to_move.contains(link->tonode);
+ /* Move nodes into the group. */
+ for (bNode *node : nodes_to_move) {
+ BLI_remlink(&ntree.nodes, node);
+ BLI_addtail(&group.nodes, node);
+ nodeUniqueID(&group, node);
+ nodeUniqueName(&group, node);
- if (fromselect && toselect) {
- BLI_remlink(&ntree.links, link);
- BLI_addtail(&ngroup->links, link);
- }
+ BKE_ntree_update_tag_node_removed(&ntree);
+ BKE_ntree_update_tag_node_new(&group, node);
}
+ nodeRebuildIDVector(&ntree);
+
- node_group_update(&ntree, gnode);
- node_group_input_update(&group, input_node);
- node_group_output_update(&group, output_node);
++ nodes::update_node_declaration_and_sockets(ntree, *gnode);
++ nodes::update_node_declaration_and_sockets(ntree, *input_node);
++ nodes::update_node_declaration_and_sockets(ntree, *output_node);
/* move nodes in the group to the center */
for (bNode *node : nodes_to_move) {
diff --cc source/blender/nodes/NOD_socket.h
index 87693ea296c,b456797031c..a5b813847a4
--- a/source/blender/nodes/NOD_socket.h
+++ b/source/blender/nodes/NOD_socket.h
@@@ -28,13 -28,9 +28,8 @@@ struct bNodeSocket *node_add_socket_fro
eNodeSocketInOut in_out);
void node_verify_sockets(struct bNodeTree *ntree, struct bNode *node, bool do_id_user);
-
void node_socket_init_default_value(struct bNodeSocket *sock);
void node_socket_copy_default_value(struct bNodeSocket *to, const struct bNodeSocket *from);
- void node_socket_skip_reroutes(struct ListBase *links,
- struct bNode *node,
- struct bNodeSocket *socket,
- struct bNode **r_node,
- struct bNodeSocket **r_socket);
void register_standard_node_socket_types(void);
#ifdef __cplusplus
diff --cc source/blender/nodes/intern/node_socket.cc
index 749cf529b46,e179740aafb..d69cc76fc77
--- a/source/blender/nodes/intern/node_socket.cc
+++ b/source/blender/nodes/intern/node_socket.cc
@@@ -560,10 -500,56 +513,10 @@@ static void standard_node_socket_interf
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 * /*ntree*/,
- const bNodeSocket *interface_socket,
- bNode * /*node*/,
- bNodeSocket *sock,
- const char * /*data_path*/)
-{
- /* sanity check */
- if (sock->type != interface_socket->typeinfo->type) {
- return;
- }
-
- /* make sure both exist */
- if (!interface_socket->default_value) {
- return;
- }
- node_socket_init_default_value(sock);
-
- switch (interface_socket->typeinfo->type) {
- case SOCK_FLOAT: {
- bNodeSocketValueFloat *toval = (bNodeSocketValueFloat *)sock->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;
- 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;
- const bNodeSocketValueVector *fromval = (const bNodeSocketValueVector *)
- interface_socket->default_value;
- toval->min = fromval->min;
- toval->max = fromval->max;
- break;
- }
- }
-}
-
static void standard_node_socket_interface_from_socket(bNodeTree * /*ntree*/,
bNodeSocket *stemp,
- bNode * /*node*/,
- bNodeSocket *sock)
+ const bNode * /*node*/,
+ const bNodeSocket *sock)
{
/* initialize settings */
stemp->type = stemp->typeinfo->type;
More information about the Bf-blender-cvs
mailing list