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

#include <DNA_node_types.h>

Public Attributes

struct bNodenext
 
struct bNodeprev
 
IDPropertyprop
 
struct bNodeTypetypeinfo
 
char idname [64]
 
char name [64]
 
int flag
 
short type
 
short done
 
short level
 
uint8_t need_exec
 
char _pad2 [1]
 
float color [3]
 
ListBase inputs
 
ListBase outputs
 
struct bNodeparent
 
struct IDid
 
voidstorage
 
struct bNodeoriginal
 
ListBase internal_links
 
float locx
 
float locy
 
float width
 
float height
 
float miniwidth
 
float offsetx
 
float offsety
 
float anim_init_locx
 
float anim_ofsx
 
int update
 
char label [64]
 
short custom1
 
short custom2
 
float custom3
 
float custom4
 
char _pad1 [4]
 
rctf totr
 
rctf prvr
 
short preview_xsize
 
short preview_ysize
 
short tmp_flag
 
char _pad0
 
char iter_flag
 
bNodeRuntimeHandleruntime
 

Detailed Description

TODO: Limit data in bNode to what we want to see saved.

Definition at line 252 of file DNA_node_types.h.

Member Data Documentation

◆ _pad0

char bNode::_pad0

Definition at line 331 of file DNA_node_types.h.

◆ _pad1

char bNode::_pad1[4]

Definition at line 311 of file DNA_node_types.h.

◆ _pad2

char bNode::_pad2[1]

Definition at line 272 of file DNA_node_types.h.

◆ anim_init_locx

float bNode::anim_init_locx

Initial locx for insert offset animation.

Definition at line 298 of file DNA_node_types.h.

◆ anim_ofsx

float bNode::anim_ofsx

Offset that will be added to locx for insert offset animation.

Definition at line 300 of file DNA_node_types.h.

◆ color

float bNode::color[3]

Custom user-defined color.

Definition at line 275 of file DNA_node_types.h.

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

◆ custom1

short bNode::custom1

To be abused for buttons.

Definition at line 308 of file DNA_node_types.h.

Referenced by assign_index(), BKE_linestyle_default_shader(), blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::BokehBlurNode::convert_to_operations(), blender::compositor::BrightnessNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::ConvertAlphaNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DoubleEdgeMaskNode::convert_to_operations(), blender::compositor::IDMaskNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::MixNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::RotateNode::convert_to_operations(), blender::compositor::ScaleNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::SwitchNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TransformNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::compositor::ZCombineNode::convert_to_operations(), do_versions_material_convert_legacy_blend_mode(), blender::compositor::CombineYCCANode::get_color_converter(), blender::compositor::SeparateYCCANode::get_color_converter(), 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_rotate_euler_cc::get_multi_function(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), ntree_shader_groups_expand_inputs(), ntree_weight_tree_merge_weight(), ntreeShaderOutputNode(), 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(), and update_voronoi_node_square_distance().

◆ custom2

short bNode::custom2

◆ custom3

float bNode::custom3

◆ custom4

float bNode::custom4

◆ done

short bNode::done

Both for dependency and sorting.

Definition at line 268 of file DNA_node_types.h.

Referenced by BKE_node_is_connected_to_output(), and node_get_deplist_recurs().

◆ flag

int bNode::flag

◆ height

float bNode::height

◆ id

struct ID* bNode::id

Optional link to libdata.

Definition at line 281 of file DNA_node_types.h.

