Blender  V3.3
Classes | Typedefs | Functions
source/blender/nodes/intern/node_util.h File Reference

Go to the source code of this file.

Classes

struct  bNodeExecContext
 
struct  bNodeExecData
 

Typedefs

typedef struct bNodeExecContext bNodeExecContext
 
typedef struct bNodeExecData bNodeExecData
 

Functions

void node_free_curves (struct bNode *node)
 
void node_free_standard_storage (struct bNode *node)
 
void node_copy_curves (struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node)
 
void node_copy_standard_storage (struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node)
 
voidnode_initexec_curves (struct bNodeExecContext *context, struct bNode *node, bNodeInstanceKey key)
 
void node_sock_label (struct bNodeSocket *sock, const char *name)
 
void node_sock_label_clear (struct bNodeSocket *sock)
 
void node_math_update (struct bNodeTree *ntree, struct bNode *node)
 
void node_blend_label (const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
 
void node_image_label (const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
 
void node_math_label (const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
 
void node_vector_math_label (const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
 
void node_filter_label (const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
 
void node_combsep_color_label (const ListBase *sockets, NodeCombSepColorMode mode)
 
void node_insert_link_default (struct bNodeTree *ntree, struct bNode *node, struct bNodeLink *link)
 
float node_socket_get_float (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
 
void node_socket_set_float (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, float value)
 
void node_socket_get_color (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, float *value)
 
void node_socket_set_color (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, const float *value)
 
void node_socket_get_vector (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, float *value)
 
void node_socket_set_vector (struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock, const float *value)
 

Typedef Documentation

◆ bNodeExecContext

◆ bNodeExecData

typedef struct bNodeExecData bNodeExecData

Function Documentation

◆ node_blend_label()

void node_blend_label ( const struct bNodeTree ntree,
const struct bNode node,
char *  label,
int  maxlen 
)

◆ node_combsep_color_label()

void node_combsep_color_label ( const ListBase sockets,
NodeCombSepColorMode  mode 
)

◆ node_copy_curves()

void node_copy_curves ( struct bNodeTree dest_ntree,
struct bNode dest_node,
const struct bNode src_node 
)

◆ node_copy_standard_storage()

void node_copy_standard_storage ( struct bNodeTree dest_ntree,
struct bNode dest_node,
const struct bNode src_node 
)

◆ node_filter_label()

void node_filter_label ( const struct bNodeTree ntree,
const struct bNode node,
char *  label,
int  maxlen 
)

◆ node_free_curves()

void node_free_curves ( struct bNode node)

◆ node_free_standard_storage()

void node_free_standard_storage ( struct bNode node)

Definition at line 43 of file node_util.c.

References MEM_freeN, and node.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combine_color(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_crop(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_glare(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mask(), register_node_type_cmp_movieclip(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_separate_color(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_sunbeams(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_viewer(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_separate_color(), register_node_type_frame(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_collection_info(), register_node_type_geo_curve_fill(), register_node_type_geo_curve_fillet(), register_node_type_geo_curve_handle_type_selection(), register_node_type_geo_curve_primitive_arc(), register_node_type_geo_curve_primitive_bezier_segment(), register_node_type_geo_curve_primitive_circle(), register_node_type_geo_curve_primitive_line(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_delete_geometry(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_image_texture(), register_node_type_geo_input_named_attribute(), register_node_type_geo_merge_by_distance(), register_node_type_geo_mesh_primitive_circle(), register_node_type_geo_mesh_primitive_cone(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_to_points(), register_node_type_geo_mesh_to_volume(), register_node_type_geo_object_info(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_to_curves(), register_node_type_geo_subdivision_surface(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_to_mesh(), register_node_type_sh_attribute(), register_node_type_sh_combcolor(), register_node_type_sh_map_range(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_sepcolor(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_transform(), register_node_type_sh_vertex_color(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

◆ node_image_label()

void node_image_label ( const struct bNodeTree ntree,
const struct bNode node,
char *  label,
int  maxlen 
)

◆ node_initexec_curves()

void* node_initexec_curves ( struct bNodeExecContext context,
struct bNode node,
bNodeInstanceKey  key 
)

◆ node_insert_link_default()

void node_insert_link_default ( struct bNodeTree ntree,
struct bNode node,
struct bNodeLink link 
)

The idea behind this is: When a user connects an input to a socket that is already linked (and if its not an Multi Input Socket), we try to find a replacement socket for the link that we try to overwrite and connect that previous link to the new socket.

Definition at line 326 of file node_util.c.

References bNodeTree::links, LISTBASE_FOREACH_MUTABLE, node, node_find_linkable_socket(), nodeRemLink(), nodeSocketLinkLimit(), ntree, NULL, bNodeLink::tonode, bNodeLink::tosock, and bNodeSocket::total_inputs.

Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), register_node_type_cmp_custom_group(), register_node_type_cmp_group(), register_node_type_geo_custom_group(), register_node_type_geo_group(), register_node_type_sh_custom_group(), register_node_type_sh_group(), register_node_type_tex_group(), sh_node_type_base(), and tex_node_type_base().

◆ node_math_label()

void node_math_label ( const struct bNodeTree ntree,
const struct bNode node,
char *  label,
int  maxlen 
)

◆ node_math_update()

void node_math_update ( struct bNodeTree ntree,
struct bNode node 
)

◆ node_sock_label()

void node_sock_label ( struct bNodeSocket sock,
const char *  name 
)

◆ node_sock_label_clear()

void node_sock_label_clear ( struct bNodeSocket sock)

◆ node_socket_get_color()

void node_socket_get_color ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
float value 
)

◆ node_socket_get_float()

float node_socket_get_float ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock 
)

◆ node_socket_get_vector()

void node_socket_get_vector ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
float value 
)

◆ node_socket_set_color()

void node_socket_set_color ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
const float value 
)

◆ node_socket_set_float()

void node_socket_set_float ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
float  value 
)

◆ node_socket_set_vector()

void node_socket_set_vector ( struct bNodeTree ntree,
struct bNode node,
struct bNodeSocket sock,
const float value 
)

◆ node_vector_math_label()

void node_vector_math_label ( const struct bNodeTree ntree,
const struct bNode node,
char *  label,
int  maxlen 
)