Blender V4.3
node_exec.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2007 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_listBase.h"
12
13#include "BLI_utildefines.h"
14
15#include "BKE_node.hh"
16
17#include "node_util.hh"
18
19#include "RNA_types.hh"
20
21struct bNode;
22struct bNodeStack;
23struct bNodeTree;
24
25/* Node execution data */
34
35/* Execution Data for each instance of node tree execution */
37 bNodeTree *nodetree; /* Back-pointer to node tree. */
38
39 int totnodes; /* total node count */
40 bNodeExec *nodeexec; /* per-node execution data */
41
43 bNodeStack *stack; /* socket data stack */
44 /* only used by material and texture trees to keep one stack for each thread */
45 ListBase *threadstack; /* one instance of the stack for each thread */
46};
47
48/* stores one stack copy for each thread (material and texture trees) */
54
57void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out);
58
60 bNodeTree *ntree,
61 bNodeInstanceKey parent_key);
These structs are the foundation for all linked lists in the library system.
void(*)(void *nodedata) NodeFreeExecFunction
Definition BKE_node.hh:205
bNodeTreeExec * ntree_exec_begin(bNodeExecContext *context, bNodeTree *ntree, bNodeInstanceKey parent_key)
Definition node_exec.cc:139
void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out)
Definition node_exec.cc:37
bNodeStack * node_get_socket_stack(bNodeStack *stack, bNodeSocket *sock)
Definition node_exec.cc:29
void ntree_exec_end(bNodeTreeExec *exec)
Definition node_exec.cc:237
static void exec(void *data, int, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)
bNodeExecData data
Definition node_exec.hh:29
bNode * node
Definition node_exec.hh:28
blender::bke::NodeFreeExecFunction free_exec_fn
Definition node_exec.hh:32
bNodeThreadStack * prev
Definition node_exec.hh:50
bNodeStack * stack
Definition node_exec.hh:51
bNodeThreadStack * next
Definition node_exec.hh:50
bNodeStack * stack
Definition node_exec.hh:43
bNodeTree * nodetree
Definition node_exec.hh:37
bNodeExec * nodeexec
Definition node_exec.hh:40
ListBase * threadstack
Definition node_exec.hh:45