|
Blender
V2.93
|
#include "DNA_listBase.h"#include "BLI_utildefines.h"#include "BKE_node.h"#include "MEM_guardedalloc.h"#include "NOD_socket.h"#include "GPU_material.h"#include "RNA_access.h"Go to the source code of this file.
Classes | |
| struct | bNodeExecContext |
| struct | bNodeExecData |
Typedefs | |
| typedef struct bNodeExecContext | bNodeExecContext |
| typedef struct bNodeExecData | bNodeExecData |
| typedef struct bNodeExecContext bNodeExecContext |
| typedef struct bNodeExecData bNodeExecData |
| 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 | ||
| ) |
| void node_free_curves | ( | struct bNode * | node | ) |
Definition at line 50 of file node_util.c.
References BKE_curvemapping_free(), and node.
Referenced by register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_huecorrect(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_tex_curve_rgb(), and register_node_type_tex_curve_time().
| void node_free_standard_storage | ( | struct bNode * | node | ) |
Definition at line 55 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_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_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_input_vector(), register_node_type_frame(), register_node_type_geo_align_rotation_to_vector(), register_node_type_geo_attribute_clamp(), register_node_type_geo_attribute_color_ramp(), register_node_type_geo_attribute_combine_xyz(), register_node_type_geo_attribute_compare(), register_node_type_geo_attribute_convert(), register_node_type_geo_attribute_map_range(), register_node_type_geo_attribute_math(), register_node_type_geo_attribute_mix(), register_node_type_geo_attribute_proximity(), register_node_type_geo_attribute_randomize(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_collection_info(), 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_object_info(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), register_node_type_geo_volume_to_mesh(), register_node_type_sh_attribute(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), 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().
| void* node_initexec_curves | ( | struct bNodeExecContext * | context, |
| struct bNode * | node, | ||
| bNodeInstanceKey | key | ||
| ) |
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 305 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().
| void node_sock_label | ( | struct bNodeSocket * | sock, |
| const char * | name | ||
| ) |
Definition at line 88 of file node_util.c.
References BLI_strncpy(), bNodeSocket::label, and MAX_NAME.
Referenced by geo_node_boolean_update(), geo_node_mesh_primitive_line_update(), node_math_update(), node_shader_update_tex_musgrave(), and node_shader_update_vector_math().
| void node_sock_label_clear | ( | struct bNodeSocket * | sock | ) |
Definition at line 93 of file node_util.c.
References bNodeSocket::label.
Referenced by node_math_update(), and node_shader_update_vector_math().
| void node_socket_get_color | ( | struct bNodeTree * | ntree, |
| struct bNode * | node, | ||
| struct bNodeSocket * | sock, | ||
| float * | value | ||
| ) |
| float node_socket_get_float | ( | struct bNodeTree * | ntree, |
| struct bNode * | node, | ||
| struct bNodeSocket * | sock | ||
| ) |
| void node_socket_get_vector | ( | 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_set_float | ( | 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 | ||
| ) |
Definition at line 503 of file node_util.c.
References BLI_addtail(), ListBase::first, bNodeLink::flag, bNodeLink::fromnode, bNodeLink::fromsock, bNodeTree::links, MEM_callocN, bNodeLink::next, node, NODE_LINK_VALID, nodeLinkIsHidden(), nodeSocketIsHidden(), ntree, NULL, output, select_internal_link_input(), SOCK_NO_INTERNAL_LINK, bNodeLink::tonode, and bNodeLink::tosock.
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().