Blender V5.0
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
8
9#pragma once
10
11#include "DNA_listBase.h"
12
13#include "BKE_node.hh"
14
15#include "node_util.hh"
16
17struct bNode;
18struct bNodeStack;
19struct bNodeTree;
20
21/* Node execution data */
30
31/* Execution Data for each instance of node tree execution */
33 bNodeTree *nodetree; /* Back-pointer to node tree. */
34
35 int totnodes; /* total node count */
36 bNodeExec *nodeexec; /* per-node execution data */
37
39 bNodeStack *stack; /* socket data stack */
40 /* only used by material and texture trees to keep one stack for each thread */
41 ListBase *threadstack; /* one instance of the stack for each thread */
42};
43
44/* stores one stack copy for each thread (material and texture trees) */
50
53void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out);
54
56 bNodeTree *ntree,
57 bNodeInstanceKey parent_key);
These structs are the foundation for all linked lists in the library system.
#define in
#define out
void(*)(void *nodedata) NodeFreeExecFunction
Definition BKE_node.hh:217
bNodeTreeExec * ntree_exec_begin(bNodeExecContext *context, bNodeTree *ntree, bNodeInstanceKey parent_key)
Definition node_exec.cc:183
void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out)
Definition node_exec.cc:38
bNodeStack * node_get_socket_stack(bNodeStack *stack, bNodeSocket *sock)
Definition node_exec.cc:30
void ntree_exec_end(bNodeTreeExec *exec)
Definition node_exec.cc:277
static void exec(void *data, int, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)
bNodeExecData data
Definition node_exec.hh:25
bNode * node
Definition node_exec.hh:24
blender::bke::NodeFreeExecFunction free_exec_fn
Definition node_exec.hh:28
bNodeThreadStack * prev
Definition node_exec.hh:46
bNodeStack * stack
Definition node_exec.hh:47
bNodeThreadStack * next
Definition node_exec.hh:46
bNodeStack * stack
Definition node_exec.hh:39
bNodeTree * nodetree
Definition node_exec.hh:33
bNodeExec * nodeexec
Definition node_exec.hh:36
ListBase * threadstack
Definition node_exec.hh:41