Blender V5.0
blender::bke::bNodeSocketType Struct Reference

Defines a socket type. More...

#include <BKE_node.hh>

Public Attributes

std::string idname
std::string label
std::string subtype_label
void(* draw )(bContext *C, uiLayout *layout, PointerRNA *ptr, PointerRNA *node_ptr, StringRef text) = nullptr
void(* draw_color )(bContext *C, PointerRNA *ptr, PointerRNA *node_ptr, float *r_color) = nullptr
void(* draw_color_simple )(const bNodeSocketType *socket_type, float *r_color) = nullptr
void(* interface_draw )(ID *id, bNodeTreeInterfaceSocket *socket, bContext *C, uiLayout *layout) = nullptr
void(* interface_init_socket )(ID *id, const bNodeTreeInterfaceSocket *interface_socket, bNode *node, bNodeSocket *socket, StringRefNull data_path) = nullptr
void(* interface_from_socket )(ID *id, bNodeTreeInterfaceSocket *interface_socket, const bNode *node, const bNodeSocket *socket) = nullptr
ExtensionRNA ext_socket = {}
ExtensionRNA ext_interface = {}
eNodeSocketDatatype type = eNodeSocketDatatype(0)
int subtype = 0
bool use_link_limits_of_type = false
int input_link_limit = 0
int output_link_limit = 0
void(* free_self )(bNodeSocketType *stype) = nullptr
const blender::CPPTypebase_cpp_type = nullptr
SocketGetCPPValueFunction get_base_cpp_value = nullptr
SocketGetGeometryNodesCPPValueFunction get_geometry_nodes_cpp_value = nullptr
const SocketValueVariantgeometry_nodes_default_value = nullptr

Detailed Description

Defines a socket type.

Defines the appearance and behavior of a socket in the UI.

Definition at line 158 of file BKE_node.hh.

Member Data Documentation

◆ base_cpp_type

◆ draw

void(* blender::bke::bNodeSocketType::draw) (bContext *C, uiLayout *layout, PointerRNA *ptr, PointerRNA *node_ptr, StringRef text) = nullptr

◆ draw_color

void(* blender::bke::bNodeSocketType::draw_color) (bContext *C, PointerRNA *ptr, PointerRNA *node_ptr, float *r_color) = nullptr

◆ draw_color_simple

void(* blender::bke::bNodeSocketType::draw_color_simple) (const bNodeSocketType *socket_type, float *r_color) = nullptr

◆ ext_interface

ExtensionRNA blender::bke::bNodeSocketType::ext_interface = {}

Definition at line 190 of file BKE_node.hh.

Referenced by make_standard_socket_type().

◆ ext_socket

◆ free_self

void(* blender::bke::bNodeSocketType::free_self) (bNodeSocketType *stype) = nullptr

◆ geometry_nodes_default_value

◆ get_base_cpp_value

◆ get_geometry_nodes_cpp_value

◆ idname

◆ input_link_limit

int blender::bke::bNodeSocketType::input_link_limit = 0

◆ interface_draw

void(* blender::bke::bNodeSocketType::interface_draw) (ID *id, bNodeTreeInterfaceSocket *socket, bContext *C, uiLayout *layout) = nullptr

◆ interface_from_socket

void(* blender::bke::bNodeSocketType::interface_from_socket) (ID *id, bNodeTreeInterfaceSocket *interface_socket, const bNode *node, const bNodeSocket *socket) = nullptr

◆ interface_init_socket

void(* blender::bke::bNodeSocketType::interface_init_socket) (ID *id, const bNodeTreeInterfaceSocket *interface_socket, bNode *node, bNodeSocket *socket, StringRefNull data_path) = nullptr

Definition at line 178 of file BKE_node.hh.

Referenced by blender::nodes::get_init_socket_fn(), and make_standard_socket_type().

◆ label

std::string blender::bke::bNodeSocketType::label

◆ output_link_limit

int blender::bke::bNodeSocketType::output_link_limit = 0

◆ subtype

int blender::bke::bNodeSocketType::subtype = 0

◆ subtype_label

std::string blender::bke::bNodeSocketType::subtype_label

Sub-type label.

Definition at line 164 of file BKE_node.hh.

Referenced by make_standard_socket_type().

◆ type

eNodeSocketDatatype blender::bke::bNodeSocketType::type = eNodeSocketDatatype(0)

Definition at line 193 of file BKE_node.hh.

Referenced by blender::nodes::add_attribute_search_or_value_buttons(), blender::nodes::BundleItemValue::as_socket_value(), blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::build_interface_socket_declaration(), blender::ed::object::check_geometry_node_group_sockets(), blender::check_property_socket_sync(), composite_node_tree_socket_type_valid(), blender::bke::bake::copy_bake_item_to_socket_value(), blender::bke::node_field_inferencing::determine_group_input_states(), do_version_vector_sockets_dimensions(), blender::nodes::draw_output_attributes_panel(), blender::nodes::draw_property_for_socket(), ED_init_standard_node_socket_type(), ED_node_type_draw_color(), blender::nodes::execute_geometry_nodes_on_geometry(), blender::bke::node_tree_reference_lifetimes::find_reference_sets(), blender::ed::space_node::gather_socket_link_operations(), blender::nodes::LazyFunctionForEvaluateClosureNode::generate_closure_compatibility_warnings(), geometry_node_tree_socket_type_valid(), blender::nodes::get_geometry_nodes_input_inference_values(), blender::bke::get_internal_link_type_priority(), blender::nodes::LinkedBundleSignatures::get_merged_signature(), blender::nodes::LinkedClosureSignatures::get_merged_signature(), blender::nodes::has_output_attribute(), blender::nodes::id_property_create_from_socket(), blender::nodes::implicitly_convert_socket_value(), blender::nodes::initialize_group_input(), blender::nodes::input_has_attribute_toggle(), is_layer_selection_field(), blender::nodes::node_geo_viewer_cc::log_viewer_attribute(), make_socket_type_virtual(), make_standard_socket_type(), blender::bke::bake::move_common_socket_value_to_bake_item(), blender::bke::node_foreach_working_space_color(), blender::nodes::node_geo_separate_bundle_cc::node_geo_exec(), blender::bke::node_modify_socket_type(), blender::bke::node_socket_set_typeinfo(), blender::ed::space_node::node_tree_interface_draw(), blender::nodes::old_id_property_type_matches_socket_convert_to_new(), blender::ed::space_node::search_link_ops_for_asset_metadata(), shader_node_tree_socket_type_valid(), blender::nodes::socket_type_supports_default_input_type(), blender::ed::space_node::std_node_socket_color_simple_fn(), blender::ed::space_node::std_node_socket_interface_draw(), blender::nodes::sync_sockets_closure(), blender::nodes::sync_sockets_combine_bundle(), blender::nodes::sync_sockets_evaluate_closure(), blender::nodes::sync_sockets_separate_bundle(), texture_node_tree_socket_type_valid(), blender::bke::node_interface::socket_types::try_get_supported_socket_type(), blender::ed::space_node::ui_node_link_items(), blender::nodes::update_input_properties_from_node_tree(), blender::nodes::update_output_properties_from_node_tree(), and version_node_add_socket().

◆ use_link_limits_of_type

bool blender::bke::bNodeSocketType::use_link_limits_of_type = false

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