diff options
author | Jacques Lucke <jacques@blender.org> | 2020-07-10 15:20:39 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-07-10 15:23:13 +0300 |
commit | 60133ff98d8602f0a4a2199c76fdbd42820d1233 (patch) | |
tree | 3b15b489bcab29e1227411b1605aa2c3473430c9 /source/blender | |
parent | 295b3aefb0bd884ebec7f838b9dffcbcce3b4eea (diff) |
Functions: store derived node tree and network in map for future access
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_node_tree_multi_function.hh | 18 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/node_tree_multi_function.cc | 2 |
2 files changed, 17 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_node_tree_multi_function.hh b/source/blender/blenkernel/BKE_node_tree_multi_function.hh index 34809a5f506..ed5b04692db 100644 --- a/source/blender/blenkernel/BKE_node_tree_multi_function.hh +++ b/source/blender/blenkernel/BKE_node_tree_multi_function.hh @@ -56,16 +56,30 @@ class MFNetworkTreeMap { * Input sockets in a node tree can have multiple corresponding sockets in the generated * MFNetwork. This is because nodes are allowed to expand into multiple multi-function nodes. */ + const DerivedNodeTree &m_tree; + fn::MFNetwork &m_network; Array<Vector<fn::MFSocket *, 1>> m_sockets_by_dsocket_id; Array<fn::MFOutputSocket *> m_socket_by_group_input_id; public: - MFNetworkTreeMap(const DerivedNodeTree &tree) - : m_sockets_by_dsocket_id(tree.sockets().size()), + MFNetworkTreeMap(const DerivedNodeTree &tree, fn::MFNetwork &network) + : m_tree(tree), + m_network(network), + m_sockets_by_dsocket_id(tree.sockets().size()), m_socket_by_group_input_id(tree.group_inputs().size(), nullptr) { } + const DerivedNodeTree &tree() const + { + return m_tree; + } + + const fn::MFNetwork &network() const + { + return m_network; + } + void add(const DSocket &dsocket, fn::MFSocket &socket) { BLI_assert(dsocket.is_input() == socket.is_input()); diff --git a/source/blender/blenkernel/intern/node_tree_multi_function.cc b/source/blender/blenkernel/intern/node_tree_multi_function.cc index 7beff6b15c1..02437d98732 100644 --- a/source/blender/blenkernel/intern/node_tree_multi_function.cc +++ b/source/blender/blenkernel/intern/node_tree_multi_function.cc @@ -217,7 +217,7 @@ MFNetworkTreeMap insert_node_tree_into_mf_network(fn::MFNetwork &network, const DerivedNodeTree &tree, ResourceCollector &resources) { - MFNetworkTreeMap network_map{tree}; + MFNetworkTreeMap network_map{tree, network}; CommonMFNetworkBuilderData common{resources, network, network_map, tree}; |