Referenced by blender::compositor::NodeGraph::add_proxies_group(), blender::compositor::NodeGraph::add_proxies_group_inputs(), blender::compositor::NodeGraph::add_proxies_group_outputs(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::KeyingScreenNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::MovieDistortionNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::RenderLayersNode::convert_to_operations(), blender::compositor::SplitViewerNode::convert_to_operations(), blender::compositor::Stabilize2dNode::convert_to_operations(), blender::compositor::TextureNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), flatten_group_do(), MaterialNode::get_diffuse_image(), blender::io::obj::get_image_filepath(), group_copy_inputs(), group_copy_outputs(), group_gpu_copy_inputs(), group_gpu_move_outputs(), lib_node_do_versions_group_indices(), blender::io::usd::USDMaterialReader::load_tex_image(), local_merge(), blender::ed::space_node::node_add_group_exec(), blender::bke::node_copy_with_mapping(), 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_selected(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_group_ungroup_exec(), ntree_shader_unlink_hidden_value_sockets(), and proj_paint_add_slot().

◆ idname

char bNode::idname[64]

Runtime type identifier.

Definition at line 261 of file DNA_node_types.h.

Referenced by blender::nodes::NodeRef::idname(), and blender::io::obj::linked_sockets_to_dest_id().

◆ inputs

ListBase bNode::inputs

Definition at line 277 of file DNA_node_types.h.

Referenced by blender::compositor::NodeGraph::add_proxies_group_outputs(), blender::compositor::NodeGraph::add_proxies_reroute(), blender::compositor::NodeGraph::add_proxies_skip(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_do_socket_section(), blender::ed::space_node::add_reroute_node_fn(), bc_node_add_link(), BKE_linestyle_default_shader(), blender::compositor::SwitchViewNode::convert_to_operations(), blender::nodes::node_composite_output_file_cc::copy_output_file(), blender::io::usd::create_uvmap_shader(), do_versions_material_convert_legacy_blend_mode(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::compositor::NodeGraph::find_b_node_input(), blender::compositor::Node::get_editor_input_socket(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), iter_backwards_ex(), lib_node_do_versions_group_indices(), blender::compositor::Node::Node(), blender::bke::node_copy_with_mapping(), node_group_find_input_socket(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), blender::ed::space_node::node_socket_add_replace(), nodePositionRelative(), ntree_shader_groups_expand_inputs(), ntree_update_reroute_nodes(), propagate_reroute_type_from_start_socket(), 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(), and update_voronoi_node_square_distance().

◆ internal_links

ListBase bNode::internal_links

List of cached internal links (input to output), for muted nodes and operators.

Definition at line 287 of file DNA_node_types.h.

Referenced by blender::compositor::NodeGraph::add_proxies_mute(), and blender::bke::node_copy_with_mapping().

◆ iter_flag

char bNode::iter_flag

Used at runtime when iterating over node branches.

Definition at line 333 of file DNA_node_types.h.

Referenced by iter_backwards_ex().

◆ label

char bNode::label[64]

Custom user-defined label, MAX_NAME.

Definition at line 306 of file DNA_node_types.h.

Referenced by blender::nodes::NodeRef::label().

◆ level

short bNode::level

Definition at line 268 of file DNA_node_types.h.

Referenced by node_get_deplist_recurs().

◆ locx

float bNode::locx

◆ locy

float bNode::locy

◆ miniwidth

float bNode::miniwidth

Node width if hidden.

Definition at line 294 of file DNA_node_types.h.

◆ name

char bNode::name[64]

◆ need_exec

uint8_t bNode::need_exec

Used as a boolean for execution.

Definition at line 271 of file DNA_node_types.h.

Referenced by group_execute(), and tex_call_delegate().

◆ next

struct bNode* bNode::next

◆ offsetx

float bNode::offsetx

Additional offset from loc.

Definition at line 296 of file DNA_node_types.h.

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

◆ offsety

float bNode::offsety

Definition at line 296 of file DNA_node_types.h.

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

◆ original

struct bNode* bNode::original

The original node in the tree (for localized tree).

Definition at line 285 of file DNA_node_types.h.

◆ outputs

ListBase bNode::outputs

Definition at line 277 of file DNA_node_types.h.

Referenced by blender::ed::space_node::add_existing_group_input_fn(), blender::ed::space_node::add_group_input_node_fn(), blender::compositor::NodeGraph::add_proxies_group_inputs(), blender::compositor::NodeGraph::add_proxies_reroute(), blender::compositor::NodeGraph::add_proxies_skip(), add_realize_instances_before_socket(), add_realize_node_tree(), blender::ed::space_node::add_reroute_do_socket_section(), blender::ed::space_node::add_reroute_node_fn(), bc_node_add_link(), BKE_linestyle_default_shader(), ED_node_composit_default(), ED_node_texture_default(), blender::ed::curves::ensure_surface_deformation_node_exists(), blender::compositor::NodeGraph::find_b_node_output(), blender::compositor::Node::get_editor_output_socket(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), lib_node_do_versions_group_indices(), local_merge(), blender::compositor::Node::Node(), blender::nodes::node_composite_image_cc::node_composit_copy_image(), blender::nodes::node_composite_image_cc::node_composit_copy_rlayers(), blender::bke::node_copy_with_mapping(), node_group_find_output_socket(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_socket_add_replace(), nodePositionRelative(), ntree_shader_groups_expand_inputs(), ntree_update_reroute_nodes(), propagate_reroute_type_from_start_socket(), blender::nodes::node_shader_value_cc::sh_node_value_build_multi_function(), and blender::ed::space_node::snode_autoconnect().

◆ parent

struct bNode* bNode::parent

◆ prev

struct bNode * bNode::prev

◆ preview_xsize

short bNode::preview_xsize

XXX TODO Node totr size depends on the prvr size, which in turn is determined from preview size. In earlier versions bNodePreview was stored directly in nodes, but since now there can be multiple instances using different preview images it is possible that required node size varies between instances. preview_xsize, preview_ysize defines a common reserved size for preview rect for now, could be replaced by more accurate node instance drawing, but that requires removing totr from DNA and replacing all uses with per-instance data. Reserved size of the preview rect.

Definition at line 327 of file DNA_node_types.h.

◆ preview_ysize

short bNode::preview_ysize

Definition at line 327 of file DNA_node_types.h.

◆ prop

IDProperty* bNode::prop

User-defined properties.

Definition at line 256 of file DNA_node_types.h.

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

◆ prvr

rctf bNode::prvr

Optional preview area.

Definition at line 316 of file DNA_node_types.h.

◆ runtime

bNodeRuntimeHandle* bNode::runtime

◆ storage

void* bNode::storage

Custom data, must be struct, for storage in file.

Definition at line 283 of file DNA_node_types.h.

Referenced by blender::compositor::AlphaOverNode::convert_to_operations(), blender::compositor::BilateralBlurNode::convert_to_operations(), blender::compositor::BlurNode::convert_to_operations(), blender::compositor::ChromaMatteNode::convert_to_operations(), blender::compositor::ColorCorrectionNode::convert_to_operations(), blender::compositor::ColorMatteNode::convert_to_operations(), blender::compositor::ColorRampNode::convert_to_operations(), blender::compositor::ColorSpillNode::convert_to_operations(), blender::compositor::CombineColorNode::convert_to_operations(), blender::compositor::ConvertColorSpaceNode::convert_to_operations(), blender::compositor::DifferenceMatteNode::convert_to_operations(), blender::compositor::DilateErodeNode::convert_to_operations(), blender::compositor::DirectionalBlurNode::convert_to_operations(), blender::compositor::DistanceMatteNode::convert_to_operations(), blender::compositor::HueSaturationValueCorrectNode::convert_to_operations(), blender::compositor::ImageNode::convert_to_operations(), blender::compositor::KeyingNode::convert_to_operations(), blender::compositor::KeyingScreenNode::convert_to_operations(), blender::compositor::LensDistortionNode::convert_to_operations(), blender::compositor::LuminanceMatteNode::convert_to_operations(), blender::compositor::MapValueNode::convert_to_operations(), blender::compositor::MaskNode::convert_to_operations(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::OutputFileNode::convert_to_operations(), blender::compositor::PlaneTrackDeformNode::convert_to_operations(), blender::compositor::SeparateColorNode::convert_to_operations(), blender::compositor::SetAlphaNode::convert_to_operations(), blender::compositor::SplitViewerNode::convert_to_operations(), blender::compositor::SunBeamsNode::convert_to_operations(), blender::compositor::TonemapNode::convert_to_operations(), blender::compositor::TrackPositionNode::convert_to_operations(), blender::compositor::TranslateNode::convert_to_operations(), blender::compositor::ViewerNode::convert_to_operations(), blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_float2(), blender::nodes::node_composite_output_file_cc::copy_output_file(), blender::io::usd::create_uvmap_shader(), do_versions_after_linking_300(), fill_texpaint_slots_cb(), blender::nodes::node_fn_input_bool_cc::fn_node_input_bool_build_multi_function(), blender::nodes::node_fn_input_color_cc::fn_node_input_color_build_multi_function(), blender::nodes::node_fn_input_int_cc::fn_node_input_int_build_multi_function(), blender::nodes::node_fn_input_string_cc::fn_node_input_string_build_multi_function(), blender::nodes::node_fn_input_vector_cc::fn_node_input_vector_build_multi_function(), blender::nodes::node_fn_input_string_cc::fn_node_string_copy(), blender::io::obj::get_image_filepath(), blender::modifiers::geometry_nodes::get_implicit_socket_input(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), local_merge(), 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::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(), proj_paint_add_slot(), blender::nodes::node_shader_curves_cc::sh_node_curve_float_build_multi_function(), blender::nodes::node_shader_curves_cc::sh_node_curve_rgb_build_multi_function(), blender::nodes::node_shader_curves_cc::sh_node_curve_vec_build_multi_function(), blender::nodes::node_shader_color_ramp_cc::sh_node_valtorgb_build_multi_function(), blender::nodes::NodeRef::storage(), blender::nodes::node_composite_moviedistortion_cc::storage_copy(), unique_name(), and update_voronoi_node_crackle().

◆ tmp_flag

short bNode::tmp_flag

◆ totr

rctf bNode::totr

Entire bound-box (world-space).

Definition at line 314 of file DNA_node_types.h.

◆ type

short bNode::type

Definition at line 266 of file DNA_node_types.h.

Referenced by blender::compositor::NodeGraph::add_bNode(), add_realize_instances_before_socket(), ambient_occlusion_node_relink(), assign_index(), blender::compositor::COM_bnode_is_fast_node(), blender::compositor::COM_convert_bnode(), blender::io::usd::create_usd_preview_surface_material(), displacement_node_insert(), do_versions_material_convert_legacy_blend_mode(), ED_node_link_insert(), MaterialNode::get_diffuse_image(), blender::modifiers::geometry_nodes::get_implicit_socket_input(), blender::nodes::NodeRef::is_frame(), blender::nodes::NodeRef::is_group_input_node(), blender::nodes::NodeRef::is_group_node(), blender::nodes::NodeRef::is_group_output_node(), blender::nodes::NodeRef::is_reroute_node(), light_emission_node_to_energy(), blender::io::usd::USDMaterialReader::load_tex_image(), local_merge(), blender::ed::space_node::node_draw_link_bezier(), blender::ed::space_node::node_link_insert_offset_ntree(), blender::ed::space_node::viewer_linking::node_link_viewer_get_socket(), blender::ed::space_node::node_parent_set_exec(), blender::ed::space_node::node_select_grouped_type(), blender::ed::space_node::node_socket_add_replace(), nodeAttachNode(), nodeMuteLinkToggle(), ntree_shader_weight_tree_invert(), ntree_weight_tree_tag_nodes(), propagate_reroute_type_from_start_socket(), shader_to_rgba_node_gather(), blender::ed::space_node::should_create_drag_link_search_menu(), blender::io::usd::traverse_channel(), UI_context_copy_to_selected_list(), blender::ed::space_node::ui_node_draw_input(), and unique_name().

◆ typeinfo

struct bNodeType* bNode::typeinfo

◆ update

int bNode::update

Update flags.

Definition at line 303 of file DNA_node_types.h.

◆ width

float bNode::width

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