[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