Blender  V3.3
Public Attributes | List of all members
bNodeType Struct Reference

Defines a node type. More...

#include <BKE_node.h>

Public Attributes

char idname [64]
 
int type
 
char ui_name [64]
 
char ui_description [256]
 
int ui_icon
 
float width
 
float minwidth
 
float maxwidth
 
float height
 
float minheight
 
float maxheight
 
short nclass
 
short flag
 
bNodeSocketTemplateinputs
 
bNodeSocketTemplateoutputs
 
char storagename [64]
 
void(* draw_buttons )(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
 
void(* draw_buttons_ex )(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
 
void(* draw_backdrop )(struct SpaceNode *snode, struct ImBuf *backdrop, struct bNode *node, int x, int y)
 
void(* labelfunc )(const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
 
int(* ui_class )(const struct bNode *node)
 
void(* updatefunc )(struct bNodeTree *ntree, struct bNode *node)
 
void(* group_update_func )(struct bNodeTree *ntree, struct bNode *node)
 
void(* initfunc )(struct bNodeTree *ntree, struct bNode *node)
 
void(* freefunc )(struct bNode *node)
 
void(* copyfunc )(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node)
 
void(* initfunc_api )(const struct bContext *C, struct PointerRNA *ptr)
 
void(* freefunc_api )(struct PointerRNA *ptr)
 
void(* copyfunc_api )(struct PointerRNA *ptr, const struct bNode *src_node)
 
bool(* poll )(struct bNodeType *ntype, struct bNodeTree *nodetree, const char **r_disabled_hint)
 
bool(* poll_instance )(struct bNode *node, struct bNodeTree *nodetree, const char **r_disabled_hint)
 
void(* insert_link )(struct bNodeTree *ntree, struct bNode *node, struct bNodeLink *link)
 
void(* free_self )(struct bNodeType *ntype)
 
NodeInitExecFunction init_exec_fn
 
NodeFreeExecFunction free_exec_fn
 
NodeExecFunction exec_fn
 
NodeGPUExecFunction gpu_fn
 
NodeMultiFunctionBuildFunction build_multi_function
 
NodeGeometryExecFunction geometry_node_execute
 
bool geometry_node_execute_supports_laziness
 
NodeDeclareFunction declare
 
bool declaration_is_dynamic
 
NodeDeclarationHandlefixed_declaration
 
NodeGatherSocketLinkOperationsFunction gather_link_search_ops
 
bool no_muting
 
ExtensionRNA rna_ext
 

Detailed Description

Defines a node type.

Initial attributes and constants for a node as well as callback functions implementing the node behavior.

Definition at line 226 of file BKE_node.h.

Member Data Documentation

◆ build_multi_function

NodeMultiFunctionBuildFunction bNodeType::build_multi_function

Definition at line 313 of file BKE_node.h.

Referenced by blender::nodes::NodeMultiFunctions::NodeMultiFunctions(), register_node_type_fn_align_euler_to_vector(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_float_to_int(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_special_characters(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_replace_string(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_fn_slice_string(), register_node_type_fn_string_length(), register_node_type_fn_value_to_string(), register_node_type_sh_clamp(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_map_range(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), and register_node_type_sh_vector_rotate().

◆ copyfunc

void(* bNodeType::copyfunc) (struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node)

Make a copy of the node instance.

Definition at line 274 of file BKE_node.h.

Referenced by blender::bke::node_copy_with_mapping(), and node_type_storage().

◆ copyfunc_api

void(* bNodeType::copyfunc_api) (struct PointerRNA *ptr, const struct bNode *src_node)

Definition at line 281 of file BKE_node.h.

Referenced by blender::bke::node_copy_with_mapping().

◆ declaration_is_dynamic

bool bNodeType::declaration_is_dynamic

Definition at line 326 of file BKE_node.h.

Referenced by nodeRegisterType(), and blender::nodes::search_link_ops_for_basic_node().

◆ declare

NodeDeclareFunction bNodeType::declare

Definition at line 324 of file BKE_node.h.

Referenced by node_add_sockets_from_type(), node_verify_sockets(), nodeRegisterType(), register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), 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_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), 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_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_fn_align_euler_to_vector(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_float_to_int(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_special_characters(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_replace_string(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_fn_slice_string(), register_node_type_fn_string_length(), register_node_type_fn_value_to_string(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_convex_hull(), register_node_type_geo_curve_endpoint_selection(), 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_length(), 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_quadratic_bezier(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_primitive_spiral(), register_node_type_geo_curve_primitive_star(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_reverse(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_parameter(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_subdivide(), register_node_type_geo_curve_to_mesh(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_deform_curves_on_surface(), register_node_type_geo_delete_geometry(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_dual_mesh(), register_node_type_geo_duplicate_elements(), register_node_type_geo_edge_paths_to_curves(), register_node_type_geo_edge_paths_to_selection(), register_node_type_geo_edge_split(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_flip_faces(), register_node_type_geo_geometry_to_instance(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_curve_tilt(), register_node_type_geo_input_id(), register_node_type_geo_input_index(), register_node_type_geo_input_instance_rotation(), register_node_type_geo_input_instance_scale(), register_node_type_geo_input_material(), register_node_type_geo_input_material_index(), register_node_type_geo_input_mesh_edge_angle(), register_node_type_geo_input_mesh_edge_neighbors(), register_node_type_geo_input_mesh_edge_vertices(), register_node_type_geo_input_mesh_face_area(), register_node_type_geo_input_mesh_face_is_planar(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_input_mesh_island(), register_node_type_geo_input_mesh_vertex_neighbors(), register_node_type_geo_input_named_attribute(), register_node_type_geo_input_normal(), register_node_type_geo_input_position(), register_node_type_geo_input_radius(), register_node_type_geo_input_scene_time(), register_node_type_geo_input_shade_smooth(), register_node_type_geo_input_shortest_edge_paths(), register_node_type_geo_input_spline_cyclic(), register_node_type_geo_input_spline_length(), register_node_type_geo_input_spline_resolution(), register_node_type_geo_input_tangent(), register_node_type_geo_instance_on_points(), register_node_type_geo_instances_to_points(), register_node_type_geo_interpolate_domain(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), register_node_type_geo_material_replace(), register_node_type_geo_material_selection(), 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_cube(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_grid(), register_node_type_geo_mesh_primitive_ico_sphere(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_primitive_uv_sphere(), register_node_type_geo_mesh_subdivide(), register_node_type_geo_mesh_to_curve(), 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(), register_node_type_geo_points_to_vertices(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_realize_instances(), register_node_type_geo_remove_attribute(), register_node_type_geo_rotate_instances(), register_node_type_geo_scale_elements(), register_node_type_geo_scale_instances(), register_node_type_geo_separate_components(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_set_curve_radius(), register_node_type_geo_set_curve_tilt(), register_node_type_geo_set_id(), register_node_type_geo_set_material(), register_node_type_geo_set_material_index(), register_node_type_geo_set_point_radius(), register_node_type_geo_set_position(), register_node_type_geo_set_shade_smooth(), register_node_type_geo_set_spline_cyclic(), register_node_type_geo_set_spline_resolution(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_join(), 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_transform(), register_node_type_geo_translate_instances(), register_node_type_geo_triangulate(), register_node_type_geo_uv_pack_islands(), register_node_type_geo_uv_unwrap(), register_node_type_geo_viewer(), register_node_type_geo_volume_cube(), register_node_type_geo_volume_to_mesh(), register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), 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_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), register_node_type_sh_wireframe(), blender::nodes::search_link_ops_for_basic_node(), and blender::ed::space_node::ui_node_link_items().

◆ draw_backdrop

void(* bNodeType::draw_backdrop) (struct SpaceNode *snode, struct ImBuf *backdrop, struct bNode *node, int x, int y)

Definition at line 249 of file BKE_node.h.

Referenced by blender::ed::space_node::node_composit_set_butfunc().

◆ draw_buttons

void(* bNodeType::draw_buttons) (struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)

Definition at line 244 of file BKE_node.h.

Referenced by ED_node_init_butfuncs(), blender::ed::space_node::node_common_set_butfunc(), blender::ed::space_node::node_composit_set_butfunc(), blender::ed::space_node::node_shader_set_butfunc(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::node_texture_set_butfunc(), register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), 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_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_crop(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_glare(), register_node_type_cmp_idmask(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), 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_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_premulkey(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_fn_align_euler_to_vector(), register_node_type_fn_boolean_math(), register_node_type_fn_combine_color(), register_node_type_fn_compare(), register_node_type_fn_float_to_int(), register_node_type_fn_input_bool(), register_node_type_fn_input_color(), register_node_type_fn_input_int(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_value(), register_node_type_fn_rotate_euler(), register_node_type_fn_separate_color(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), 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_distribute_points_on_faces(), register_node_type_geo_duplicate_elements(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_image_texture(), register_node_type_geo_input_material(), register_node_type_geo_input_named_attribute(), register_node_type_geo_interpolate_domain(), 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_scale_elements(), 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_triangulate(), register_node_type_geo_uv_unwrap(), register_node_type_geo_volume_to_mesh(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_bevel(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bump(), register_node_type_sh_clamp(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_normal_map(), register_node_type_sh_output_aov(), register_node_type_sh_output_linestyle(), register_node_type_sh_script(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_wireframe(), and blender::ed::space_node::ui_node_draw_input().

◆ draw_buttons_ex

void(* bNodeType::draw_buttons_ex) (struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)

◆ exec_fn

NodeExecFunction bNodeType::exec_fn

Definition at line 308 of file BKE_node.h.

Referenced by node_type_exec().

◆ fixed_declaration

NodeDeclarationHandle* bNodeType::fixed_declaration

◆ flag

short bNodeType::flag

◆ free_exec_fn

NodeFreeExecFunction bNodeType::free_exec_fn

Definition at line 307 of file BKE_node.h.

Referenced by node_type_exec().

◆ free_self

void(* bNodeType::free_self) (struct bNodeType *ntype)

◆ freefunc

void(* bNodeType::freefunc) (struct bNode *node)

Free the node instance.

Definition at line 272 of file BKE_node.h.

Referenced by node_type_storage().

◆ freefunc_api

void(* bNodeType::freefunc_api) (struct PointerRNA *ptr)

Definition at line 280 of file BKE_node.h.

◆ gather_link_search_ops

NodeGatherSocketLinkOperationsFunction bNodeType::gather_link_search_ops

Add to the list of search names and operations gathered by node link drag searching. Usually it isn't necessary to override the default behavior here, but a node type can have custom behavior here like adding custom search items.

Definition at line 335 of file BKE_node.h.

Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_fn_boolean_math(), register_node_type_fn_compare(), register_node_type_fn_random_value(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_statistic(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_trim(), register_node_type_geo_field_at_index(), register_node_type_geo_input_named_attribute(), register_node_type_geo_interpolate_domain(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_raycast(), register_node_type_geo_store_named_attribute(), register_node_type_geo_switch(), register_node_type_geo_transfer_attribute(), register_node_type_geo_viewer(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_map_range(), register_node_type_sh_math(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_tex_sky(), register_node_type_sh_vect_math(), sh_fn_node_type_base(), and sh_node_type_base().

◆ geometry_node_execute

NodeGeometryExecFunction bNodeType::geometry_node_execute

Definition at line 316 of file BKE_node.h.

Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_geometry_node(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_node(), register_node_type_geo_accumulate_field(), register_node_type_geo_attribute_capture(), register_node_type_geo_attribute_domain_size(), register_node_type_geo_attribute_statistic(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_convex_hull(), register_node_type_geo_curve_endpoint_selection(), 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_length(), 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_quadratic_bezier(), register_node_type_geo_curve_primitive_quadrilateral(), register_node_type_geo_curve_primitive_spiral(), register_node_type_geo_curve_primitive_star(), register_node_type_geo_curve_resample(), register_node_type_geo_curve_reverse(), register_node_type_geo_curve_sample(), register_node_type_geo_curve_set_handle_type(), register_node_type_geo_curve_spline_parameter(), register_node_type_geo_curve_spline_type(), register_node_type_geo_curve_subdivide(), register_node_type_geo_curve_to_mesh(), register_node_type_geo_curve_to_points(), register_node_type_geo_curve_trim(), register_node_type_geo_deform_curves_on_surface(), register_node_type_geo_delete_geometry(), register_node_type_geo_distribute_points_on_faces(), register_node_type_geo_dual_mesh(), register_node_type_geo_duplicate_elements(), register_node_type_geo_edge_paths_to_curves(), register_node_type_geo_edge_paths_to_selection(), register_node_type_geo_edge_split(), register_node_type_geo_extrude_mesh(), register_node_type_geo_field_at_index(), register_node_type_geo_flip_faces(), register_node_type_geo_geometry_to_instance(), register_node_type_geo_image_texture(), register_node_type_geo_input_curve_handles(), register_node_type_geo_input_curve_tilt(), register_node_type_geo_input_id(), register_node_type_geo_input_index(), register_node_type_geo_input_instance_rotation(), register_node_type_geo_input_instance_scale(), register_node_type_geo_input_material(), register_node_type_geo_input_material_index(), register_node_type_geo_input_mesh_edge_angle(), register_node_type_geo_input_mesh_edge_neighbors(), register_node_type_geo_input_mesh_edge_vertices(), register_node_type_geo_input_mesh_face_area(), register_node_type_geo_input_mesh_face_is_planar(), register_node_type_geo_input_mesh_face_neighbors(), register_node_type_geo_input_mesh_island(), register_node_type_geo_input_mesh_vertex_neighbors(), register_node_type_geo_input_named_attribute(), register_node_type_geo_input_normal(), register_node_type_geo_input_position(), register_node_type_geo_input_radius(), register_node_type_geo_input_scene_time(), register_node_type_geo_input_shade_smooth(), register_node_type_geo_input_shortest_edge_paths(), register_node_type_geo_input_spline_cyclic(), register_node_type_geo_input_spline_length(), register_node_type_geo_input_spline_resolution(), register_node_type_geo_input_tangent(), register_node_type_geo_instance_on_points(), register_node_type_geo_instances_to_points(), register_node_type_geo_interpolate_domain(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), register_node_type_geo_material_replace(), register_node_type_geo_material_selection(), 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_cube(), register_node_type_geo_mesh_primitive_cylinder(), register_node_type_geo_mesh_primitive_grid(), register_node_type_geo_mesh_primitive_ico_sphere(), register_node_type_geo_mesh_primitive_line(), register_node_type_geo_mesh_primitive_uv_sphere(), register_node_type_geo_mesh_subdivide(), register_node_type_geo_mesh_to_curve(), 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(), register_node_type_geo_points_to_vertices(), register_node_type_geo_points_to_volume(), register_node_type_geo_proximity(), register_node_type_geo_raycast(), register_node_type_geo_realize_instances(), register_node_type_geo_remove_attribute(), register_node_type_geo_rotate_instances(), register_node_type_geo_scale_elements(), register_node_type_geo_scale_instances(), register_node_type_geo_separate_components(), register_node_type_geo_separate_geometry(), register_node_type_geo_set_curve_handles(), register_node_type_geo_set_curve_radius(), register_node_type_geo_set_curve_tilt(), register_node_type_geo_set_id(), register_node_type_geo_set_material(), register_node_type_geo_set_material_index(), register_node_type_geo_set_point_radius(), register_node_type_geo_set_position(), register_node_type_geo_set_shade_smooth(), register_node_type_geo_set_spline_cyclic(), register_node_type_geo_set_spline_resolution(), register_node_type_geo_store_named_attribute(), register_node_type_geo_string_join(), 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_transform(), register_node_type_geo_translate_instances(), register_node_type_geo_triangulate(), register_node_type_geo_uv_pack_islands(), register_node_type_geo_uv_unwrap(), register_node_type_geo_volume_cube(), and register_node_type_geo_volume_to_mesh().

◆ geometry_node_execute_supports_laziness

bool bNodeType::geometry_node_execute_supports_laziness

If true, the geometry nodes evaluator can call the execute function multiple times to improve performance by specifying required data in one call and using it for calculations in another.

Definition at line 321 of file BKE_node.h.

Referenced by register_node_type_geo_switch().

◆ gpu_fn

NodeGPUExecFunction bNodeType::gpu_fn

Definition at line 310 of file BKE_node.h.

Referenced by node_type_gpu().

◆ group_update_func

void(* bNodeType::group_update_func) (struct bNodeTree *ntree, struct bNode *node)

Check and update if internal ID data has changed.

Definition at line 267 of file BKE_node.h.

Referenced by node_type_group_update().

◆ height

float bNodeType::height

Definition at line 235 of file BKE_node.h.

Referenced by node_init(), and node_type_base_defaults().

◆ idname

char bNodeType::idname[64]

◆ init_exec_fn

NodeInitExecFunction bNodeType::init_exec_fn

Definition at line 306 of file BKE_node.h.

Referenced by node_type_exec().

◆ initfunc

void(* bNodeType::initfunc) (struct bNodeTree *ntree, struct bNode *node)

Initialize a new node instance of this type after creation.

Definition at line 270 of file BKE_node.h.

Referenced by node_init(), node_type_init(), register_node_type_geo_field_at_index(), register_node_type_geo_interpolate_domain(), and register_node_type_geo_scale_elements().

◆ initfunc_api

void(* bNodeType::initfunc_api) (const struct bContext *C, struct PointerRNA *ptr)

◆ inputs

bNodeSocketTemplate* bNodeType::inputs

◆ insert_link

void(* bNodeType::insert_link) (struct bNodeTree *ntree, struct bNode *node, struct bNodeLink *link)

◆ labelfunc

void(* bNodeType::labelfunc) (const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)

◆ maxheight

float bNodeType::maxheight

Definition at line 235 of file BKE_node.h.

Referenced by node_type_base_defaults().

◆ maxwidth

float bNodeType::maxwidth

Definition at line 234 of file BKE_node.h.

Referenced by node_type_size().

◆ minheight

float bNodeType::minheight

Definition at line 235 of file BKE_node.h.

Referenced by node_type_base_defaults().

◆ minwidth

float bNodeType::minwidth

Definition at line 234 of file BKE_node.h.

Referenced by node_type_size(), and register_node_type_geo_set_curve_handles().

◆ nclass

short bNodeType::nclass

◆ no_muting

bool bNodeType::no_muting

◆ outputs

bNodeSocketTemplate * bNodeType::outputs

◆ poll

bool(* bNodeType::poll) (struct bNodeType *ntype, struct bNodeTree *nodetree, const char **r_disabled_hint)

Can this node type be added to a node tree?

Parameters
r_disabled_hintHint to display in the UI when the poll fails. The callback can set this to a static string without having to null-check it (or without setting it to null if it's not used). The caller must pass a valid const char ** and null-initialize it when it's not just a dummy, that is, if it actually wants to access the returned disabled-hint (null-check needed!).

Definition at line 292 of file BKE_node.h.

Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), node_type_base(), nodeRegisterType(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_custom_group(), register_node_type_cmp_group(), register_node_type_cmp_rlayers(), 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(), register_undefined_types(), sh_fn_node_type_base(), sh_node_type_base(), and tex_node_type_base().

◆ poll_instance

bool(* bNodeType::poll_instance) (struct bNode *node, struct bNodeTree *nodetree, const char **r_disabled_hint)

Can this node be added to a node tree?

Parameters
r_disabled_hintSee poll().

Definition at line 296 of file BKE_node.h.

Referenced by node_type_base(), register_node_type_cmp_group(), register_node_type_geo_group(), register_node_type_sh_group(), and register_node_type_tex_group().

◆ rna_ext

ExtensionRNA bNodeType::rna_ext

◆ storagename

char bNodeType::storagename[64]

Definition at line 241 of file BKE_node.h.

Referenced by node_set_typeinfo(), and node_type_storage().

◆ type

int bNodeType::type

◆ ui_class

int(* bNodeType::ui_class) (const struct bNode *node)

Optional override for node class, used for drawing node header.

Definition at line 262 of file BKE_node.h.

Referenced by register_node_type_sh_map_range().

◆ ui_description

char bNodeType::ui_description[256]

Definition at line 231 of file BKE_node.h.

◆ ui_icon

int bNodeType::ui_icon

Definition at line 232 of file BKE_node.h.

◆ ui_name

char bNodeType::ui_name[64]

◆ updatefunc

void(* bNodeType::updatefunc) (struct bNodeTree *ntree, struct bNode *node)

◆ width

float bNodeType::width

Definition at line 234 of file BKE_node.h.

Referenced by node_init(), node_type_size(), and nodePositionRelative().


The documentation for this struct was generated from the following file: