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>2022-09-07 11:24:34 +0300
committerJacques Lucke <jacques@blender.org>2022-09-07 11:24:51 +0300
commit17d8028181e268f728ced259f7f9960b0fae7722 (patch)
treefedf4dc1ce28e83b8b17f1ecbcd6b95076bdedea
parent2b43173fa922b04e5e1db092964aa6c263450667 (diff)
Nodes: add owner_tree method to nodes
-rw-r--r--source/blender/blenkernel/BKE_node_runtime.hh6
-rw-r--r--source/blender/makesdna/DNA_node_types.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_node_runtime.hh b/source/blender/blenkernel/BKE_node_runtime.hh
index 49a6953d0a3..f2e551a9f32 100644
--- a/source/blender/blenkernel/BKE_node_runtime.hh
+++ b/source/blender/blenkernel/BKE_node_runtime.hh
@@ -361,6 +361,12 @@ inline const bNodeSocket &bNode::output_by_identifier(blender::StringRef identif
return *this->runtime->outputs_by_identifier.lookup_as(identifier);
}
+inline const bNodeTree &bNode::owner_tree() const
+{
+ BLI_assert(blender::bke::node_tree_runtime::topology_cache_is_available(*this));
+ return *this->runtime->owner_tree;
+}
+
inline blender::StringRefNull bNode::label_or_name() const
{
if (this->label[0] == '\0') {
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 67ff6586de0..28bbd3a3e4e 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -410,6 +410,8 @@ typedef struct bNode {
/** Lookup socket of this node by its identifier. */
const bNodeSocket &input_by_identifier(blender::StringRef identifier) const;
const bNodeSocket &output_by_identifier(blender::StringRef identifier) const;
+ /** Node tree this node belongs to. */
+ const bNodeTree &owner_tree() const;
#endif
} bNode;