Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2021-03-04 20:15:22 +0300
committerJacques Lucke <jacques@blender.org>2021-03-04 20:15:22 +0300
commit7d685391a0dca7ca835b14feddbf5f228cba252e (patch)
tree793e86e0ef486c97e57d9b7c34e5e154b0a0801e /source/blender/nodes/intern/derived_node_tree.cc
parentbb1f02510b69a70ab9bde68be1a4d51c47d72d57 (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.cc10
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>();