158 ntree->ensure_topology_cache();
159 const Span<bNode *> nodelist = ntree->toposort_left_to_right();
162 exec = MEM_cnew<bNodeTreeExec>(
"node tree execution data");
164 exec->nodetree = ntree;
191 "node execution data");
193 exec->stacksize = index;
198 for (n = 0; n <
exec->stacksize; n++) {
199 exec->stack[n].hasinput = 1;
203 for (n = 0, nodeexec =
exec->nodeexec; n < nodelist.
size(); n++, nodeexec++) {
204 node = nodeexec->
node = nodelist[n];
211 node->runtime->need_exec = 0;
225 nodekey = bke::node_instance_key(parent_key, ntree, node);
227 context->previews, nodekey) :
229 if (node->typeinfo->init_exec_fn) {
230 nodeexec->
data.
data = node->typeinfo->init_exec_fn(context, node, nodekey);
static void exec(void *data, int, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)