[Bf-blender-cvs] [288b562e46b] functions: cleanup
Jacques Lucke
noreply at git.blender.org
Tue Nov 26 17:31:56 CET 2019
Commit: 288b562e46b2dca93c1d131c2df3990dde922222
Author: Jacques Lucke
Date: Tue Nov 26 16:41:31 2019 +0100
Branches: functions
https://developer.blender.org/rB288b562e46b2dca93c1d131c2df3990dde922222
cleanup
===================================================================
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 5f77af3fd52..8fe82afb8d6 100644
--- a/source/blender/blenkernel/BKE_inlined_node_tree.h
+++ b/source/blender/blenkernel/BKE_inlined_node_tree.h
@@ -146,6 +146,10 @@ class InlinedNodeTree : BLI::NonCopyable, BLI::NonMovable {
void to_dot__clipboard() const;
private:
+ void expand_groups(Vector<XNode *> &all_nodes,
+ Vector<XGroupInput *> &all_group_inputs,
+ Vector<XParentNode *> &all_parent_nodes,
+ BTreeVTreeMap &vtrees);
void expand_group_node(XNode &group_node,
Vector<XNode *> &all_nodes,
Vector<XGroupInput *> &all_group_inputs,
diff --git a/source/blender/blenkernel/intern/inlined_node_tree.cc b/source/blender/blenkernel/intern/inlined_node_tree.cc
index 1df721dfb1f..58751383c09 100644
--- a/source/blender/blenkernel/intern/inlined_node_tree.cc
+++ b/source/blender/blenkernel/intern/inlined_node_tree.cc
@@ -102,14 +102,7 @@ InlinedNodeTree::InlinedNodeTree(bNodeTree *btree, BTreeVTreeMap &vtrees) : m_bt
Vector<XParentNode *> all_parent_nodes;
this->insert_linked_nodes_for_vtree_in_id_order(main_vtree, all_nodes, nullptr);
-
- /* Expand node groups one after another. */
- for (uint i = 0; i < all_nodes.size(); i++) {
- XNode ¤t_node = *all_nodes[i];
- if (is_group_node(*current_node.m_vnode)) {
- this->expand_group_node(current_node, all_nodes, all_group_inputs, all_parent_nodes, vtrees);
- }
- }
+ this->expand_groups(all_nodes, all_group_inputs, all_parent_nodes, vtrees);
/* Remove unused nodes. */
for (int i = 0; i < all_nodes.size(); i++) {
@@ -142,6 +135,19 @@ InlinedNodeTree::InlinedNodeTree(bNodeTree *btree, BTreeVTreeMap &vtrees) : m_bt
}
}
+BLI_NOINLINE void InlinedNodeTree::expand_groups(Vector<XNode *> &all_nodes,
+ Vector<XGroupInput *> &all_group_inputs,
+ Vector<XParentNode *> &all_parent_nodes,
+ BTreeVTreeMap &vtrees)
+{
+ for (uint i = 0; i < all_nodes.size(); i++) {
+ XNode ¤t_node = *all_nodes[i];
+ if (is_group_node(*current_node.m_vnode)) {
+ this->expand_group_node(current_node, all_nodes, all_group_inputs, all_parent_nodes, vtrees);
+ }
+ }
+}
+
void XNode::destruct_with_sockets()
{
for (XInputSocket *socket : m_inputs) {
More information about the Bf-blender-cvs
mailing list