Blender V5.0
node_socket.cc File Reference
#include <climits>
#include "DNA_node_types.h"
#include "BLI_color.hh"
#include "BLI_listbase.h"
#include "BLI_math_euler.hh"
#include "BLI_math_quaternion_types.hh"
#include "BLI_math_vector.h"
#include "BLI_math_vector_types.hh"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_geometry_set.hh"
#include "BKE_lib_id.hh"
#include "BKE_node.hh"
#include "BKE_node_legacy_types.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_socket_value.hh"
#include "BKE_node_tree_update.hh"
#include "DNA_collection_types.h"
#include "DNA_material_types.h"
#include "RNA_access.hh"
#include "MEM_guardedalloc.h"
#include "NOD_geometry_nodes_bundle.hh"
#include "NOD_geometry_nodes_closure.hh"
#include "NOD_menu_value.hh"
#include "NOD_node_declaration.hh"
#include "NOD_socket.hh"

Go to the source code of this file.

Classes

class  SocketValueVariant

Namespaces

namespace  blender
namespace  blender::nodes

Typedefs

using SocketDeclarationPtr

Functions

bNodeSocketnode_add_socket_from_template (bNodeTree *ntree, bNode *node, bke::bNodeSocketTemplate *stemp, eNodeSocketInOut in_out)
static bNodeSocketverify_socket_template (bNodeTree *ntree, bNode *node, eNodeSocketInOut in_out, ListBase *socklist, bke::bNodeSocketTemplate *stemp)
static void verify_socket_template_list (bNodeTree *ntree, bNode *node, eNodeSocketInOut in_out, ListBase *socklist, bke::bNodeSocketTemplate *stemp_first)
static void blender::nodes::refresh_node_socket (bNodeTree &ntree, bNode &node, const SocketDeclaration &socket_decl, Vector< bNodeSocket * > &old_sockets, VectorSet< bNodeSocket * > &new_sockets, const bool hide_new_sockets)
static void blender::nodes::refresh_node_panel (const PanelDeclaration &panel_decl, Vector< bNodePanelState > &old_panels, bNodePanelState &new_panel)
static const char * blender::nodes::get_identifier_from_decl (const char *identifier_prefix, const bNodeSocket &socket, const Span< const SocketDeclaration * > socket_decls)
static const char * blender::nodes::get_identifier_from_decl (const Span< const char * > identifier_prefixes, const bNodeSocket &socket, const Span< const SocketDeclaration * > socket_decls)
static const char * blender::nodes::get_current_socket_identifier_for_future_socket (const bNode &node, const bNodeSocket &socket, const Span< const SocketDeclaration * > socket_decls)
static void blender::nodes::do_forward_compat_versioning (bNode &node, const NodeDeclaration &node_decl)
static bool blender::nodes::hide_new_group_input_sockets (const bNode &node)
static void blender::nodes::refresh_node_sockets_and_panels (bNodeTree &ntree, bNode &node, const NodeDeclaration &node_decl, const bool do_id_user)
static void blender::nodes::refresh_node (bNodeTree &ntree, bNode &node, blender::nodes::NodeDeclaration &node_decl, bool do_id_user)
void blender::nodes::update_node_declaration_and_sockets (bNodeTree &ntree, bNode &node)
bool blender::nodes::socket_type_supports_fields (const eNodeSocketDatatype socket_type)
bool blender::nodes::socket_type_supports_grids (const eNodeSocketDatatype socket_type)
bool blender::nodes::socket_type_always_single (const eNodeSocketDatatype socket_type)
void node_verify_sockets (bNodeTree *ntree, bNode *node, bool do_id_user)
void node_socket_init_default_value_data (eNodeSocketDatatype datatype, int subtype, void **data)
void node_socket_copy_default_value_data (eNodeSocketDatatype datatype, void *to, const void *from)
void node_socket_init_default_value (bNodeSocket *sock)
void node_socket_copy_default_value (bNodeSocket *to, const bNodeSocket *from)
static void standard_node_socket_interface_init_socket (ID *, const bNodeTreeInterfaceSocket *interface_socket, bNode *, bNodeSocket *sock, StringRefNull)
static void standard_node_socket_interface_from_socket (ID *, bNodeTreeInterfaceSocket *iosock, const bNode *, const bNodeSocket *sock)
void ED_init_standard_node_socket_type (bke::bNodeSocketType *)
static bke::bNodeSocketTypemake_standard_socket_type (const eNodeSocketDatatype type, int subtype, std::optional< int > dimensions=std::nullopt)
void ED_init_node_socket_type_virtual (bke::bNodeSocketType *)
static bke::bNodeSocketTypemake_socket_type_virtual ()
static bke::bNodeSocketTypemake_socket_type_bool ()
static bke::bNodeSocketTypemake_socket_type_rotation ()
static bke::bNodeSocketTypemake_socket_type_matrix ()
static bke::bNodeSocketTypemake_socket_type_bundle ()
static bke::bNodeSocketTypemake_socket_type_closure ()
static bke::bNodeSocketTypemake_socket_type_float (PropertySubType subtype)
static bke::bNodeSocketTypemake_socket_type_int (PropertySubType subtype)
static bke::bNodeSocketTypemake_socket_type_vector (PropertySubType subtype, const int dimensions)
static bke::bNodeSocketTypemake_socket_type_rgba ()
static bke::bNodeSocketTypemake_socket_type_string (PropertySubType subtype)
static bke::bNodeSocketTypemake_socket_type_menu ()
static bke::bNodeSocketTypemake_socket_type_object ()
static bke::bNodeSocketTypemake_socket_type_geometry ()
static bke::bNodeSocketTypemake_socket_type_collection ()
static bke::bNodeSocketTypemake_socket_type_texture ()
static bke::bNodeSocketTypemake_socket_type_image ()
static bke::bNodeSocketTypemake_socket_type_material ()
void register_standard_node_socket_types ()

