[Bf-blender-cvs] [d33d8f5b201] functions: refactor: extract methods

Jacques Lucke noreply at git.blender.org
Tue Nov 26 17:32:03 CET 2019


Commit: d33d8f5b201ed06314d48398a88680fa04272087
Author: Jacques Lucke
Date:   Tue Nov 26 17:01:39 2019 +0100
Branches: functions
https://developer.blender.org/rBd33d8f5b201ed06314d48398a88680fa04272087

refactor: extract methods

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

M	source/blender/blenkernel/BKE_inlined_node_tree.h
M	source/blender/blenkernel/intern/inlined_node_tree.cc

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

diff --git a/source/blender/blenkernel/BKE_inlined_node_tree.h b/source/blender/blenkernel/BKE_inlined_node_tree.h
index 4ed0d810c2e..8483cf8da46 100644
--- a/source/blender/blenkernel/BKE_inlined_node_tree.h
+++ b/source/blender/blenkernel/BKE_inlined_node_tree.h
@@ -155,6 +155,13 @@ class InlinedNodeTree : BLI::NonCopyable, BLI::NonMovable {
                          Vector<XGroupInput *> &all_group_inputs,
                          Vector<XParentNode *> &all_parent_nodes,
                          BTreeVTreeMap &vtrees);
+  void expand_group__relink_inputs(const VirtualNodeTree &vtree,
+                                   ArrayRef<XNode *> new_xnodes_by_id,
+                                   Vector<XGroupInput *> &all_group_inputs,
+                                   XNode &group_node);
+  void expand_group__relink_outputs(const VirtualNodeTree &vtree,
+                                    ArrayRef<XNode *> new_xnodes_by_id,
+                                    XNode &group_node);
   void insert_linked_nodes_for_vtree_in_id_order(const VirtualNodeTree &vtree,
                                                  Vector<XNode *> &all_nodes,
                                                  XParentNode *parent);
diff --git a/source/blender/blenkernel/intern/inlined_node_tree.cc b/source/blender/blenkernel/intern/inlined_node_tree.cc
index 51513aca064..f83cc5f3479 100644
--- a/source/blender/blenkernel/intern/inlined_node_tree.cc
+++ b/source/blender/blenkernel/intern/inlined_node_tree.cc
@@ -154,11 +154,17 @@ void InlinedNodeTree::expand_group_node(XNode &group_node,
 
   this->insert_linked_nodes_for_vtree_in_id_order(vtree, all_nodes, &sub_parent);
   ArrayRef<XNode *> new_xnodes_by_id = all_nodes.as_ref().take_back(vtree.nodes().size());
+  this->expand_group__relink_inputs(vtree, new_xnodes_by_id, all_group_inputs, group_node);
+  this->expand_group__relink_outputs(vtree, new_xnodes_by_id, group_node);
+}
 
+void InlinedNodeTree::expand_group__relink_inputs(const VirtualNodeTree &vtree,
+                                                  ArrayRef<XNode *> new_xnodes_by_id,
+                                                  Vector<XGroupInput *> &all_group_inputs,
+                                                  XNode &group_node)
+{
   Vector<const VOutputSocket *> group_inputs = get_group_inputs(vtree);
-  Vector<const VInputSocket *> group_outputs = get_group_outputs(vtree);
 
-  /* Relink links to group inputs. */
   for (uint input_index : group_inputs.index_iterator()) {
     const VOutputSocket *inside_interface_vsocket = group_inputs[input_index];
     const VNode &inside_interface_vnode = inside_interface_vsocket->node();
@@ -206,8 +212,14 @@ void InlinedNodeTree::expand_group_node(XNode &group_node,
     outside_interface.m_linked_sockets.clear();
     outside_interface.m_linked_group_inputs.clear();
   }
+}
+
+void InlinedNodeTree::expand_group__relink_outputs(const VirtualNodeTree &vtree,
+                                                   ArrayRef<XNode *> new_xnodes_by_id,
+                                                   XNode &group_node)
+{
+  Vector<const VInputSocket *> group_outputs = get_group_outputs(vtree);
 
-  /* Relink links to group outputs. */
   for (uint output_index : group_outputs.index_iterator()) {
     const VInputSocket *inside_interface_vsocket = group_outputs[output_index];
     const VNode &inside_interface_vnode = inside_interface_vsocket->node();



More information about the Bf-blender-cvs mailing list