[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