Blender V4.5
bNode Struct Reference

#include <DNA_node_types.h>

Public Attributes

struct bNodenext
 
struct bNodeprev
 
ListBase inputs
 
ListBase outputs
 
char name [64]
 
int32_t identifier
 
int flag
 
char idname [64]
 
bNodeTypeHandletypeinfo
 
int16_t type_legacy
 
int16_t ui_order
 
int16_t custom1
 
int16_t custom2
 
float custom3
 
float custom4
 
int8_t warning_propagation
 
char _pad [7]
 
struct IDid
 
void * storage
 
IDPropertyprop
 
struct bNodeparent
 
float location [2]
 
float width
 
float height
 
float locx_legacy
 
float locy_legacy
 
float offsetx_legacy
 
float offsety_legacy
 
char label [64]
 
float color [3]
 
int num_panel_states
 
bNodePanelStatepanel_states_array
 
bNodeRuntimeHandleruntime
 

Detailed Description

Definition at line 415 of file DNA_node_types.h.

Member Data Documentation

◆ _pad

char bNode::_pad[7]

Definition at line 479 of file DNA_node_types.h.

◆ color

float bNode::color[3]

Custom user-defined color.

Definition at line 514 of file DNA_node_types.h.

Referenced by blender::ed::space_node::node_copy_color_exec(), and blender::ed::space_node::node_select_grouped_color().

◆ custom1

int16_t bNode::custom1

Used for some builtin nodes that store properties but don't have a storage struct.

Definition at line 472 of file DNA_node_types.h.

