Blender V5.0
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
8
9#pragma once
10
11#include "DNA_node_types.h"
12
13#include "BKE_node.hh"
14
15struct bNode;
16struct bNodeTree;
17struct bContext;
18
19/* data for initializing node execution */
21
23 void *data; /* custom data storage */
24};
25
26/**** Storage Data ****/
27
28void node_free_curves(bNode *node);
30
31void node_copy_curves(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node);
32void node_copy_standard_storage(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node);
34
35/**** Updates ****/
36void node_sock_label(bNodeSocket *sock, const char *name);
38void node_math_update(bNodeTree *ntree, bNode *node);
39
40/**** Labels ****/
41void node_blend_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
42void node_image_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
43void node_math_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy);
44void node_vector_math_label(const bNodeTree *ntree,
45 const bNode *node,
46 char *label,
47 int label_maxncpy);
49
50/*** Link Handling */
51
56
57int node_socket_get_int(bNodeTree *ntree, bNode *node, bNodeSocket *sock);
58void node_socket_set_int(bNodeTree *ntree, bNode *node, bNodeSocket *sock, int value);
59bool node_socket_get_bool(bNodeTree *ntree, bNode *node, bNodeSocket *sock);
60void node_socket_set_bool(bNodeTree *ntree, bNode *node, bNodeSocket *sock, bool value);
61float node_socket_get_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock);
62void node_socket_set_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float value);
63void node_socket_get_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value);
64void node_socket_set_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value);
65void node_socket_get_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value);
66void node_socket_set_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value);
NodeCombSepColorMode
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
void node_sock_label_clear(bNodeSocket *sock)
Definition node_util.cc:78
void * node_initexec_curves(bNodeExecContext *context, bNode *node, bNodeInstanceKey key)
Definition node_util.cc:61
void node_sock_label(bNodeSocket *sock, const char *name)
Definition node_util.cc:73
void node_math_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:201
void node_socket_set_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float value)
Definition node_util.cc:307
void node_free_standard_storage(bNode *node)
Definition node_util.cc:42
bool node_socket_get_bool(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
Definition node_util.cc:289
void node_image_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:189
void node_copy_standard_storage(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)
Definition node_util.cc:54
void node_free_curves(bNode *node)
Definition node_util.cc:37
void node_math_update(bNodeTree *ntree, bNode *node)
Definition node_util.cc:85
void node_socket_get_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value)
Definition node_util.cc:328
void node_vector_math_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:214
void node_socket_set_bool(bNodeTree *ntree, bNode *node, bNodeSocket *sock, bool value)
Definition node_util.cc:295
void node_combsep_color_label(const ListBase *sockets, NodeCombSepColorMode mode)
Definition node_util.cc:227
void node_socket_set_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value)
Definition node_util.cc:319
void node_socket_get_color(bNodeTree *ntree, bNode *node, bNodeSocket *sock, float *value)
Definition node_util.cc:313
void node_blend_label(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
Definition node_util.cc:176
bool node_insert_link_default(blender::bke::NodeInsertLinkParams &params)
Definition node_util.cc:266
int node_socket_get_int(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
Definition node_util.cc:277
float node_socket_get_float(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
Definition node_util.cc:301
void node_socket_set_int(bNodeTree *ntree, bNode *node, bNodeSocket *sock, int value)
Definition node_util.cc:283
void node_copy_curves(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node)
Definition node_util.cc:49
void node_socket_set_vector(bNodeTree *ntree, bNode *node, bNodeSocket *sock, const float *value)
Definition node_util.cc:334
const char * name