Blender V5.0
blender::nodes::SocketDeclaration Class Referenceabstract

#include <NOD_node_declaration.hh>

Inherits blender::nodes::ItemDeclaration.

Inherited by blender::nodes::decl::Bool, blender::nodes::decl::Bundle, blender::nodes::decl::Closure, blender::nodes::decl::Color, blender::nodes::decl::Custom, blender::nodes::decl::Extend, blender::nodes::decl::Float, blender::nodes::decl::Geometry, blender::nodes::decl::IDSocketDeclaration, blender::nodes::decl::Int, blender::nodes::decl::Matrix, blender::nodes::decl::Menu, blender::nodes::decl::Rotation, blender::nodes::decl::Shader, blender::nodes::decl::String, and blender::nodes::decl::Vector.

Public Member Functions

 ~SocketDeclaration () override=default
virtual bNodeSocketbuild (bNodeTree &ntree, bNode &node) const =0
virtual bool matches (const bNodeSocket &socket) const =0
virtual bNodeSocketupdate_or_build (bNodeTree &ntree, bNode &node, bNodeSocket &socket) const
virtual bool can_connect (const bNodeSocket &socket) const =0
void make_available (bNode &node) const
const CompositorInputRealizationModecompositor_realization_mode () const
int compositor_domain_priority () const
Public Member Functions inherited from blender::nodes::ItemDeclaration
virtual ~ItemDeclaration ()=default

Public Attributes

std::string name
std::string short_label
std::string identifier
std::string description
std::optional< std::string > translation_context
eNodeSocketInOut in_out
eNodeSocketDatatype socket_type
bool optional_label = false
bool hide_value = false
bool compact = false
bool is_multi_input = false
bool no_mute_links = false
bool is_available = true
bool is_attribute_name = false
bool is_default_link_socket = false
bool align_with_previous_socket = false
bool is_panel_toggle = false
bool is_layer_name = false
bool is_volume_grid_name = false
int index = -1
InputSocketFieldType input_field_type = InputSocketFieldType::None
OutputFieldDependency output_field_dependency
StructureType structure_type = StructureType::Single
NodeDefaultInputType default_input_type = NodeDefaultInputType::NODE_DEFAULT_INPUT_VALUE
std::unique_ptr< SocketNameRNAsocket_name_rna
std::unique_ptr< CustomSocketDrawFncustom_draw_fn
std::unique_ptr< InputSocketUsageInferenceFnusage_inference_fn
friend NodeDeclarationBuilder
Public Attributes inherited from blender::nodes::ItemDeclaration
const PanelDeclarationparent = nullptr

Protected Member Functions

void set_common_flags (bNodeSocket &socket) const
bool matches_common_data (const bNodeSocket &socket) const

Friends

class BaseSocketDeclarationBuilder
template<typename SocketDecl>
class SocketDeclarationBuilder

Detailed Description

Describes a single input or output socket. This is subclassed for different socket types.

Definition at line 206 of file NOD_node_declaration.hh.

Constructor & Destructor Documentation

◆ ~SocketDeclaration()

blender::nodes::SocketDeclaration::~SocketDeclaration ( )
overridedefault

Member Function Documentation

◆ build()

◆ can_connect()

◆ compositor_domain_priority()

int blender::nodes::SocketDeclaration::compositor_domain_priority ( ) const

◆ compositor_realization_mode()

◆ make_available()

◆ matches()

◆ matches_common_data()

◆ set_common_flags()

void blender::nodes::SocketDeclaration::set_common_flags ( bNodeSocket & socket) const
protected

◆ update_or_build()

◆ BaseSocketDeclarationBuilder

friend class BaseSocketDeclarationBuilder
friend

Definition at line 276 of file NOD_node_declaration.hh.

References BaseSocketDeclarationBuilder.

Referenced by BaseSocketDeclarationBuilder.

◆ SocketDeclarationBuilder

template<typename SocketDecl>
friend class SocketDeclarationBuilder
friend

Definition at line 277 of file NOD_node_declaration.hh.

References SocketDeclarationBuilder.

Referenced by SocketDeclarationBuilder.

Member Data Documentation

◆ align_with_previous_socket

bool blender::nodes::SocketDeclaration::align_with_previous_socket = false

Puts this socket on the same line as the previous one in the UI.

