Blender V4.3
node_util.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
11struct bNode;
12namespace blender::bke {
13struct bNodeInstanceHash;
14}
15struct bNodeTree;
16
17/* data for initializing node execution */
21
23 void *data; /* custom data storage */
24 bNodePreview *preview; /* optional preview image */
25};
26
27/**** Storage Data ****/
28
29void node_free_curves(bNode *node);
31
32void node_copy_curves(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node);
33void node_copy_standard_storage(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node);
35
36/**** Updates ****/
37void node_sock_label(bNodeSocket *sock, const char *name);
39void node_math_update(bNodeTree *ntree, bNode *node);
40
41/**** Labels ****/
42void node_blend_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
43void node_image_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
44void node_math_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
45void node_vector_math_label(const bNodeTree *ntree,
46 const bNode *node,
47 char *label,
48 int label_maxncpy);
49void node_filter_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
51
52/*** Link Handling */
53
57bool node_insert_link_default(bNodeTree *ntree, bNode *node, bNodeLink *link);
58
59float node_socket_get_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock);
60void node_socket_set_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float value);
61void node_socket_get_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value);
62void node_socket_set_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value);
63void node_socket_get_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value);
64void node_socket_set_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value);
NodeCombSepColorMode
const char * label
void node_sock_label_clear(bNodeSocket *sock)
Definition node_util.cc:82
void * node_initexec_curves(bNodeExecContext *context, bNode *node, bNodeInstanceKey key)
Definition node_util.cc:65
void node_sock_label(bNodeSocket *sock, const char *name)
Definition node_util.cc:77
void node_math_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:203
void node_socket_set_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float value)
Definition node_util.cc:300
void node_free_standard_storage(bNode *node)
Definition node_util.cc:46
void node_filter_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:229
void node_image_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:193
bool node_insert_link_default(bNodeTree *ntree, bNode *node, bNodeLink *link)
Definition node_util.cc:281
void node_copy_standard_storage(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)
Definition node_util.cc:58
void node_free_curves(bNode *node)
Definition node_util.cc:41
void node_math_update(bNodeTree *ntree, bNode *node)
Definition node_util.cc:89
void node_socket_get_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value)
Definition node_util.cc:321
void node_vector_math_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:216
void node_combsep_color_label(const ListBase *sockets, NodeCombSepColorMode mode)
Definition node_util.cc:242
void node_socket_set_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value)
Definition node_util.cc:312
void node_socket_get_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value)
Definition node_util.cc:306
void node_blend_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:180
float node_socket_get_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
Definition node_util.cc:294
void node_copy_curves(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)
Definition node_util.cc:53
void node_socket_set_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value)
Definition node_util.cc:327
blender::bke::bNodeInstanceHash * previews
Definition node_util.hh:19
bNodePreview * preview
Definition node_util.hh:24