diff options
author | Jacques Lucke <jacques@blender.org> | 2021-03-03 10:23:41 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-03-03 10:23:41 +0300 |
commit | a88e504fbd1d3720ddf4f4bc44ecc585d4eb3c0b (patch) | |
tree | 7dd24fe69948f497bf88e94d76f1ed746f88f167 | |
parent | cae115835f1368560999522aa54663da91c98c2e (diff) |
cleanup
-rw-r--r-- | source/blender/nodes/NOD_node_tree_ref.hh | 2 | ||||
-rw-r--r-- | source/blender/nodes/intern/derived_node_tree.cc | 10 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_tree_ref.cc | 6 |
3 files changed, 10 insertions, 8 deletions
diff --git a/source/blender/nodes/NOD_node_tree_ref.hh b/source/blender/nodes/NOD_node_tree_ref.hh index 5bc09993a51..94a2daf9ffa 100644 --- a/source/blender/nodes/NOD_node_tree_ref.hh +++ b/source/blender/nodes/NOD_node_tree_ref.hh @@ -219,6 +219,8 @@ class NodeTreeRef : NonCopyable, NonMovable { using NodeTreeRefMap = Map<bNodeTree *, std::unique_ptr<const NodeTreeRef>>; +const NodeTreeRef &get_tree_ref_from_map(NodeTreeRefMap &node_tree_refs, bNodeTree &btree); + /* -------------------------------------------------------------------- * SocketRef inline methods. */ diff --git a/source/blender/nodes/intern/derived_node_tree.cc b/source/blender/nodes/intern/derived_node_tree.cc index f5a0e14f18b..5c04dbf1f41 100644 --- a/source/blender/nodes/intern/derived_node_tree.cc +++ b/source/blender/nodes/intern/derived_node_tree.cc @@ -22,17 +22,11 @@ namespace blender::nodes { -static const NodeTreeRef &get_tree_ref(NodeTreeRefMap &node_tree_refs, bNodeTree *btree) -{ - return *node_tree_refs.lookup_or_add_cb(btree, - [&]() { return std::make_unique<NodeTreeRef>(btree); }); -} - DerivedNodeTree::DerivedNodeTree(bNodeTree *btree, NodeTreeRefMap &node_tree_refs) : btree_(btree) { BLI_assert(btree != nullptr); - const NodeTreeRef &main_tree_ref = get_tree_ref(node_tree_refs, btree); + const NodeTreeRef &main_tree_ref = get_tree_ref_from_map(node_tree_refs, *btree); used_node_tree_refs_.add_new(&main_tree_ref); Vector<DNode *> all_nodes; @@ -144,7 +138,7 @@ BLI_NOINLINE void DerivedNodeTree::expand_group_node(DNode &group_node, return; } - const NodeTreeRef &group_ref = get_tree_ref(node_tree_refs, btree); + const NodeTreeRef &group_ref = get_tree_ref_from_map(node_tree_refs, *btree); used_node_tree_refs_.add(&group_ref); DParentNode &parent = *allocator_.construct<DParentNode>(); diff --git a/source/blender/nodes/intern/node_tree_ref.cc b/source/blender/nodes/intern/node_tree_ref.cc index e174f096ff7..33b722967fd 100644 --- a/source/blender/nodes/intern/node_tree_ref.cc +++ b/source/blender/nodes/intern/node_tree_ref.cc @@ -229,4 +229,10 @@ std::string NodeTreeRef::to_dot() const return digraph.to_dot_string(); } +const NodeTreeRef &get_tree_ref_from_map(NodeTreeRefMap &node_tree_refs, bNodeTree &btree) +{ + return *node_tree_refs.lookup_or_add_cb(&btree, + [&]() { return std::make_unique<NodeTreeRef>(&btree); }); +} + } // namespace blender::nodes |