Blender
V3.3
source
blender
nodes
intern
node_multi_function.cc
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#include "
NOD_multi_function.hh
"
4
5
namespace
blender::nodes
{
6
7
NodeMultiFunctions::NodeMultiFunctions
(
const
DerivedNodeTree
&
tree
)
8
{
9
for
(
const
NodeTreeRef
*tree_ref :
tree
.used_node_tree_refs()) {
10
bNodeTree
*btree = tree_ref->btree();
11
for
(
const
NodeRef
*
node
: tree_ref->nodes()) {
12
bNode
*bnode =
node
->bnode();
13
if
(bnode->
typeinfo
->
build_multi_function
==
nullptr
) {
14
continue
;
15
}
16
NodeMultiFunctionBuilder
builder{*bnode, *btree};
17
bnode->
typeinfo
->
build_multi_function
(builder);
18
if
(builder.built_fn_ !=
nullptr
) {
19
map_.add_new(bnode, {builder.built_fn_, std::move(builder.owned_built_fn_)});
20
}
21
}
22
}
23
}
24
25
}
// namespace blender::nodes
NOD_multi_function.hh
blender::nodes::DerivedNodeTree
Definition:
NOD_derived_node_tree.hh:176
blender::nodes::NodeMultiFunctionBuilder
Definition:
NOD_multi_function.hh:20
blender::nodes::NodeMultiFunctions::NodeMultiFunctions
NodeMultiFunctions(const DerivedNodeTree &tree)
Definition:
node_multi_function.cc:7
blender::nodes::NodeRef
Definition:
NOD_node_tree_ref.hh:151
blender::nodes::NodeTreeRef
Definition:
NOD_node_tree_ref.hh:239
node
OperationNode * node
Definition:
deg_builder_cycle.cc:38
tree
void * tree
Definition:
editors/mesh/mesh_mirror.c:30
blender::nodes
Definition:
BKE_node_runtime.hh:10
bNodeTree
Definition:
DNA_node_types.h:451
bNodeType::build_multi_function
NodeMultiFunctionBuildFunction build_multi_function
Definition:
BKE_node.h:313
bNode
Definition:
DNA_node_types.h:252
bNode::typeinfo
struct bNodeType * typeinfo
Definition:
DNA_node_types.h:259
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1