Definition at line 231 of file NOD_node_declaration.hh.

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

◆ compact

bool blender::nodes::SocketDeclaration::compact = false

◆ custom_draw_fn

std::unique_ptr<CustomSocketDrawFn> blender::nodes::SocketDeclaration::custom_draw_fn

Draw function that overrides how the socket is drawn for a specific node.

Definition at line 268 of file NOD_node_declaration.hh.

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

◆ default_input_type

NodeDefaultInputType blender::nodes::SocketDeclaration::default_input_type = NodeDefaultInputType::NODE_DEFAULT_INPUT_VALUE

Some input sockets can have non-trivial values in the case when they are unlinked.

Definition at line 259 of file NOD_node_declaration.hh.

Referenced by blender::bke::node_interface::add_interface_socket_from_node().

◆ description

std::string blender::nodes::SocketDeclaration::description

Definition at line 211 of file NOD_node_declaration.hh.

Referenced by blender::bke::node_interface::add_interface_socket_from_node(), blender::nodes::node_composite_antialiasing_cc::cmp_node_antialiasing_declare(), blender::nodes::node_composite_bilateralblur_cc::cmp_node_bilateralblur_declare(), blender::nodes::node_composite_blur_cc::cmp_node_blur_declare(), blender::nodes::node_composite_bokehimage_cc::cmp_node_bokehimage_declare(), blender::nodes::node_composite_color_spill_cc::cmp_node_color_spill_declare(), blender::nodes::node_composite_colorbalance_cc::cmp_node_colorbalance_declare(), blender::nodes::node_composite_colorcorrection_cc::cmp_node_colorcorrection_declare(), blender::nodes::node_composite_cornerpin_cc::cmp_node_cornerpin_declare(), blender::nodes::node_composite_crop_cc::cmp_node_crop_declare(), blender::nodes::node_composite_despeckle_cc::cmp_node_despeckle_declare(), blender::nodes::node_composite_dilate_cc::cmp_node_dilate_declare(), blender::nodes::node_composite_directionalblur_cc::cmp_node_directional_blur_declare(), blender::nodes::node_composite_displace_cc::cmp_node_displace_declare(), blender::nodes::node_composite_double_edge_mask_cc::cmp_node_double_edge_mask_declare(), blender::nodes::node_composite_glare_cc::cmp_node_glare_declare(), blender::nodes::node_composite_inpaint_cc::cmp_node_inpaint_declare(), blender::nodes::node_composite_keying_cc::cmp_node_keying_declare(), blender::nodes::node_composite_kuwahara_cc::cmp_node_kuwahara_declare(), blender::nodes::node_composite_lensdist_cc::cmp_node_lensdist_declare(), blender::nodes::node_composite_map_uv_cc::cmp_node_map_uv_declare(), blender::nodes::node_composite_mask_cc::cmp_node_mask_declare(), blender::nodes::node_composite_pixelate_cc::cmp_node_pixelate_declare(), blender::nodes::node_composite_stabilize2d_cc::cmp_node_stabilize2d_declare(), blender::nodes::node_composite_tonemap_cc::cmp_node_tonemap_declare(), blender::nodes::node_composite_vec_blur_cc::cmp_node_vec_blur_declare(), blender::nodes::node_composite_zcombine_cc::cmp_node_zcombine_declare(), blender::nodes::node_composite_alpha_over_cc::node_declare(), blender::nodes::node_composite_convolve_cc::node_declare(), blender::nodes::node_composite_image_info_cc::node_declare(), blender::nodes::node_fn_match_string_cc::node_declare(), blender::nodes::node_geo_attribute_capture_cc::node_declare(), blender::nodes::node_geo_blur_attribute_cc::node_declare(), blender::nodes::node_geo_boolean_cc::node_declare(), blender::nodes::node_geo_bounding_box_cc::node_declare(), blender::nodes::node_geo_collection_info_cc::node_declare(), blender::nodes::node_geo_curve_endpoint_selection_cc::node_declare(), blender::nodes::node_geo_curve_primitive_arc_cc::node_declare(), blender::nodes::node_geo_curve_primitive_quadratic_bezier_cc::node_declare(), blender::nodes::node_geo_curve_primitive_spiral_cc::node_declare(), blender::nodes::node_geo_curve_primitive_star_cc::node_declare(), blender::nodes::node_geo_curve_spline_parameter_cc::node_declare(), blender::nodes::node_geo_curve_subdivide_cc::node_declare(), blender::nodes::node_geo_curve_to_mesh_cc::node_declare(), blender::nodes::node_geo_curve_to_points_cc::node_declare(), blender::nodes::node_geo_curve_topology_curve_of_point_cc::node_declare(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::node_declare(), blender::nodes::node_geo_curve_trim_cc::node_declare(), blender::nodes::node_geo_curves_to_grease_pencil_cc::node_declare(), blender::nodes::node_geo_delete_geometry_cc::node_declare(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_declare(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_declare(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_declare(), blender::nodes::node_geo_dual_mesh_cc::node_declare(), blender::nodes::node_geo_duplicate_elements_cc::node_declare(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_declare(), blender::nodes::node_geo_edge_split_cc::node_declare(), blender::nodes::node_geo_edges_to_face_groups_cc::node_declare(), blender::nodes::node_geo_flip_faces_cc::node_declare(), blender::nodes::node_geo_geometry_to_instance_cc::node_declare(), blender::nodes::node_geo_gizmo_transform_cc::node_declare(), blender::nodes::node_geo_grease_pencil_set_depth_mode::node_declare(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_declare(), blender::nodes::node_geo_grid_to_mesh_cc::node_declare(), blender::nodes::node_geo_image_info_cc::node_declare(), blender::nodes::node_geo_index_of_nearest_cc::node_declare(), blender::nodes::node_geo_input_curve_handles_cc::node_declare(), blender::nodes::node_geo_input_id_cc::node_declare(), blender::nodes::node_geo_input_instance_bounds_cc::node_declare(), blender::nodes::node_geo_input_mesh_edge_angle_cc::node_declare(), blender::nodes::node_geo_input_mesh_edge_neighbors_cc::node_declare(), blender::nodes::node_geo_input_mesh_edge_vertices_cc::node_declare(), blender::nodes::node_geo_input_mesh_face_area_cc::node_declare(), blender::nodes::node_geo_input_mesh_face_neighbors_cc::node_declare(), blender::nodes::node_geo_input_mesh_island_cc::node_declare(), blender::nodes::node_geo_input_mesh_vertex_neighbors_cc::node_declare(), blender::nodes::node_geo_input_normal_cc::node_declare(), blender::nodes::node_geo_input_voxel_index_cc::node_declare(), blender::nodes::node_geo_instances_to_points_cc::node_declare(), blender::nodes::node_geo_interpolate_curves_cc::node_declare(), blender::nodes::node_geo_join_bundle::node_declare(), blender::nodes::node_geo_join_geometry_cc::node_declare(), blender::nodes::node_geo_list_cc::node_declare(), blender::nodes::node_geo_menu_switch_cc::node_declare(), blender::nodes::node_geo_merge_layers_cc::node_declare(), blender::nodes::node_geo_mesh_face_group_boundaries_cc::node_declare(), blender::nodes::node_geo_mesh_primitive_cube_cc::node_declare(), blender::nodes::node_geo_mesh_primitive_grid_cc::node_declare(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::node_declare(), blender::nodes::node_geo_mesh_primitive_uv_sphere_cc::node_declare(), blender::nodes::node_geo_mesh_subdivide_cc::node_declare(), blender::nodes::node_geo_mesh_to_curve_cc::node_declare(), blender::nodes::node_geo_mesh_to_sdf_grid_cc::node_declare(), blender::nodes::node_geo_mesh_to_volume_cc::node_declare(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::node_declare(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::node_declare(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::node_declare(), blender::nodes::node_geo_mesh_topology_edges_of_corner_cc::node_declare(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::node_declare(), blender::nodes::node_geo_mesh_topology_face_of_corner_cc::node_declare(), blender::nodes::node_geo_mesh_topology_offset_corner_in_face_cc::node_declare(), blender::nodes::node_geo_mesh_topology_vertex_of_corner_cc::node_declare(), blender::nodes::node_geo_object_info_cc::node_declare(), blender::nodes::node_geo_offset_point_in_curve_cc::node_declare(), blender::nodes::node_geo_points_cc::node_declare(), blender::nodes::node_geo_points_to_curves_cc::node_declare(), blender::nodes::node_geo_points_to_vertices_cc::node_declare(), blender::nodes::node_geo_points_to_volume_cc::node_declare(), blender::nodes::node_geo_proximity_cc::node_declare(), blender::nodes::node_geo_raycast_cc::node_declare(), blender::nodes::node_geo_realize_instances_cc::node_declare(), blender::nodes::node_geo_rotate_instances_cc::node_declare(), blender::nodes::node_geo_sample_index_cc::node_declare(), blender::nodes::node_geo_sample_nearest_surface_cc::node_declare(), blender::nodes::node_geo_sample_uv_surface_cc::node_declare(), blender::nodes::node_geo_scale_elements_cc::node_declare(), blender::nodes::node_geo_scale_instances_cc::node_declare(), blender::nodes::node_geo_sdf_grid_fillet_cc::node_declare(), blender::nodes::node_geo_sdf_grid_laplacian_cc::node_declare(), blender::nodes::node_geo_sdf_grid_mean_cc::node_declare(), blender::nodes::node_geo_sdf_grid_mean_curvature_cc::node_declare(), blender::nodes::node_geo_sdf_grid_median_cc::node_declare(), blender::nodes::node_geo_separate_geometry_cc::node_declare(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_declare(), blender::nodes::node_geo_set_grease_pencil_softness_cc::node_declare(), blender::nodes::node_geo_set_instance_transform_cc::node_declare(), blender::nodes::node_geo_set_material_cc::node_declare(), blender::nodes::node_geo_set_mesh_normal_cc::node_declare(), blender::nodes::node_geo_set_point_radius_cc::node_declare(), blender::nodes::node_geo_set_shade_smooth_cc::node_declare(), blender::nodes::node_geo_simulation_cc::sim_output_node::node_declare(), blender::nodes::node_geo_split_to_instances_cc::node_declare(), blender::nodes::node_geo_store_named_attribute_cc::node_declare(), blender::nodes::node_geo_tool_3d_cursor_cc::node_declare(), blender::nodes::node_geo_tool_selection_cc::node_declare(), blender::nodes::node_geo_tool_set_face_set_cc::node_declare(), blender::nodes::node_geo_transform_geometry_cc::node_declare(), blender::nodes::node_geo_translate_instances_cc::node_declare(), blender::nodes::node_geo_uv_pack_islands_cc::node_declare(), blender::nodes::node_geo_uv_unwrap_cc::node_declare(), blender::nodes::node_geo_volume_cube_cc::node_declare(), blender::nodes::node_geo_volume_to_mesh_cc::node_declare(), blender::nodes::node_shader_background_cc::node_declare(), blender::nodes::node_shader_brightness_cc::node_declare(), blender::nodes::node_shader_bsdf_glass_cc::node_declare(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_declare(), blender::nodes::node_shader_bsdf_metallic_cc::node_declare(), blender::nodes::node_shader_bsdf_principled_cc::node_declare(), blender::nodes::node_shader_bump_cc::node_declare(), blender::nodes::node_shader_displacement_cc::node_declare(), blender::nodes::node_shader_gamma_cc::node_declare(), blender::nodes::node_shader_hueSatVal_cc::node_declare(), blender::nodes::node_shader_ies_light_cc::node_declare(), blender::nodes::node_shader_light_falloff_cc::node_declare(), blender::nodes::node_shader_mapping_cc::node_declare(), blender::nodes::node_shader_normal_map_cc::node_declare(), blender::nodes::node_shader_subsurface_scattering_cc::node_declare(), blender::nodes::node_shader_vector_displacement_cc::node_declare(), blender::nodes::node_shader_vector_transform_cc::node_declare(), blender::nodes::node_shader_volume_coefficients_cc::node_declare(), blender::nodes::node_shader_volume_scatter_cc::node_declare(), blender::nodes::node_shader_curves_cc::vec::sh_node_curve_vec_declare(), blender::nodes::node_shader_tex_brick_cc::sh_node_tex_brick_declare(), blender::nodes::node_shader_tex_gabor_cc::sh_node_tex_gabor_declare(), blender::nodes::node_shader_tex_noise_cc::sh_node_tex_noise_declare(), blender::nodes::node_shader_tex_voronoi_cc::sh_node_tex_voronoi_declare(), and blender::nodes::node_shader_vector_rotate_cc::sh_node_vector_rotate_declare().

◆ hide_value

bool blender::nodes::SocketDeclaration::hide_value = false

Definition at line 223 of file NOD_node_declaration.hh.

Referenced by blender::nodes::node_composite_denoise_cc::cmp_node_denoise_declare(), blender::nodes::node_composite_pixelate_cc::cmp_node_pixelate_declare(), blender::nodes::node_composite_planetrackdeform_cc::cmp_node_planetrackdeform_declare(), blender::nodes::node_fn_align_euler_to_vector_cc::node_declare(), blender::nodes::node_fn_rotate_euler_cc::node_declare(), blender::nodes::node_geo_attribute_statistic_cc::node_declare(), blender::nodes::node_geo_curve_fill_cc::node_declare(), blender::nodes::node_geo_curve_resample_cc::node_declare(), blender::nodes::node_geo_curve_reverse_cc::node_declare(), blender::nodes::node_geo_curve_topology_points_of_curve_cc::node_declare(), blender::nodes::node_geo_curves_to_grease_pencil_cc::node_declare(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_declare(), blender::nodes::node_geo_duplicate_elements_cc::node_declare(), blender::nodes::node_geo_edge_paths_to_curves_cc::node_declare(), blender::nodes::node_geo_edge_paths_to_selection_cc::node_declare(), blender::nodes::node_geo_edge_split_cc::node_declare(), blender::nodes::node_geo_edges_to_face_groups_cc::node_declare(), blender::nodes::node_geo_field_average_cc::node_declare(), blender::nodes::node_geo_field_min_and_max_cc::node_declare(), blender::nodes::node_geo_field_variance_cc::node_declare(), blender::nodes::node_geo_flip_faces_cc::node_declare(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_declare(), blender::nodes::node_geo_gizmo_dial_cc::node_declare(), blender::nodes::node_geo_gizmo_linear_cc::node_declare(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_declare(), blender::nodes::node_geo_index_of_nearest_cc::node_declare(), blender::nodes::node_geo_input_shortest_edge_paths_cc::node_declare(), blender::nodes::node_geo_instances_to_points_cc::node_declare(), blender::nodes::node_geo_merge_by_distance_cc::node_declare(), blender::nodes::node_geo_merge_layers_cc::node_declare(), blender::nodes::node_geo_mesh_face_group_boundaries_cc::node_declare(), blender::nodes::node_geo_mesh_to_curve_cc::node_declare(), blender::nodes::node_geo_mesh_topology_corners_of_edge_cc::node_declare(), blender::nodes::node_geo_mesh_topology_corners_of_face_cc::node_declare(), blender::nodes::node_geo_mesh_topology_corners_of_vertex_cc::node_declare(), blender::nodes::node_geo_mesh_topology_edges_of_vertex_cc::node_declare(), blender::nodes::node_geo_points_to_curves_cc::node_declare(), blender::nodes::node_geo_points_to_vertices_cc::node_declare(), blender::nodes::node_geo_proximity_cc::node_declare(), blender::nodes::node_geo_realize_instances_cc::node_declare(), blender::nodes::node_geo_rotate_instances_cc::node_declare(), blender::nodes::node_geo_scale_elements_cc::node_declare(), blender::nodes::node_geo_scale_instances_cc::node_declare(), blender::nodes::node_geo_set_curve_normal_cc::node_declare(), blender::nodes::node_geo_set_curve_radius_cc::node_declare(), blender::nodes::node_geo_set_curve_tilt_cc::node_declare(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_declare(), blender::nodes::node_geo_set_grease_pencil_softness_cc::node_declare(), blender::nodes::node_geo_set_id_cc::node_declare(), blender::nodes::node_geo_set_instance_transform_cc::node_declare(), blender::nodes::node_geo_set_material_cc::node_declare(), blender::nodes::node_geo_set_material_index_cc::node_declare(), blender::nodes::node_geo_set_mesh_normal_cc::node_declare(), blender::nodes::node_geo_set_point_radius_cc::node_declare(), blender::nodes::node_geo_set_position_cc::node_declare(), blender::nodes::node_geo_set_shade_smooth_cc::node_declare(), blender::nodes::node_geo_set_spline_cyclic_cc::node_declare(), blender::nodes::node_geo_set_spline_resolution_cc::node_declare(), blender::nodes::node_geo_sort_elements_cc::node_declare(), blender::nodes::node_geo_split_to_instances_cc::node_declare(), blender::nodes::node_geo_string_join_cc::node_declare(), blender::nodes::node_geo_tool_set_face_set_cc::node_declare(), blender::nodes::node_geo_translate_instances_cc::node_declare(), blender::nodes::node_geo_triangulate_cc::node_declare(), blender::nodes::node_geo_uv_pack_islands_cc::node_declare(), blender::nodes::node_geo_uv_unwrap_cc::node_declare(), blender::nodes::node_geo_warning_cc::node_declare(), blender::nodes::node_shader_ambient_occlusion_cc::node_declare(), blender::nodes::node_shader_bsdf_principled_cc::node_declare(), blender::nodes::node_shader_bump_cc::node_declare(), set_common_flags(), blender::nodes::node_shader_tex_voronoi_cc::sh_node_tex_voronoi_declare(), and blender::nodes::node_shader_vector_rotate_cc::sh_node_vector_rotate_declare().

◆ identifier

◆ in_out

◆ index

int blender::nodes::SocketDeclaration::index = -1

Index in the list of inputs or outputs of the node.

Definition at line 238 of file NOD_node_declaration.hh.

◆ input_field_type

◆ is_attribute_name

bool blender::nodes::SocketDeclaration::is_attribute_name = false

◆ is_available

bool blender::nodes::SocketDeclaration::is_available = true

Definition at line 227 of file NOD_node_declaration.hh.

Referenced by set_common_flags().

◆ is_default_link_socket

◆ is_layer_name

bool blender::nodes::SocketDeclaration::is_layer_name = false

Definition at line 234 of file NOD_node_declaration.hh.

◆ is_multi_input

bool blender::nodes::SocketDeclaration::is_multi_input = false

Definition at line 225 of file NOD_node_declaration.hh.

Referenced by set_common_flags().

◆ is_panel_toggle

bool blender::nodes::SocketDeclaration::is_panel_toggle = false

This socket is used as a toggle for the parent panel.

Definition at line 233 of file NOD_node_declaration.hh.

◆ is_volume_grid_name

bool blender::nodes::SocketDeclaration::is_volume_grid_name = false

◆ name

std::string blender::nodes::SocketDeclaration::name

◆ no_mute_links

bool blender::nodes::SocketDeclaration::no_mute_links = false

Definition at line 226 of file NOD_node_declaration.hh.

◆ NodeDeclarationBuilder

friend blender::nodes::SocketDeclaration::NodeDeclarationBuilder

Definition at line 275 of file NOD_node_declaration.hh.

◆ optional_label

bool blender::nodes::SocketDeclaration::optional_label = false

Indicates that the meaning of the socket values is clear even if the label is not shown. This can result in cleaner UIs in some cases. The drawing code will still draw the label sometimes.

Definition at line 222 of file NOD_node_declaration.hh.

Referenced by blender::bke::node_interface::add_interface_socket_from_node(), blender::nodes::build_interface_socket_declaration(), blender::nodes::node_composite_blur_cc::cmp_node_blur_declare(), blender::nodes::node_composite_boxmask_cc::cmp_node_boxmask_declare(), blender::nodes::node_composite_channel_matte_cc::cmp_node_channel_matte_declare(), blender::nodes::node_composite_color_spill_cc::cmp_node_color_spill_declare(), blender::nodes::node_composite_colorbalance_cc::cmp_node_colorbalance_declare(), blender::nodes::node_composite_denoise_cc::cmp_node_denoise_declare(), blender::nodes::node_composite_dilate_cc::cmp_node_dilate_declare(), blender::nodes::node_composite_distance_matte_cc::cmp_node_distance_matte_declare(), blender::nodes::node_composite_ellipsemask_cc::cmp_node_ellipsemask_declare(), blender::nodes::node_composite_filter_cc::cmp_node_filter_declare(), blender::nodes::node_composite_glare_cc::cmp_node_glare_declare(), blender::nodes::node_composite_keying_cc::cmp_node_keying_declare(), blender::nodes::node_composite_kuwahara_cc::cmp_node_kuwahara_declare(), blender::nodes::node_composite_lensdist_cc::cmp_node_lensdist_declare(), blender::nodes::node_composite_levels_cc::cmp_node_levels_declare(), blender::nodes::node_composite_map_uv_cc::cmp_node_map_uv_declare(), blender::nodes::node_composite_mask_cc::cmp_node_mask_declare(), blender::nodes::node_composite_moviedistortion_cc::cmp_node_moviedistortion_declare(), blender::nodes::node_composite_premulkey_cc::cmp_node_premulkey_declare(), blender::nodes::node_composite_rotate_cc::cmp_node_rotate_declare(), blender::nodes::node_composite_scale_cc::cmp_node_scale_declare(), blender::nodes::node_composite_setalpha_cc::cmp_node_setalpha_declare(), blender::nodes::node_composite_stabilize2d_cc::cmp_node_stabilize2d_declare(), blender::nodes::node_composite_tonemap_cc::cmp_node_tonemap_declare(), blender::nodes::node_composite_trackpos_cc::cmp_node_trackpos_declare(), blender::nodes::node_composite_transform_cc::cmp_node_transform_declare(), blender::nodes::node_composite_translate_cc::cmp_node_translate_declare(), blender::nodes::node_composite_alpha_over_cc::node_declare(), blender::nodes::node_composite_convolve_cc::node_declare(), blender::nodes::node_fn_format_string_cc::node_declare(), blender::nodes::node_fn_match_string_cc::node_declare(), blender::nodes::node_geo_collection_info_cc::node_declare(), blender::nodes::node_geo_curve_fillet_cc::node_declare(), blender::nodes::node_geo_curve_resample_cc::node_declare(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_declare(), blender::nodes::node_geo_image_texture_cc::node_declare(), blender::nodes::node_geo_input_named_layer_selection__cc::node_declare(), blender::nodes::node_geo_merge_by_distance_cc::node_declare(), blender::nodes::node_geo_mesh_to_volume_cc::node_declare(), blender::nodes::node_geo_object_info_cc::node_declare(), blender::nodes::node_geo_points_to_volume_cc::node_declare(), blender::nodes::node_geo_raycast_cc::node_declare(), blender::nodes::node_geo_remove_attribute_cc::node_declare(), blender::nodes::node_geo_set_curve_normal_cc::node_declare(), blender::nodes::node_geo_set_grease_pencil_color_cc::node_declare(), blender::nodes::node_geo_string_to_curves_cc::node_declare(), blender::nodes::node_geo_transform_geometry_cc::node_declare(), blender::nodes::node_geo_triangulate_cc::node_declare(), blender::nodes::node_geo_uv_tangent_cc::node_declare(), blender::nodes::node_geo_uv_unwrap_cc::node_declare(), blender::nodes::node_geo_volume_to_mesh_cc::node_declare(), and blender::ed::space_node::std_node_socket_draw().

◆ output_field_dependency

◆ short_label

std::string blender::nodes::SocketDeclaration::short_label

◆ socket_name_rna

std::unique_ptr<SocketNameRNA> blender::nodes::SocketDeclaration::socket_name_rna

Property that stores the name of the socket so that it can be modified directly from the node without going to the side-bar.

Definition at line 264 of file NOD_node_declaration.hh.

◆ socket_type

eNodeSocketDatatype blender::nodes::SocketDeclaration::socket_type

Socket type that corresponds to this socket declaration.

Definition at line 217 of file NOD_node_declaration.hh.

◆ structure_type

StructureType blender::nodes::SocketDeclaration::structure_type = StructureType::Single

Definition at line 243 of file NOD_node_declaration.hh.

Referenced by blender::bke::node_structure_type_inferencing::calc_node_interface(), blender::nodes::node_composite_antialiasing_cc::cmp_node_antialiasing_declare(), blender::nodes::node_composite_bilateralblur_cc::cmp_node_bilateralblur_declare(), blender::nodes::node_composite_blur_cc::cmp_node_blur_declare(), blender::nodes::node_composite_bokehblur_cc::cmp_node_bokehblur_declare(), blender::nodes::node_composite_convert_color_space_cc::CMP_NODE_CONVERT_COLOR_SPACE_declare(), blender::nodes::node_composite_cornerpin_cc::cmp_node_cornerpin_declare(), blender::nodes::node_composite_crop_cc::cmp_node_crop_declare(), blender::nodes::node_composite_defocus_cc::cmp_node_defocus_declare(), blender::nodes::node_composite_denoise_cc::cmp_node_denoise_declare(), blender::nodes::node_composite_despeckle_cc::cmp_node_despeckle_declare(), blender::nodes::node_composite_dilate_cc::cmp_node_dilate_declare(), blender::nodes::node_composite_directionalblur_cc::cmp_node_directional_blur_declare(), blender::nodes::node_composite_displace_cc::cmp_node_displace_declare(), blender::nodes::node_composite_double_edge_mask_cc::cmp_node_double_edge_mask_declare(), blender::nodes::node_composite_filter_cc::cmp_node_filter_declare(), blender::nodes::node_composite_flip_cc::cmp_node_flip_declare(), blender::nodes::node_composite_glare_cc::cmp_node_glare_declare(), blender::nodes::node_composite_id_mask_cc::cmp_node_idmask_declare(), blender::nodes::node_composite_inpaint_cc::cmp_node_inpaint_declare(), blender::nodes::node_composite_keying_cc::cmp_node_keying_declare(), blender::nodes::node_composite_kuwahara_cc::cmp_node_kuwahara_declare(), blender::nodes::node_composite_lensdist_cc::cmp_node_lensdist_declare(), blender::nodes::node_composite_normalize_cc::cmp_node_normalize_declare(), blender::nodes::node_composite_planetrackdeform_cc::cmp_node_planetrackdeform_declare(), blender::nodes::node_composite_scale_cc::cmp_node_scale_declare(), blender::nodes::node_composite_switch_cc::cmp_node_switch_declare(), blender::nodes::node_composite_tonemap_cc::cmp_node_tonemap_declare(), blender::nodes::node_composite_vec_blur_cc::cmp_node_vec_blur_declare(), blender::nodes::node_composite_zcombine_cc::cmp_node_zcombine_declare(), blender::nodes::NodeDeclarationBuilder::finalize(), blender::bke::node_structure_type_inferencing::init_input_requirements(), blender::nodes::node_composite_convert_to_display_cc::node_declare(), blender::nodes::node_composite_convolve_cc::node_declare(), blender::nodes::node_composite_image_coordinates_cc::node_declare(), blender::nodes::node_composite_relative_to_pixel_cc::node_declare(), blender::nodes::node_geo_attribute_capture_cc::node_declare(), blender::nodes::node_geo_curve_sample_cc::node_declare(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_declare(), blender::nodes::node_geo_enable_output_cc::node_declare(), blender::nodes::node_geo_grid_advect_cc::node_declare(), blender::nodes::node_geo_grid_curl_cc::node_declare(), blender::nodes::node_geo_grid_divergence_cc::node_declare(), blender::nodes::node_geo_grid_gradient_cc::node_declare(), blender::nodes::node_geo_grid_laplacian_cc::node_declare(), blender::nodes::node_geo_grid_to_mesh_cc::node_declare(), blender::nodes::node_geo_index_of_nearest_cc::node_declare(), blender::nodes::node_geo_list_get_item_cc::node_declare(), blender::nodes::node_geo_menu_switch_cc::node_declare(), blender::nodes::node_geo_mesh_to_density_grid_cc::node_declare(), blender::nodes::node_geo_raycast_cc::node_declare(), blender::nodes::node_geo_sample_grid_index_cc::node_declare(), blender::nodes::node_geo_sample_nearest_surface_cc::node_declare(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_declare(), blender::nodes::node_geo_sdf_grid_fillet_cc::node_declare(), blender::nodes::node_geo_sdf_grid_laplacian_cc::node_declare(), blender::nodes::node_geo_sdf_grid_mean_cc::node_declare(), blender::nodes::node_geo_sdf_grid_mean_curvature_cc::node_declare(), blender::nodes::node_geo_sdf_grid_median_cc::node_declare(), blender::nodes::node_geo_sdf_grid_offset_cc::node_declare(), blender::nodes::node_geo_set_instance_transform_cc::node_declare(), node_reroute_declare(), and blender::bke::node_structure_type_inferencing::propagate_left_to_right().

◆ translation_context

◆ usage_inference_fn

std::unique_ptr<InputSocketUsageInferenceFn> blender::nodes::SocketDeclaration::usage_inference_fn

Determines whether this input socket is used based on other input values and based on which outputs are used.

Definition at line 273 of file NOD_node_declaration.hh.

Referenced by blender::nodes::BaseSocketDeclarationBuilder::usage_by_menu().


The documentation for this class was generated from the following files: