diff options
author | Jacques Lucke <jacques@blender.org> | 2021-03-04 20:15:22 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-03-04 20:15:22 +0300 |
commit | 7d685391a0dca7ca835b14feddbf5f228cba252e (patch) | |
tree | 793e86e0ef486c97e57d9b7c34e5e154b0a0801e /source/blender/nodes/intern/derived_node_tree.cc | |
parent | bb1f02510b69a70ab9bde68be1a4d51c47d72d57 (diff) |
Nodes: improve NodeTreeRef
This adds a couple more utility methods to various node tree ref types.
Also `InternalLinkRef` has been added to get simpler access to internal links.
Diffstat (limited to 'source/blender/nodes/intern/derived_node_tree.cc')
-rw-r--r-- | source/blender/nodes/intern/derived_node_tree.cc | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/source/blender/nodes/intern/derived_node_tree.cc b/source/blender/nodes/intern/derived_node_tree.cc index 7934104f84b..a65641bca2a 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>(); |