From 17d8028181e268f728ced259f7f9960b0fae7722 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Wed, 7 Sep 2022 10:24:34 +0200 Subject: Nodes: add owner_tree method to nodes --- source/blender/blenkernel/BKE_node_runtime.hh | 6 ++++++ source/blender/makesdna/DNA_node_types.h | 2 ++ 2 files changed, 8 insertions(+) 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; -- cgit v1.2.3