Typedef Documentation

◆ SocketDeclarationPtr

Function Documentation

◆ ED_init_node_socket_type_virtual()

void ED_init_node_socket_type_virtual ( bke::bNodeSocketType * stype)

Definition at line 1502 of file drawnode.cc.

Referenced by make_socket_type_virtual().

◆ ED_init_standard_node_socket_type()

void ED_init_standard_node_socket_type ( bke::bNodeSocketType * stype)

Definition at line 1493 of file drawnode.cc.

Referenced by make_standard_socket_type().

◆ make_socket_type_bool()

◆ make_socket_type_bundle()

◆ make_socket_type_closure()

◆ make_socket_type_collection()

◆ make_socket_type_float()

◆ make_socket_type_geometry()

◆ make_socket_type_image()

◆ make_socket_type_int()

◆ make_socket_type_material()

◆ make_socket_type_matrix()

◆ make_socket_type_menu()

◆ make_socket_type_object()

◆ make_socket_type_rgba()

◆ make_socket_type_rotation()

◆ make_socket_type_string()

◆ make_socket_type_texture()

◆ make_socket_type_vector()

◆ make_socket_type_virtual()

◆ make_standard_socket_type()

bke::bNodeSocketType * make_standard_socket_type ( const eNodeSocketDatatype type,
int subtype,
std::optional< int > dimensions = std::nullopt )
static

Definition at line 887 of file node_socket.cc.

References BLI_assert, blender::StringRefNull::c_str(), ED_init_standard_node_socket_type(), blender::bke::bNodeSocketType::ext_interface, blender::bke::bNodeSocketType::ext_socket, blender::bke::bNodeSocketType::free_self, blender::bke::bNodeSocketType::idname, blender::bke::bNodeSocketType::input_link_limit, blender::bke::bNodeSocketType::interface_from_socket, blender::bke::bNodeSocketType::interface_init_socket, blender::bke::bNodeSocketType::label, blender::bke::node_socket_sub_type_label(), blender::bke::node_static_socket_interface_type_new(), blender::bke::node_static_socket_label(), blender::bke::node_static_socket_type(), blender::bke::bNodeSocketType::output_link_limit, RNA_struct_blender_type_set(), RNA_struct_find(), ExtensionRNA::srna, standard_node_socket_interface_from_socket(), standard_node_socket_interface_init_socket(), blender::bke::bNodeSocketType::subtype, blender::bke::bNodeSocketType::subtype_label, blender::bke::bNodeSocketType::type, and blender::bke::bNodeSocketType::use_link_limits_of_type.

Referenced by make_socket_type_bool(), make_socket_type_bundle(), make_socket_type_closure(), make_socket_type_collection(), make_socket_type_float(), make_socket_type_geometry(), make_socket_type_image(), make_socket_type_int(), make_socket_type_material(), make_socket_type_matrix(), make_socket_type_menu(), make_socket_type_object(), make_socket_type_rgba(), make_socket_type_rotation(), make_socket_type_string(), make_socket_type_texture(), make_socket_type_vector(), and register_standard_node_socket_types().

◆ node_add_socket_from_template()

◆ node_socket_copy_default_value()

◆ node_socket_copy_default_value_data()

◆ node_socket_init_default_value()

◆ node_socket_init_default_value_data()

◆ node_verify_sockets()

◆ register_standard_node_socket_types()

◆ standard_node_socket_interface_from_socket()

void standard_node_socket_interface_from_socket ( ID * ,
bNodeTreeInterfaceSocket * iosock,
const bNode * ,
const bNodeSocket * sock )
static

Definition at line 876 of file node_socket.cc.

Referenced by make_standard_socket_type().

◆ standard_node_socket_interface_init_socket()

◆ verify_socket_template()

◆ verify_socket_template_list()