Referenced by blender::bke::add_auto_smooth_node_tree(), blender::io::fbx::add_image_texture(), assign_index(), BKE_linestyle_default_shader(), blender::io::usd::USDMaterialReader::convert_usd_transform_2d(), blender::io::usd::create_transform2d_shader(), do_version_alpha_over_remove_premultiply(), do_version_blur_node_options_to_inputs(), do_version_bright_contrast_remove_premultiplied(), do_version_color_to_float_conversion(), do_version_crop_node_options_to_inputs(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_translate_node_remove_relative(), do_versions_material_convert_legacy_blend_mode(), blender::nodes::node_composite_render_layer_cc::RenderLayerOperation::execute(), blender::nodes::node_geo_warning_cc::LazyFunctionForWarningNode::execute_impl(), fix_geometry_nodes_object_info_scale(), blender::nodes::node_composite_levels_cc::LevelsOperation::get_channel(), blender::nodes::node_composite_moviedistortion_cc::MovieDistortionOperation::get_distortion_type(), blender::nodes::node_composite_mask_cc::MaskOperation::get_flags(), blender::nodes::node_composite_cornerpin_cc::CornerPinOperation::get_interpolation(), blender::nodes::node_composite_trackpos_cc::TrackPositionOperation::get_mode(), blender::nodes::node_fn_bit_math_cc::get_multi_function(), blender::nodes::node_fn_boolean_math_cc::get_multi_function(), blender::nodes::node_fn_float_to_int_cc::get_multi_function(), blender::nodes::node_fn_hash_value_cc::get_multi_function(), blender::nodes::node_fn_integer_math_cc::get_multi_function(), blender::nodes::node_fn_match_string_cc::get_multi_function(), blender::nodes::node_fn_rotate_euler_cc::get_multi_function(), blender::nodes::node_fn_value_to_string_cc::get_multi_function(), blender::nodes::node_composite_scale_cc::ScaleOperation::get_scale_method(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_source(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::nodes::node_composite_combine_ycca_cc::node_build_multi_function(), blender::nodes::node_composite_separate_ycca_cc::node_build_multi_function(), blender::nodes::node_fn_rotate_rotation_cc::node_build_multi_function(), blender::nodes::node_geo_transform_geometry_cc::node_declare(), blender::io::usd::node_search(), ntree_shader_groups_expand_inputs(), ntree_weight_tree_merge_weight(), ntreeShaderOutputNode(), blender::io::usd::process_inputs(), remove_triangulate_node_min_size_input(), blender::nodes::node_shader_clamp_cc::sh_node_clamp_build_multi_function(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_eevee_output_node_get(), version_geometry_nodes_extrude_smooth_propagation(), version_geometry_nodes_replace_transfer_attribute_node(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), and versioning_update_noise_texture_node().

◆ custom2

◆ custom3

float bNode::custom3

Definition at line 473 of file DNA_node_types.h.

◆ custom4

float bNode::custom4

Definition at line 473 of file DNA_node_types.h.

◆ flag

int bNode::flag

Definition at line 433 of file DNA_node_types.h.

Referenced by blender::ed::space_node::add_node_group_asset(), add_realize_node_tree(), buttons_texture_context_compute(), blender::ed::space_node::compare_node_depth(), composite_node_add_init(), blender::ed::space_node::connect_nested_node_to_node(), blender::ed::space_node::NodeClipboard::copy_add_node(), blender::ed::space_node::viewer_linking::determine_socket_to_view(), do_version_color_to_float_conversion(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_node_curve_to_mesh_scale_input(), blender::ed::space_node::viewer_linking::finalize_viewer_link(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_copy_color_exec(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_duplicate_reparent_recursive(), node_get_active(), blender::ed::space_node::node_group_separate_selected(), blender::bke::node_link_is_selected(), blender::ed::space_node::node_parents_offset_flag_enable_cb(), blender::ed::space_node::node_remove_linked(), ntreeShaderOutputNode(), blender::io::usd::USDPointInstancerReader::read_object_data(), remove_triangulate_node_min_size_input(), blender::ed::space_node::shader_preview_startjob(), blender::ed::space_node::ui_node_draw_input(), blender::ed::viewer_path::update_active_geometry_nodes_viewer(), update_noise_and_wave_distortion(), version_eevee_output_node_get(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), versioning_replace_splitviewer(), and versioning_update_noise_texture_node().

◆ height

◆ id

struct ID* bNode::id

Optional link to libdata.

See also
#bNodeType::initfunc & #bNodeType::freefunc for details on ID user-count.

Definition at line 486 of file DNA_node_types.h.

Referenced by blender::io::fbx::add_image_texture(), blender::io::obj::add_image_textures(), blender::bke::node_interface::add_interface_socket_from_node(), blender::ed::space_node::add_node_group_asset(), blender::io::usd::UsdExportTest::compare_blender_image_to_usd_image_shader(), blender::nodes::materialx::GroupNodeParser::compute(), ED_object_assign_active_image(), blender::ed::space_node::ensure_nodetree_previews(), blender::nodes::partial_eval::eval_upstream(), blender::nodes::node_composite_render_layer_cc::RenderLayerOperation::execute(), blender::ed::viewer_path::exists_geometry_nodes_viewer(), flatten_group_do(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_image(), blender::nodes::node_composite_image_cc::ImageOperation::get_image(), blender::io::obj::get_image_filepath(), blender::nodes::node_composite_mask_cc::MaskOperation::get_mask(), blender::nodes::node_composite_keyingscreen_cc::KeyingScreenOperation::get_movie_clip(), blender::nodes::node_composite_movieclip_cc::MovieClipOperation::get_movie_clip(), blender::nodes::node_composite_moviedistortion_cc::MovieDistortionOperation::get_movie_clip(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::get_movie_clip(), blender::nodes::node_composite_stabilize2d_cc::Stabilize2DOperation::get_movie_clip(), blender::nodes::node_composite_trackpos_cc::TrackPositionOperation::get_movie_clip(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_scene(), blender::nodes::node_composite_texture_cc::TextureOperation::get_texture(), group_copy_inputs(), group_copy_outputs(), group_gpu_copy_inputs(), group_gpu_move_outputs(), blender::io::hydra::WorldData::init(), blender::io::usd::USDMaterialReader::load_tex_image(), localize(), blender::nodes::LazyFunctionForGroupNode::name(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_material_exec(), blender::bke::node_copy_with_mapping(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_edit_exec(), blender::ed::space_node::node_group_insert_exec(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_make_from_nodes(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_ungroup(), ntree_shader_unlink_hidden_value_sockets(), proj_paint_add_slot(), blender::eevee::LookdevWorld::sync(), and blender::try_add_side_effect_node().

◆ identifier

int32_t bNode::identifier

A value that uniquely identifies a node in a node tree even when the name changes. This also allows referencing nodes more efficiently than with strings.

Must be set whenever a node is added to a tree, besides a simple tree copy. Must always be positive.

Definition at line 431 of file DNA_node_types.h.

Referenced by blender::nodes::node_geo_foreach_geometry_element_cc::output_node::add_foreach_zone(), blender::nodes::GeometryNodesLazyFunctionLogger::add_thread_id_debug_message(), blender::nodes::LazyFunctionForGeometryNode::anonymous_attribute_name_for_output(), blender::ed::space_node::compute_context_for_tree_path(), blender::ed::space_node::compute_context_for_zone(), blender::nodes::partial_eval::eval_upstream(), blender::nodes::LazyFunctionForBakeInputsUsage::execute_impl(), blender::nodes::LazyFunctionForClosureZone::execute_impl(), blender::nodes::LazyFunctionForEvaluateClosureNode::execute_impl(), blender::nodes::LazyFunctionForGizmoNode::execute_impl(), blender::nodes::LazyFunctionForGroupNode::execute_impl(), blender::nodes::LazyFunctionForMultiFunctionNode::execute_impl(), blender::nodes::LazyFunctionForSimulationInputsUsage::execute_impl(), blender::nodes::node_geo_warning_cc::LazyFunctionForWarningNode::execute_impl(), blender::ed::viewer_path::exists_geometry_nodes_viewer(), blender::ed::space_node::find_nested_node_id_in_root(), blender::find_side_effect_nodes_for_active_gizmos(), blender::nodes::geo_eval_log::GeoTreeLog::find_socket_value_log(), blender::bke::ComputeContextCache::for_foreach_geometry_element_zone(), blender::bke::ComputeContextCache::for_repeat_zone(), blender::bke::ComputeContextCache::for_simulation_zone(), blender::nodes::LazyFunctionForEvaluateClosureNode::generate_closure_compatibility_warnings(), blender::nodes::socket_items::ops::get_active_node_to_operate_on(), blender::bke::bNodeZoneType::get_corresponding_input(), blender::nodes::ForeachGeometryElementZoneSideEffectProvider::get_nodes_with_side_effects(), blender::nodes::RepeatZoneSideEffectProvider::get_nodes_with_side_effects(), blender::bke::bNodeTreeZones::get_zone_by_socket(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_execution_graph(), blender::nodes::LazyFunctionForForeachGeometryElementZone::initialize_execution_graph(), blender::nodes::geo_eval_log::GeoTreeLogger::log_value(), blender::nodes::geo_eval_log::GeoTreeLogger::log_viewer_node(), blender::ed::space_node::node_add_group_input_node_exec(), blender::nodes::node_geo_closure_cc::output_node::node_gather_link_searches(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_gather_link_searches(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_gather_link_searches(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::bke::NodeLinkKey::NodeLinkKey(), ntree_shader_copy_branch(), blender::try_add_side_effect_node(), blender::ed::space_node::update_nested_node_refs_after_moving_nodes_into_group(), blender::ed::space_node::update_nested_node_refs_after_ungroup(), blender::ed::view3d::geometry_nodes_gizmos::WIDGETGROUP_geometry_nodes_refresh(), and blender::nodes::ScopedNodeTimer::~ScopedNodeTimer().

◆ idname

char bNode::idname[64]

String identifier of the type like "FunctionNodeCompare". Stored in files to allow retrieving the node type for node types including custom nodes defined in Python by addons.

Definition at line 439 of file DNA_node_types.h.

Referenced by blender::compositor::NodeOperation::evaluate(), blender::nodes::socket_items::ops::get_active_node_to_operate_on(), blender::io::obj::linked_sockets_to_dest_id(), blender::bke::node_add_static_node(), UI_context_copy_to_selected_list(), and version_geometry_nodes_extrude_smooth_propagation().

◆ inputs

ListBase bNode::inputs

Definition at line 419 of file DNA_node_types.h.

Referenced by add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::add_reroute_node_fn(), bc_node_add_link(), BKE_linestyle_default_shader(), blo_do_versions_420(), blender::nodes::node_composite_file_output_cc::copy_output_file(), do_version_color_to_float_conversion(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_versions_material_convert_legacy_blend_mode(), ED_node_composit_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), fix_geometry_nodes_object_info_scale(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), group_copy_outputs(), group_gpu_move_outputs(), blender::bke::iter_backwards_ex(), blender::nodes::LazyFunctionForClosureZone::LazyFunctionForClosureZone(), blender::ed::space_node::node_clipboard_paste_exec(), blender::bke::node_copy_with_mapping(), node_group_find_input_socket(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), blender::bke::node_position_relative(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_groups_expand_inputs(), blender::io::usd::USDPointInstancerReader::read_object_data(), remove_triangulate_node_min_size_input(), blender::ed::space_node::snode_autoconnect(), blender::io::usd::traverse_channel(), blender::ed::space_node::ui_node_draw_input(), update_mapping_node_inputs_and_properties(), update_noise_and_wave_distortion(), update_vector_math_node_add_and_subtract_operators(), update_vector_math_node_average_operator(), update_vector_math_node_cross_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), and versioning_replace_musgrave_texture_node().

◆ label

char bNode::label[64]

◆ location

float bNode::location[2]

The location of the top left corner of the node on the canvas.

Definition at line 501 of file DNA_node_types.h.

Referenced by blender::bke::add_auto_smooth_node_tree(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::add_foreach_zone(), add_node(), blender::ed::space_node::add_reroute_exec(), blender::io::usd::append_node(), BKE_linestyle_default_shader(), clamp_subdivision_node_level_input(), do_version_alpha_over_remove_premultiply(), do_version_blur_defocus_nodes_remove_gamma(), do_version_blur_node_options_to_inputs(), do_version_bright_contrast_remove_premultiplied(), do_version_color_to_float_conversion(), do_version_composite_viewer_remove_alpha(), do_version_crop_node_options_to_inputs(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_node_curve_to_mesh_scale_input(), do_version_replace_image_info_node_coordinates(), do_version_scale_node_remove_translate(), do_version_translate_node_remove_relative(), blender::io::usd::dome_light_to_world_material(), ED_node_composit_default(), ED_node_shader_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), material_default_holdout_init(), material_default_surface_init(), material_default_volume_init(), blender::nodes::node_geo_closure_cc::output_node::node_gather_link_searches(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_gather_link_searches(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_gather_link_searches(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_make_from_nodes(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_make_wrapper(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::bke::node_position_relative(), blender::ed::space_node::node_socket_add_replace(), blender::bke::greasepencil::convert::offset_radius_node_tree_add(), blender::ed::space_node::viewer_linking::position_viewer_node(), and blender::io::usd::USDPointInstancerReader::read_object_data().

◆ locx_legacy

◆ locy_legacy

◆ name

◆ next

◆ num_panel_states

int bNode::num_panel_states

Panel states for this node instance.

Definition at line 517 of file DNA_node_types.h.

◆ offsetx_legacy

float bNode::offsetx_legacy

Definition at line 508 of file DNA_node_types.h.

◆ offsety_legacy

float bNode::offsety_legacy

Definition at line 508 of file DNA_node_types.h.

◆ outputs

ListBase bNode::outputs

Definition at line 419 of file DNA_node_types.h.

Referenced by blender::bke::add_auto_smooth_node_tree(), blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::add_reroute_node_fn(), bc_node_add_link(), BKE_linestyle_default_shader(), ED_node_composit_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::nodes::node_composite_rgb_cc::RGBOperation::execute(), blender::nodes::node_composite_value_cc::ValueOperation::execute(), fix_geometry_nodes_object_info_scale(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::nodes::LazyFunctionForClosureZone::LazyFunctionForClosureZone(), blender::ed::space_node::node_add_color_exec(), blender::ed::space_node::node_add_group_input_node_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::nodes::node_composite_image_cc::node_composit_copy_image(), blender::nodes::node_composite_render_layer_cc::node_composit_copy_rlayers(), blender::bke::node_copy_with_mapping(), node_group_find_output_socket(), blender::bke::node_position_relative(), blender::ed::space_node::node_socket_add_replace(), ntree_shader_groups_expand_inputs(), blender::io::usd::USDPointInstancerReader::read_object_data(), remove_triangulate_node_min_size_input(), blender::nodes::node_shader_value_cc::sh_node_value_build_multi_function(), blender::ed::space_node::snode_autoconnect(), blender::bke::node_structure_type_inferencing::store_group_output_structure_types(), versioning_eevee_material_blend_mode_settings(), and versioning_eevee_material_shadow_none().

◆ panel_states_array

bNodePanelState* bNode::panel_states_array

Definition at line 518 of file DNA_node_types.h.

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

◆ parent

struct bNode* bNode::parent

Parent node (for frame nodes).

Definition at line 498 of file DNA_node_types.h.

Referenced by add_realize_instances_before_socket(), clamp_subdivision_node_level_input(), blender::ed::space_node::compare_node_depth(), do_version_alpha_over_remove_premultiply(), do_version_blur_defocus_nodes_remove_gamma(), do_version_blur_node_options_to_inputs(), do_version_bright_contrast_remove_premultiplied(), do_version_composite_viewer_remove_alpha(), do_version_crop_node_options_to_inputs(), do_version_map_value_node(), do_version_mix_color_use_alpha(), do_version_node_curve_to_mesh_scale_input(), do_version_replace_image_info_node_coordinates(), do_version_scale_node_remove_translate(), do_version_translate_node_remove_relative(), fix_geometry_nodes_object_info_scale(), blender::ed::space_node::frame_node_draw_background(), blender::ed::space_node::get_sorted_node_parents(), blender::ed::transform::has_selected_parent(), hide_simulation_node_skip_socket_value(), blender::ed::space_node::node_duplicate_reparent_recursive(), blender::bke::node_find_root_parent(), blender::ed::space_node::node_group_make_from_node_declaration(), blender::ed::space_node::node_group_make_wrapper(), blender::ed::space_node::node_group_separate_selected(), blender::bke::node_is_parent_and_child(), blender::ed::space_node::node_join_exec(), blender::ed::space_node::node_link_insert_offset_ntree(), blender::bke::node_tree_blend_read_data(), blender::ed::space_node::viewer_linking::position_viewer_node(), remove_triangulate_node_min_size_input(), blender::bke::node_tree_runtime::update_direct_frames_childrens(), blender::bke::forward_compat::update_node_location_legacy(), version_geometry_nodes_extrude_smooth_propagation(), version_geometry_nodes_primitive_uv_maps(), version_geometry_nodes_replace_transfer_attribute_node(), version_node_locations_to_global(), version_refraction_depth_to_thickness_value(), versioning_eevee_material_blend_mode_settings(), versioning_eevee_material_shadow_none(), versioning_replace_musgrave_texture_node(), and versioning_update_noise_texture_node().

◆ prev

struct bNode * bNode::prev

Definition at line 416 of file DNA_node_types.h.

Referenced by assign_index(), and unique_name().

◆ prop

IDProperty* bNode::prop

Custom properties often defined by addons to store arbitrary data on nodes. A non-builtin equivalent to storage.

Definition at line 495 of file DNA_node_types.h.

Referenced by blender::bke::tests::IDSubDataTestData::IDSubDataTestData(), blender::bke::node_copy_with_mapping(), and blender::nodes::node_geo_closure_cc::node_layout_ex().

◆ runtime

◆ storage

void* bNode::storage

Custom data struct for node properties for storage in files.

Definition at line 489 of file DNA_node_types.h.

Referenced by blender::bke::add_auto_smooth_node_tree(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::add_foreach_zone(), blender::io::fbx::add_image_texture(), blender::io::obj::add_image_textures(), blender::ed::space_node::compute_context_for_zone(), blender::ed::space_node::connect_nodes_to_aovs(), blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_float2(), blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_generic(), blender::nodes::node_composite_file_output_cc::copy_output_file(), blender::io::usd::create_uvmap_shader(), do_version_alpha_over_remove_premultiply(), do_version_composite_viewer_remove_alpha(), do_version_node_curve_to_mesh_scale_input(), do_version_scale_node_remove_translate(), do_versions_after_linking_300(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::nodes::LazyFunctionForClosureZone::execute_impl(), blender::nodes::LazyFunctionForForeachGeometryElementZone::execute_impl(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::execute_impl(), blender::nodes::LazyFunctionForRepeatZone::execute_impl(), blender::nodes::LazyFunctionForViewerNode::execute_impl(), fill_texpaint_slots_cb(), blender::bke::node_tree_reference_lifetimes::find_reference_sets(), blender::ed::space_node::frame_node_layout(), blender::nodes::LazyFunctionForEvaluateClosureNode::generate_closure_compatibility_warnings(), ClosureZoneType::get_corresponding_output_id(), ForeachGeometryElementZoneType::get_corresponding_output_id(), RepeatZoneType::get_corresponding_output_id(), SimulationZoneType::get_corresponding_output_id(), blender::nodes::node_composite_time_curves_cc::TimeCurveOperation::get_curve_mapping(), blender::io::obj::get_image_filepath(), blender::nodes::node_composite_image_cc::ImageOperation::get_image_user(), blender::nodes::node_composite_movieclip_cc::MovieClipOperation::get_movie_clip_user(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_item_groups(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group_lazyness(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_invalid_generation_items(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), hide_simulation_node_skip_socket_value(), blender::io::hydra::WorldData::init(), blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_execution_graph(), blender::nodes::LazyFunctionForEvaluateClosureNode::initialize_pass_through_graph(), blender::nodes::LazyFunctionForClosureZone::LazyFunctionForClosureZone(), blender::nodes::LazyFunctionForForeachGeometryElementZone::LazyFunctionForForeachGeometryElementZone(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::LazyFunctionForReduceForeachGeometryElement(), blender::nodes::node_geo_simulation_cc::sim_input_node::LazyFunctionForSimulationInputNode::LazyFunctionForSimulationInputNode(), blender::io::usd::USDMaterialReader::load_tex_image(), blender::eevee::LookdevWorld::LookdevWorld(), blender::ed::space_node::node_add_color_exec(), blender::nodes::node_fn_input_bool_cc::node_build_multi_function(), blender::nodes::node_fn_input_color_cc::node_build_multi_function(), blender::nodes::node_fn_input_int_cc::node_build_multi_function(), blender::nodes::node_fn_input_rotation_cc::node_build_multi_function(), blender::nodes::node_fn_input_string_cc::node_build_multi_function(), blender::nodes::node_fn_input_vector_cc::node_build_multi_function(), blender::nodes::node_composite_image_cc::node_composit_copy_image(), blender::nodes::node_composite_cryptomatte_cc::node_copy_cryptomatte(), node_copy_curves(), blender::nodes::node_shader_script_cc::node_copy_script(), node_copy_standard_storage(), blender::nodes::node_fn_format_string_cc::node_copy_storage(), blender::nodes::node_geo_attribute_capture_cc::node_copy_storage(), blender::nodes::node_geo_bake_cc::node_copy_storage(), blender::nodes::node_geo_closure_cc::output_node::node_copy_storage(), blender::nodes::node_geo_combine_bundle_cc::node_copy_storage(), blender::nodes::node_geo_evaluate_closure_cc::node_copy_storage(), blender::nodes::node_geo_foreach_geometry_element_cc::output_node::node_copy_storage(), blender::nodes::node_geo_index_switch_cc::node_copy_storage(), blender::nodes::node_geo_menu_switch_cc::node_copy_storage(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_copy_storage(), blender::nodes::node_geo_separate_bundle_cc::node_copy_storage(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_copy_storage(), blender::nodes::node_geo_closure_cc::input_node::node_declare(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_declare(), blender::nodes::node_geo_simulation_cc::sim_input_node::node_declare(), blender::nodes::node_geo_closure_cc::output_node::node_gather_link_searches(), blender::nodes::node_geo_repeat_cc::repeat_output_node::node_gather_link_searches(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_gather_link_searches(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), blender::nodes::node_shader_tex_pointdensity_cc::node_shader_copy_tex_pointdensity(), blender::nodes::node_shader_tex_environment_cc::node_shader_gpu_tex_environment(), blender::nodes::node_shader_tex_image_cc::node_shader_gpu_tex_image(), blender::ed::space_node::node_socket_add_replace(), blender::bke::node_socket_move_default_value(), blender::nodes::node_fn_input_string_cc::node_storage_copy(), ntree_update_reroute_nodes(), blender::bke::node_tree_reference_lifetimes::pass_right_to_left(), blender::io::usd::process_inputs(), proj_paint_add_slot(), remove_triangulate_node_min_size_input(), blender::bke::node_field_inferencing::repeat_field_state_sync(), blender::nodes::node_shader_curves_cc::flt::sh_node_curve_float_build_multi_function(), blender::nodes::node_shader_curves_cc::rgb::sh_node_curve_rgb_build_multi_function(), blender::nodes::node_shader_curves_cc::vec::sh_node_curve_vec_build_multi_function(), blender::nodes::node_shader_color_ramp_cc::sh_node_valtorgb_build_multi_function(), blender::nodes::node_composite_moviedistortion_cc::storage_copy(), blender::io::usd::TEST_F(), blender::nodes::node_geo_closure_cc::output_node::try_initialize_closure_from_evaluator(), unique_name(), update_voronoi_node_crackle(), version_geometry_nodes_extrude_smooth_propagation(), version_geometry_nodes_primitive_uv_maps(), version_geometry_nodes_replace_transfer_attribute_node(), and version_replace_texcoord_normal_socket().

◆ type_legacy

int16_t bNode::type_legacy

Legacy integer type for nodes. It does not uniquely identify a node type, only the idname does that. For example, all custom nodes use NODE_CUSTOM but do have different idnames. This is mainly kept for compatibility reasons.

Currently, this type is also used in many parts of Blender, but that should slowly be phased out by either relying on idnames, accessor methods like node.is_reroute().

Older node types have a stable legacy-type (defined in BKE_node_legacy_types.hh). However, the legacy type of newer types is generated at runtime and is not guaranteed to be stable over time.

A main benefit of this integer type over using idnames currently is that integer comparison is much cheaper than string comparison, especially if many idnames have the same prefix (e.g. "GeometryNode"). Eventually, we could introduce cheap-to-compare runtime identifier for node types. That could mean e.g. using ustring for idnames (where string comparison is just pointer comparison), or using a run-time generated integer that is automatically assigned when node types are registered.

Definition at line 463 of file DNA_node_types.h.

Referenced by ambient_occlusion_node_relink(), assign_index(), clamp_subdivision_node_level_input(), blender::ed::space_node::compute_context_for_zone(), blender::ed::view3d::geometry_nodes_gizmos::create_gizmo_node_gizmos(), blender::io::usd::create_transform2d_shader(), blender::io::usd::create_uvmap_shader(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), blender::bke::node_tree_reference_lifetimes::find_reference_sets(), ClosureZoneType::get_corresponding_output_id(), ForeachGeometryElementZoneType::get_corresponding_output_id(), RepeatZoneType::get_corresponding_output_id(), SimulationZoneType::get_corresponding_output_id(), blender::io::hydra::WorldData::init(), light_emission_node_to_energy(), blender::io::usd::USDMaterialReader::load_tex_image(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), blender::io::usd::node_search(), blender::ed::space_node::node_select_grouped_type(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::nodes_are_same_type_for_select(), ntree_shader_weight_tree_invert(), ntree_weight_tree_tag_nodes(), blender::bke::node_tree_reference_lifetimes::prepare_required_data_for_closure_outputs(), blender::io::usd::traverse_channel(), blender::ed::space_node::ui_node_draw_input(), and unique_name().

◆ typeinfo

◆ ui_order

int16_t bNode::ui_order

Depth of the node in the node editor, used to keep recently selected nodes at the front, and to order frame nodes properly.

Definition at line 469 of file DNA_node_types.h.

Referenced by blender::ed::space_node::viewer_linking::position_viewer_node().

◆ warning_propagation

int8_t bNode::warning_propagation

NodeWarningPropagation.

Definition at line 478 of file DNA_node_types.h.

◆ width


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