Blender V4.3
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_matrix.h"
#include "BLI_math_matrix.hh"
#include "BLI_math_quaternion_types.hh"
#include "BLI_math_vector.h"
#include "BLI_math_vector_types.hh"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_geometry_set.hh"
#include "BKE_lib_id.hh"
#include "BKE_node.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_node_declaration.hh"
#include "NOD_socket.hh"
#include "NOD_socket_declarations.hh"
#include "NOD_socket_declarations_geometry.hh"

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::nodes
 

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)
 
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, const char *)
 
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 (int type, int subtype)
 
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_float (PropertySubType subtype)
 
static bke::bNodeSocketTypemake_socket_type_int (PropertySubType subtype)
 
static bke::bNodeSocketTypemake_socket_type_vector (PropertySubType subtype)
 
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 ()
 

Function Documentation

◆ ED_init_node_socket_type_virtual()

void ED_init_node_socket_type_virtual ( bke::bNodeSocketType * stype)

Definition at line 1612 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 1603 of file drawnode.cc.

Referenced by make_standard_socket_type().

◆ make_socket_type_bool()

◆ 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()

static bke::bNodeSocketType * make_standard_socket_type ( int type,
int subtype )
static

Definition at line 850 of file node_socket.cc.

References BLI_assert, 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, MEM_freeN(), 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(), STRNCPY, 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_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()

void node_socket_copy_default_value ( bNodeSocket * to,
const bNodeSocket * from )

◆ 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()

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

Definition at line 839 of file node_socket.cc.

Referenced by make_standard_socket_type().

◆ standard_node_socket_interface_init_socket()

static void standard_node_socket_interface_init_socket ( ID * ,
const bNodeTreeInterfaceSocket * interface_socket,
bNode * ,
bNodeSocket * sock,
const char *  )
static

◆ verify_socket_template()

◆ verify_socket_template_list()