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

#include <DNA_node_types.h>

Public Attributes

ID id
 
struct AnimDataadt
 
struct bNodeTreeTypetypeinfo
 
char idname [64]
 
struct StructRNAinterface_type
 
struct bGPdatagpd
 
float view_center [2]
 
ListBase nodes
 
ListBase links
 
int type
 
int cur_index
 
int flag
 
short is_updating
 
short done
 
int nodetype DNA_DEPRECATED
 
short edit_quality
 
short render_quality
 
int chunksize
 
int execution_mode
 
rctf viewer_border
 
ListBase inputs
 
ListBase outputs
 
struct bNodeInstanceHashpreviews
 
bNodeInstanceKey active_viewer_key
 
char _pad [4]
 
struct bNodeTreeExecexecdata
 
void(* progress )(void *, float progress)
 
void(* stats_draw )(void *, const char *str)
 
int(* test_break )(void *)
 
void(* update_draw )(void *)
 
voidtbh
 
voidprh
 
voidsdh
 
voidudh
 
struct PreviewImagepreview
 
bNodeTreeRuntimeHandleruntime
 

Detailed Description

Definition at line 451 of file DNA_node_types.h.

Member Data Documentation

◆ _pad

char bNodeTree::_pad[4]

Definition at line 513 of file DNA_node_types.h.

◆ active_viewer_key

bNodeInstanceKey bNodeTree::active_viewer_key

◆ adt

struct AnimData* bNodeTree::adt

◆ chunksize

int bNodeTree::chunksize

Tile size for compositor engine.

Definition at line 492 of file DNA_node_types.h.

Referenced by blo_do_versions_260(), ED_node_composit_default(), and blender::compositor::CompositorContext::get_chunksize().

◆ cur_index

int bNodeTree::cur_index

Sockets in groups have unique identifiers, adding new sockets always will increase this counter.

Definition at line 477 of file DNA_node_types.h.

Referenced by blo_do_versions_250(), do_versions_node_group_add_socket_2_56_2(), and make_socket_interface().

◆ DNA_DEPRECATED

int nodetype bNodeTree::DNA_DEPRECATED

Specific node type this tree is used for.

Definition at line 485 of file DNA_node_types.h.

◆ done

short bNodeTree::done

Generic temporary flag for recursion check (DFS/BFS).

Definition at line 482 of file DNA_node_types.h.

Referenced by blender::ed::space_node::node_shader_script_update_exec(), and blender::ed::space_node::node_shader_script_update_text_recursive().

◆ edit_quality

short bNodeTree::edit_quality

Quality setting when editing.

Definition at line 488 of file DNA_node_types.h.

Referenced by ED_node_composit_default(), and blender::compositor::ExecutionSystem::ExecutionSystem().

◆ execdata

struct bNodeTreeExec* bNodeTree::execdata

Execution data.

XXX It would be preferable to completely move this data out of the underlying node tree, so node tree execution could finally run independent of the tree itself. This would allow node trees to be merely linked by other data (materials, textures, etc.), as ID data is supposed to. Execution data is generated from the tree once at execution start and can then be used as long as necessary, even while the tree is being modified.

Definition at line 524 of file DNA_node_types.h.

Referenced by blender::compositor::TextureBaseOperation::deinit_execution(), load_tex(), node_free_node(), ntree_blend_write(), ntree_copy_data(), ntree_free_data(), ntreeBlendReadData(), ntreeShaderBeginExecTree(), ntreeShaderEndExecTree(), ntreeTexBeginExecTree(), ntreeTexEndExecTree(), ntreeTexExecTree(), paint_brush_exit_tex(), sculpt_brush_exit_tex(), and texture_copy_data().

◆ execution_mode

int bNodeTree::execution_mode

Execution mode to use for compositor engine.

Definition at line 494 of file DNA_node_types.h.

Referenced by blender::compositor::CompositorContext::get_execution_model().

◆ flag

int bNodeTree::flag

◆ gpd

struct bGPdata* bNodeTree::gpd

◆ id

ID bNodeTree::id

Definition at line 452 of file DNA_node_types.h.

