|
Blender
V2.93
|
Defines a node type. More...
#include <BKE_node.h>
Defines a node type.
Initial attributes and constants for a node as well as callback functions implementing the node behavior.
Definition at line 221 of file BKE_node.h.
| 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 283 of file BKE_node.h.
Referenced by BKE_node_copy_ex(), and node_type_storage().
| void(* bNodeType::copyfunc_api) (struct PointerRNA *ptr, const struct bNode *src_node) |
Definition at line 290 of file BKE_node.h.
Referenced by BKE_node_copy_ex().
| void(* bNodeType::draw_backdrop) (struct SpaceNode *snode, struct ImBuf *backdrop, struct bNode *node, int x, int y) |
Definition at line 258 of file BKE_node.h.
Referenced by node_composit_set_butfunc().
| void(* bNodeType::draw_buttons) (struct uiLayout *, struct bContext *C, struct PointerRNA *ptr) |
Definition at line 253 of file BKE_node.h.
Referenced by ED_node_init_butfuncs(), node_common_set_butfunc(), node_composit_set_butfunc(), node_shader_set_butfunc(), node_socket_add_replace(), node_texture_set_butfunc(), register_node_type_fn_boolean_math(), register_node_type_fn_float_compare(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), 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_fill(), 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_boolean(), 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_distribute(), 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_sample_texture(), register_node_type_geo_triangulate(), register_node_type_geo_volume_to_mesh(), and ui_node_draw_input().
| void(* bNodeType::draw_buttons_ex) (struct uiLayout *, struct bContext *C, struct PointerRNA *ptr) |
Definition at line 255 of file BKE_node.h.
Referenced by ED_node_init_butfuncs(), node_common_set_butfunc(), node_composit_set_butfunc(), node_shader_set_butfunc(), node_socket_add_replace(), and node_texture_set_butfunc().
| void(* bNodeType::draw_nodetype) (const struct bContext *C, struct ARegion *region, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node, bNodeInstanceKey key) |
Definition at line 241 of file BKE_node.h.
Referenced by ED_init_custom_node_type(), ED_node_init_butfuncs(), and node_common_set_butfunc().
| void(* bNodeType::draw_nodetype_prepare) (const struct bContext *C, struct bNodeTree *ntree, struct bNode *node) |
Definition at line 248 of file BKE_node.h.
Referenced by ED_init_custom_node_type(), ED_node_init_butfuncs(), and node_common_set_butfunc().
| NodeExecFunction bNodeType::exec_fn |
Definition at line 319 of file BKE_node.h.
Referenced by node_type_exec().
| NodeExpandInMFNetworkFunction bNodeType::expand_in_mf_network |
Definition at line 324 of file BKE_node.h.
Referenced by blender::nodes::get_multi_function_per_node(), blender::nodes::insert_nodes(), register_node_type_fn_boolean_math(), register_node_type_fn_float_compare(), register_node_type_fn_input_string(), register_node_type_fn_input_vector(), register_node_type_fn_random_float(), register_node_type_sh_clamp(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_map_range(), register_node_type_sh_math(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), and register_node_type_sh_vector_rotate().
| short bNodeType::flag |
Definition at line 233 of file BKE_node.h.
Referenced by node_init(), node_type_base(), and node_type_base_custom().
| NodeFreeExecFunction bNodeType::free_exec_fn |
Definition at line 318 of file BKE_node.h.
Referenced by node_type_exec().
| void(* bNodeType::free_self) (struct bNodeType *ntype) |
Definition at line 314 of file BKE_node.h.
Referenced by node_free_type(), register_node_type_frame(), register_node_type_group_input(), register_node_type_group_output(), and register_node_type_reroute().
Free the node instance.
Definition at line 281 of file BKE_node.h.
Referenced by node_type_storage().
| void(* bNodeType::freefunc_api) (struct PointerRNA *ptr) |
Definition at line 289 of file BKE_node.h.
| NodeGeometryExecFunction bNodeType::geometry_node_execute |
Definition at line 327 of file BKE_node.h.
Referenced by 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_fill(), 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_remove(), register_node_type_geo_attribute_separate_xyz(), register_node_type_geo_attribute_vector_math(), register_node_type_geo_boolean(), register_node_type_geo_bounding_box(), register_node_type_geo_collection_info(), register_node_type_geo_edge_split(), register_node_type_geo_is_viewport(), register_node_type_geo_join_geometry(), 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_object_info(), register_node_type_geo_point_distribute(), register_node_type_geo_point_instance(), register_node_type_geo_point_rotate(), register_node_type_geo_point_scale(), register_node_type_geo_point_separate(), register_node_type_geo_point_translate(), register_node_type_geo_points_to_volume(), register_node_type_geo_sample_texture(), register_node_type_geo_subdivide(), register_node_type_geo_subdivision_surface(), register_node_type_geo_transform(), register_node_type_geo_triangulate(), and register_node_type_geo_volume_to_mesh().
| NodeGPUExecFunction bNodeType::gpu_fn |
Definition at line 321 of file BKE_node.h.
Referenced by node_type_gpu().
Check and update if internal ID data has changed.
Definition at line 276 of file BKE_node.h.
Referenced by node_type_group_update().
| float bNodeType::height |
Definition at line 232 of file BKE_node.h.
Referenced by node_init(), and node_type_base_defaults().
| char bNodeType::idname[64] |
Definition at line 224 of file BKE_node.h.
Referenced by node_type_base(), node_type_base_custom(), nodeRegisterType(), nodeUnregisterType(), ui_node_item_special_poll(), and update_typeinfo().
| NodeInitExecFunction bNodeType::init_exec_fn |
Definition at line 317 of file BKE_node.h.
Referenced by node_type_exec().
Initialize a new node instance of this type after creation.
Definition at line 279 of file BKE_node.h.
Referenced by node_init(), and node_type_init().
| void(* bNodeType::initfunc_api) (const struct bContext *C, struct PointerRNA *ptr) |
Definition at line 288 of file BKE_node.h.
Referenced by node_init(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_rlayers(), register_node_type_cmp_stabilize2d(), and register_node_type_cmp_switch_view().
| bNodeSocketTemplate* bNodeType::inputs |
Definition at line 236 of file BKE_node.h.
Referenced by free_dynamic_typeinfo(), node_add_sockets_from_type(), node_template_properties_update(), node_type_socket_templates(), node_verify_socket_templates(), and ui_node_link_items().
| void(* bNodeType::insert_link) (struct bNodeTree *ntree, struct bNode *node, struct bNodeLink *link) |
Definition at line 310 of file BKE_node.h.
Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), node_link_exit(), 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().
Optional custom label function for the node header.
Definition at line 265 of file BKE_node.h.
Referenced by node_type_label().
| float bNodeType::maxheight |
Definition at line 232 of file BKE_node.h.
Referenced by node_type_base_defaults().
| float bNodeType::maxwidth |
Definition at line 231 of file BKE_node.h.
Referenced by node_type_size().
| float bNodeType::minheight |
Definition at line 232 of file BKE_node.h.
Referenced by node_type_base_defaults().
| float bNodeType::minwidth |
Definition at line 231 of file BKE_node.h.
Referenced by node_type_size().
| short bNodeType::nclass |
Definition at line 233 of file BKE_node.h.
Referenced by composite_node_add_init(), node_socket_add_replace(), node_type_base(), node_type_base_custom(), and nodetree_uv_node_recursive().
| void* bNodeType::next |
Definition at line 222 of file BKE_node.h.
| bNodeSocketTemplate * bNodeType::outputs |
Definition at line 236 of file BKE_node.h.
Referenced by free_dynamic_typeinfo(), node_add_sockets_from_type(), node_template_properties_update(), node_type_socket_templates(), node_verify_socket_templates(), and ui_node_link_items().
| bool(* bNodeType::poll) (struct bNodeType *ntype, struct bNodeTree *nodetree, const char **r_disabled_hint) |
Can this node type be added to a node tree?
| r_disabled_hint | Optional hint 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 301 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().
| bool(* bNodeType::poll_instance) (struct bNode *node, struct bNodeTree *nodetree, const char **r_disabled_hint) |
Can this node be added to a node tree?
| r_disabled_hint | See poll(). |
Definition at line 305 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().
| void * bNodeType::prev |
Definition at line 222 of file BKE_node.h.
Optional custom resize handle polling.
Definition at line 267 of file BKE_node.h.
Referenced by ED_init_custom_node_type(), ED_node_init_butfuncs(), and node_common_set_butfunc().
| ExtensionRNA bNodeType::rna_ext |
Definition at line 330 of file BKE_node.h.
Referenced by node_socket_template_properties_update(), pyrna_struct_bl_rna_get_subclass(), register_node_type_cmp_group(), register_node_type_geo_group(), register_node_type_sh_group(), and register_node_type_tex_group().
Optional selection area polling.
Definition at line 269 of file BKE_node.h.
Referenced by ED_init_custom_node_type(), and ED_node_init_butfuncs().
| char bNodeType::storagename[64] |
Definition at line 238 of file BKE_node.h.
Referenced by node_set_typeinfo(), and node_type_storage().
Optional tweak area polling (for grabbing).
Definition at line 271 of file BKE_node.h.
Referenced by ED_init_custom_node_type(), ED_node_init_butfuncs(), and node_common_set_butfunc().
| int bNodeType::type |
Definition at line 225 of file BKE_node.h.
Referenced by free_dynamic_typeinfo(), node_common_set_butfunc(), node_composit_set_butfunc(), node_free_type(), node_set_typeinfo(), node_shader_set_butfunc(), node_texture_set_butfunc(), node_type_base(), node_type_base_custom(), nodetree_uv_node_recursive(), register_node_type_cmp_group(), register_node_type_geo_group(), register_node_type_sh_group(), register_node_type_tex_group(), ui_node_link(), and ui_node_link_items().
| char bNodeType::ui_description[256] |
Definition at line 228 of file BKE_node.h.
| int bNodeType::ui_icon |
Definition at line 229 of file BKE_node.h.
| char bNodeType::ui_name[64] |
Definition at line 227 of file BKE_node.h.
Referenced by node_init(), node_type_base(), node_type_base_custom(), ui_node_item_name_compare(), and ui_node_link_items().
Definition at line 312 of file BKE_node.h.
Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), node_type_internal_links(), 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().
Called when the node is updated in the editor.
Definition at line 274 of file BKE_node.h.
Referenced by cmp_node_type_base(), node_type_update(), and register_node_type_geo_boolean().
| float bNodeType::width |
Definition at line 231 of file BKE_node.h.
Referenced by node_init(), node_type_size(), and nodePositionRelative().