Referenced by animdata_copy_id_action(), BKE_bpath_foreach_path_id(), BKE_id_newptr_and_tag_clear(), BKE_idtype_id_foreach_cache(), BKE_image_walk_all_users(), BKE_material_copybuf_free(), BKE_node_instance_key(), BKE_node_tree_iter_step(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_280(), blo_do_versions_pre250(), blender::deg::DepsgraphRelationBuilder::build_light(), blender::deg::DepsgraphRelationBuilder::build_material(), blender::deg::DepsgraphRelationBuilder::build_nested_nodetree(), blender::deg::DepsgraphNodeBuilder::build_nodetree(), blender::deg::DepsgraphRelationBuilder::build_nodetree(), blender::deg::DepsgraphRelationBuilder::build_simulation(), blender::deg::DepsgraphRelationBuilder::build_texture(), blender::deg::DepsgraphRelationBuilder::build_world(), buttons_context(), buttons_texture_users_find_nodetree(), blender::ed::space_node::compo_initjob(), deg_graph_clear_id_recalc_flags(), DEG_iterator_ids_step(), do_version_hue_sat_node(), ED_annotation_data_get_pointers_direct(), ED_node_tag_update_id(), ED_node_tree_propagate_change(), ED_node_tree_push(), ED_node_tree_start(), ED_node_tree_update(), ED_operator_node_editable(), blender::bke::NodeTreeRelations::ensure_all_trees(), expand_id_embedded_id(), free_localized_node_groups(), blender::bke::NodeTreeRelations::get_owner_id(), GPU_material_from_nodetree(), image_walk_id_all_users(), lib_link_id_embedded_id(), memfile_undosys_step_decode(), blender::nodes::NodeTreeRef::name(), blender::ed::space_node::new_node_tree_exec(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_group_get_and_poll_group_node_tree(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_context(), blender::ed::space_node::node_draw_space(), blender::ed::space_node::node_file_output_socket_draw(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_update_basis(), nodeRemoveNode(), ntree_blend_write(), ntree_copy_data(), ntree_free_data(), ntree_interface_identifier(), ntree_interface_identifier_base(), ntree_shader_groups_flatten(), ntreeAddTree(), ntreeBlendReadLib(), ntreeBlendWrite(), ntreeFreeEmbeddedTree(), ntreeFreeLocalNode(), ntreeFreeLocalTree(), ntreeFreeTree(), ntreeLocalize(), proj_paint_add_slot(), blender::nodes::NodeRef::rna(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_draw_node(), blender::ed::space_node::ui_node_link_items(), update_mapping_node_inputs_and_properties(), and write_file_handle().

◆ idname

char bNodeTree::idname[64]

◆ inputs

ListBase bNodeTree::inputs

◆ interface_type

struct StructRNA* bNodeTree::interface_type

Runtime RNA type of the group interface.

Definition at line 462 of file DNA_node_types.h.

Referenced by ntree_blend_write(), ntree_copy_data(), ntree_interface_type_create(), ntreeBlendReadData(), ntreeInterfaceTypeFree(), and ntreeInterfaceTypeGet().

◆ is_updating

short bNodeTree::is_updating

Flag to prevent re-entrant update calls.

Definition at line 480 of file DNA_node_types.h.

Referenced by blender::ed::space_node::node_link_exit(), ntree_blend_write(), and ntreeBlendReadData().

◆ links

ListBase bNodeTree::links

Definition at line 469 of file DNA_node_types.h.

Referenced by blender::ed::space_node::add_reroute_exec(), adjust_multi_input_indices_after_removed_link(), ambient_occlusion_node_relink(), blo_do_versions_250(), blo_do_versions_300(), cmp_node_image_verify_outputs(), blender::ed::space_node::count_multi_input_socket_links(), blender::ed::space_node::cut_links_exec(), displacement_node_insert(), do_versions_after_linking_260(), do_versions_after_linking_300(), do_versions_material_convert_legacy_blend_mode(), do_versions_nodetree_socket_use_flags_2_62(), blender::ed::space_node::ed_node_link_conditions(), ED_node_link_insert(), ED_node_link_intersect_test(), find_connected_link(), flatten_group_do(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), lib_node_do_versions_group_indices(), light_emission_node_to_energy(), blender::ed::space_node::viewer_linking::link_socket_to_viewer(), blender::ed::space_node::mute_links_exec(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_count_links(), node_count_links(), blender::ed::space_node::node_draw_nodetree(), blender::ed::space_node::node_duplicate_exec(), node_get_deplist_recurs(), node_group_input_update(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_make_test_selected(), node_group_output_update(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), node_insert_link_default(), node_is_connected_to_output_recursive(), blender::ed::space_node::node_link_cancel(), blender::ed::space_node::node_link_exit(), blender::ed::space_node::node_link_find_socket(), blender::ed::space_node::node_link_init(), blender::ed::space_node::node_remove_extra_links(), nodeAddLink(), nodeChainIter(), nodeCountSocketLinks(), nodeFindLink(), nodeInternalRelink(), nodeMuteFromSocketLinks(), nodeMuteRerouteInputLinks(), nodeMuteRerouteOutputLinks(), nodeRemLink(), nodeRemoveAllSockets(), nodeRemoveSocketEx(), nodeRemSocketLinks(), blender::nodes::NodeTreeRef::NodeTreeRef(), nodeUnlinkNode(), ntree_copy_data(), ntree_free_data(), ntree_shader_copy_branch(), ntree_shader_groups_remove_muted_links(), ntree_shader_implicit_closure_cast(), ntree_update_reroute_nodes(), ntreeBlendReadData(), ntreeBlendWrite(), blender::ed::space_node::pick_input_link_by_link_intersect(), blender::ed::space_node::pick_link(), refresh_socket_list(), blender::ed::space_node::viewer_linking::remove_links_to_unavailable_viewer_sockets(), blender::ed::space_node::sort_multi_input_socket_links(), square_roughness_node_insert(), update_mapping_node_inputs_and_properties(), update_musgrave_node_color_output(), 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_dot_product_operator(), update_vector_math_node_normalize_operator(), update_voronoi_node_coloring(), update_voronoi_node_crackle(), update_voronoi_node_square_distance(), version_geometry_nodes_set_position_node_offset(), version_node_join_geometry_for_multi_input_socket(), version_node_socket_duplicate(), and version_socket_update_is_used().

◆ nodes

ListBase bNodeTree::nodes

Definition at line 469 of file DNA_node_types.h.

Referenced by blender::compositor::NodeGraph::add_proxies_group(), blender::ed::space_node::add_reroute_do_socket_section(), ambient_occlusion_node_relink(), animdata_filter_ds_nodetree(), blender::ed::space_node::any_node_uses_id(), bc_get_master_shader(), BKE_linestyle_use_textures(), BKE_node_is_connected_to_output(), BKE_node_tree_unlink_id(), BKE_nodetree_remove_layer_n(), BKE_ntree_update_tag_id_changed(), BKE_view_layer_rename(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), blender::deg::DepsgraphNodeBuilder::build_nodetree(), blender::deg::DepsgraphRelationBuilder::build_nodetree(), buttons_texture_users_find_nodetree(), check_valid_compositing_camera(), blender::ed::space_node::compo_tag_output_nodes(), composite_patch(), compositor_needs_render(), blender::ed::space_node::count_multi_input_socket_links(), createTransNodeData(), blender::ed::space_node::detach_links_exec(), blender::ed::space_node::do_lasso_select_node(), do_render_compositor_scenes(), do_version_ntree_242_2(), do_versions_after_linking_250(), do_versions_after_linking_270(), do_versions_after_linking_300(), do_versions_after_linking_cycles(), do_versions_compositor_render_passes(), do_versions_idproperty_ui_data(), do_versions_nodetree_convert_angle(), do_versions_nodetree_customnodes(), do_versions_nodetree_file_output_layers_2_64_5(), do_versions_nodetree_frame_2_64_6(), do_versions_nodetree_image_default_alpha_output(), do_versions_nodetree_image_layer_2_64_5(), do_versions_nodetree_multi_file_output_format_2_62_1(), do_versions_nodetree_multi_file_output_path_2_63_1(), do_versions_nodetree_socket_use_flags_2_62(), blender::ed::space_node::draw_nodespace_back_pix(), blender::ed::space_node::draw_nodetree(), blender::ed::space_node::ed_node_link_conditions(), ED_node_set_active(), ED_spreadsheet_context_path_guess(), blender::bke::NodeTreeRelations::ensure_group_node_users(), blender::io::usd::find_bsdf_node(), flatten_group_do(), free_cache(), free_localized_node_groups(), Freestyle::BlenderStrokeRenderer::GetStrokeShader(), group_copy_inputs(), group_copy_outputs(), group_gpu_copy_inputs(), group_gpu_move_outputs(), blender::ed::curves::has_surface_deformation_node(), image_walk_ntree_all_users(), local_merge(), localize(), blender::ed::space_node::node_attach_invoke(), blender::ed::space_node::node_circleselect_exec(), blender::ed::space_node::node_clipboard_copy_exec(), blender::ed::space_node::node_context(), blender::ed::space_node::node_copy_color_exec(), blender::bke::node_copy_with_mapping(), blender::ed::space_node::node_delete_exec(), blender::ed::space_node::node_delete_reconnect_exec(), blender::ed::space_node::node_deselect_all(), blender::ed::space_node::node_deselect_all_input_sockets(), blender::ed::space_node::node_deselect_all_output_sockets(), blender::ed::space_node::node_detach_exec(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_find_frame_to_attach(), blender::ed::space_node::node_find_indicated_socket(), blender::ed::space_node::node_find_update_fn(), blender::ed::space_node::node_flag_toggle_exec(), node_foreach_cache(), node_foreach_id(), node_foreach_path(), node_free_node(), node_get_active(), blender::ed::space_node::node_get_execution_time(), blender::ed::space_node::node_get_selected_minmax(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_group_make_test_selected(), blender::ed::space_node::node_group_separate_selected(), blender::ed::space_node::node_group_ungroup(), blender::ed::space_node::node_insert_offset_modal(), blender::ed::space_node::node_join_exec(), blender::ed::space_node::node_link_insert_offset_frame_chains(), blender::ed::space_node::node_link_insert_offset_ntree(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_mute_exec(), blender::ed::space_node::node_parent_set_exec(), node_preview_init_tree_recursive(), node_preview_tag_used_recursive(), blender::ed::space_node::node_read_viewlayers_exec(), blender::ed::space_node::node_remove_linked(), blender::ed::space_node::node_render_changed_exec(), blender::ed::space_node::node_select_all_exec(), blender::ed::space_node::node_set_cursor(), blender::ed::space_node::node_shader_script_update_text_recursive(), blender::ed::space_node::node_socket_add_replace(), blender::ed::space_node::node_socket_toggle_exec(), blender::ed::space_node::node_sort(), blender::ed::space_node::node_switch_view_exec(), node_tree_has_compositor_output(), blender::ed::space_node::node_under_mouse_select(), blender::ed::space_node::node_under_mouse_tweak(), node_unlink_attached(), nodeAddNode(), nodeChainIterBackwards(), nodeClearActive(), nodeFindNode(), nodeFindNodebyName(), nodeGetActive(), nodeGroupPoll(), nodeSetActive(), blender::nodes::NodeTreeRef::NodeTreeRef(), nodeUniqueName(), ntree_copy_data(), ntree_foreach_texnode_recursive(), ntree_free_data(), ntree_get_active_iuser(), ntree_shader_copy_branch(), ntree_shader_groups_expand_inputs(), ntree_shader_groups_flatten(), ntree_shader_groups_remove_muted_links(), ntree_shader_pruned_unused(), ntree_shader_shader_to_rgba_branch(), ntree_shader_unlink_hidden_value_sockets(), ntree_shader_weight_tree_invert(), ntree_version_241(), ntree_version_242(), ntree_version_245(), ntreeBlendReadData(), ntreeBlendReadExpand(), ntreeBlendReadLib(), ntreeBlendWrite(), ntreeCompositClearTags(), ntreeCompositUpdateRLayers(), ntreeFindType(), ntreeGetDependencyList(), ntreeGPUMaterialNodes(), ntreeHasTree(), ntreeLocalize(), ntreeNodeFlagSet(), ntreeSetOutput(), ntreeSetTypes(), ntreeShaderOutputNode(), ntreeTexCheckCyclics(), ntreeUpdateAllNew(), ntreeUpdateAllUsers(), ntreeUpdateNodeLevels(), snapNodes(), blender::ed::space_node::snode_autoconnect(), blender::ed::space_node::socket_is_occluded(), blender::ed::space_node::space_node_view_flag(), special_aftertrans_update__node(), square_roughness_node_insert(), texture_changed(), texture_nodes_fetch_images_for_pool(), uiTemplateNodeView(), update_mapping_node_inputs_and_properties(), update_math_node_single_operand_operators(), update_musgrave_node_dimensions(), update_noise_and_wave_distortion(), update_noise_node_dimensions(), update_typeinfo(), 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_dot_product_operator(), update_vector_math_node_normalize_operator(), update_vector_math_node_operators_enum_mapping(), update_voronoi_node_crackle(), update_voronoi_node_dimensions(), update_voronoi_node_f3_and_f4(), update_voronoi_node_fac_output(), update_voronoi_node_square_distance(), update_wave_node_directions_and_offset(), version_geometry_nodes_add_realize_instance_nodes(), version_geometry_nodes_set_position_node_offset(), version_node_id(), version_node_input_socket_name(), version_node_join_geometry_for_multi_input_socket(), version_node_output_socket_name(), version_node_socket_duplicate(), version_node_socket_index_animdata(), version_node_socket_name(), version_node_tree_socket_id_delim(), version_socket_update_is_used(), version_switch_node_input_prefix(), and versioning_replace_legacy_combined_and_separate_color_nodes().

◆ outputs

ListBase bNodeTree::outputs

◆ preview

struct PreviewImage* bNodeTree::preview

Image representing what the node group does.

Definition at line 535 of file DNA_node_types.h.

Referenced by ntree_copy_data(), ntree_free_data(), ntreeBlendReadData(), and ntreeBlendWrite().

◆ previews

struct bNodeInstanceHash* bNodeTree::previews

◆ prh

void * bNodeTree::prh

◆ progress

void(* bNodeTree::progress) (void *, float progress)

◆ render_quality

short bNodeTree::render_quality

Quality setting when rendering.

Definition at line 490 of file DNA_node_types.h.

Referenced by ED_node_composit_default(), and blender::compositor::ExecutionSystem::ExecutionSystem().

◆ runtime

bNodeTreeRuntimeHandle* bNodeTree::runtime

◆ sdh

void * bNodeTree::sdh

◆ stats_draw

void(* bNodeTree::stats_draw) (void *, const char *str)

◆ tbh

void* bNodeTree::tbh

◆ test_break

int(* bNodeTree::test_break) (void *)

◆ type

int bNodeTree::type

Definition at line 471 of file DNA_node_types.h.

Referenced by acf_nodetree_rootType_offset(), BKE_node_clipboard_init(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), blo_do_versions_cycles(), blender::ed::space_node::context_path_for_space_node(), do_version_ntree_242_2(), do_versions_after_linking_270(), do_versions_after_linking_290(), do_versions_after_linking_300(), do_versions_after_linking_cycles(), do_versions_nodetree_customnodes(), ED_node_set_active(), ED_node_tag_update_id(), ED_node_tree_start(), ED_spreadsheet_context_path_guess(), image_walk_ntree_all_users(), blender::ed::space_node::viewer_linking::link_socket_to_viewer(), blender::ed::space_node::node_add_collection_poll(), blender::ed::space_node::node_add_file_exec(), blender::ed::space_node::node_add_file_poll(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_group_get_and_poll_group_node_tree(), blender::ed::space_node::node_add_group_poll(), blender::ed::space_node::node_add_mask_poll(), blender::ed::space_node::node_add_object_poll(), blender::ed::space_node::node_area_listener(), blender::ed::space_node::node_area_refresh(), blender::ed::space_node::node_buts_curvecol(), blender::ed::space_node::node_buts_mix_rgb(), blender::ed::space_node::node_clipboard_paste_exec(), blender::nodes::node_fn_compare_cc::node_compare_update(), blender::ed::space_node::node_draw_link(), blender::ed::space_node::node_draw_link_bezier(), node_foreach_cache(), node_foreach_path(), node_free_node(), blender::ed::space_node::node_get_extra_info(), blender::ed::space_node::node_shader_script_update_exec(), blender::ed::space_node::node_socket_get_tooltip(), blender::ed::space_node::node_socket_has_tooltip(), blender::nodes::node_geo_switch_cc::node_update(), blender::nodes::node_geo_viewer_cc::node_update(), ntree_free_data(), ntree_set_typeinfo(), ntree_version_241(), ntree_version_242(), ntree_version_245(), ntreeBlendWrite(), ntreeSetOutput(), blender::ed::space_node::send_notifiers_after_tree_change(), blender::ed::space_node::viewer_linking::socket_can_be_viewed(), blender::ed::space_node::ui_node_link_items(), blender::bke::NodeTreeMainUpdater::update_rooted(), version_node_socket_index_animdata(), version_switch_node_input_prefix(), versioning_replace_legacy_combined_and_separate_color_nodes(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_poll(), blender::ed::space_node::WIDGETGROUP_node_crop_poll(), blender::ed::space_node::WIDGETGROUP_node_sbeam_poll(), and blender::ed::space_node::WIDGETGROUP_node_transform_poll().

◆ typeinfo

struct bNodeTreeType* bNodeTree::typeinfo

◆ udh

void * bNodeTree::udh

◆ update_draw

void(* bNodeTree::update_draw) (void *)

◆ view_center

float bNodeTree::view_center[2]

Node tree stores own offset for consistent editor view.

Definition at line 467 of file DNA_node_types.h.

Referenced by ED_node_tree_push(), ED_node_tree_start(), and blender::ed::space_node::node_draw_space().

◆ viewer_border

rctf bNodeTree::viewer_border

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