Blender V4.3
blender::bke::node_interface::socket_types Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  bNodeSocketStaticTypeInfo
 

Functions

template<typename Fn >
bool socket_data_to_static_type (const eNodeSocketDatatype type, const Fn &fn)
 
template<typename Fn >
bool socket_data_to_static_type (const StringRef socket_type, const Fn &fn)
 
template<typename Fn >
void socket_data_to_static_type_tag (const StringRef socket_type, const Fn &fn)
 
static const char * try_get_supported_socket_type (const StringRef socket_type)
 
ID User Increment in Socket Data
template<typename T >
void socket_data_id_user_increment (T &)
 
template<>
void socket_data_id_user_increment (bNodeSocketValueObject &data)
 
template<>
void socket_data_id_user_increment (bNodeSocketValueImage &data)
 
template<>
void socket_data_id_user_increment (bNodeSocketValueCollection &data)
 
template<>
void socket_data_id_user_increment (bNodeSocketValueTexture &data)
 
template<>
void socket_data_id_user_increment (bNodeSocketValueMaterial &data)
 
ID User Decrement in Socket Data
template<typename T >
void socket_data_id_user_decrement (T &)
 
template<>
void socket_data_id_user_decrement (bNodeSocketValueObject &data)
 
template<>
void socket_data_id_user_decrement (bNodeSocketValueImage &data)
 
template<>
void socket_data_id_user_decrement (bNodeSocketValueCollection &data)
 
template<>
void socket_data_id_user_decrement (bNodeSocketValueTexture &data)
 
template<>
void socket_data_id_user_decrement (bNodeSocketValueMaterial &data)
 
Initialize Socket Data
template<typename T >
void socket_data_init_impl (T &)
 
template<>
void socket_data_init_impl (bNodeSocketValueFloat &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueInt &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueBoolean &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueRotation &)
 
template<>
void socket_data_init_impl (bNodeSocketValueVector &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueRGBA &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueString &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueObject &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueImage &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueCollection &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueTexture &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueMaterial &data)
 
template<>
void socket_data_init_impl (bNodeSocketValueMenu &data)
 
static void * make_socket_data (const StringRef socket_type)
 
Free Allocated Socket Data
template<typename T >
void socket_data_free_impl (T &, const bool)
 
template<>
void socket_data_free_impl (bNodeSocketValueMenu &dst, const bool)
 
static void socket_data_free (bNodeTreeInterfaceSocket &socket, const bool do_id_user)
 
Copy Allocated Socket Data
template<typename T >
void socket_data_copy_impl (T &, const T &)
 
template<>
void socket_data_copy_impl (bNodeSocketValueMenu &dst, const bNodeSocketValueMenu &)
 
static void socket_data_copy (bNodeTreeInterfaceSocket &dst, const bNodeTreeInterfaceSocket &src, int flag)
 
static void socket_data_copy_ptr (bNodeTreeInterfaceSocket &dst, const void *src_socket_data, int flag)
 
Write Socket Data to Blend File
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueFloat &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueInt &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueBoolean &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueRotation &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueVector &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueRGBA &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueString &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueObject &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueImage &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueCollection &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueTexture &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueMaterial &data)
 
void socket_data_write_impl (BlendWriter *writer, bNodeSocketValueMenu &data)
 
static void socket_data_write (BlendWriter *writer, bNodeTreeInterfaceSocket &socket)
 
Read Socket Data from Blend File
template<typename T >
void socket_data_read_data_impl (BlendDataReader *reader, T **data)
 
template<>
void socket_data_read_data_impl (BlendDataReader *reader, bNodeSocketValueMenu **data)
 
static void socket_data_read_data (BlendDataReader *reader, bNodeTreeInterfaceSocket &socket)
 
Callback per ID Pointer
template<typename T >
void socket_data_foreach_id_impl (LibraryForeachIDData *, T &)
 
template<>
void socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueObject &data)
 
template<>
void socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueImage &data)
 
template<>
void socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueCollection &data)
 
template<>
void socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueTexture &data)
 
template<>
void socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueMaterial &data)
 
static void socket_data_foreach_id (LibraryForeachIDData *data, bNodeTreeInterfaceSocket &socket)
 

Variables

static const bNodeSocketStaticTypeInfo node_socket_subtypes []
 

Function Documentation

◆ make_socket_data()

static void * blender::bke::node_interface::socket_types::make_socket_data ( const StringRef socket_type)
static

◆ socket_data_copy()

static void blender::bke::node_interface::socket_types::socket_data_copy ( bNodeTreeInterfaceSocket & dst,
const bNodeTreeInterfaceSocket & src,
int flag )
static

◆ socket_data_copy_impl() [1/2]

template<>
void blender::bke::node_interface::socket_types::socket_data_copy_impl ( bNodeSocketValueMenu & dst,
const bNodeSocketValueMenu &  )

◆ socket_data_copy_impl() [2/2]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_copy_impl ( T & ,
const T &  )

◆ socket_data_copy_ptr()

◆ socket_data_foreach_id()

static void blender::bke::node_interface::socket_types::socket_data_foreach_id ( LibraryForeachIDData * data,
bNodeTreeInterfaceSocket & socket )
static

◆ socket_data_foreach_id_impl() [1/6]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl ( LibraryForeachIDData * ,
T &  )

◆ socket_data_foreach_id_impl() [2/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl ( LibraryForeachIDData * cb,
bNodeSocketValueCollection & data )

◆ socket_data_foreach_id_impl() [3/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl ( LibraryForeachIDData * cb,
bNodeSocketValueImage & data )

◆ socket_data_foreach_id_impl() [4/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl ( LibraryForeachIDData * cb,
bNodeSocketValueMaterial & data )

◆ socket_data_foreach_id_impl() [5/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl ( LibraryForeachIDData * cb,
bNodeSocketValueObject & data )

◆ socket_data_foreach_id_impl() [6/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl ( LibraryForeachIDData * cb,
bNodeSocketValueTexture & data )

◆ socket_data_free()

static void blender::bke::node_interface::socket_types::socket_data_free ( bNodeTreeInterfaceSocket & socket,
const bool do_id_user )
static

◆ socket_data_free_impl() [1/2]

template<>
void blender::bke::node_interface::socket_types::socket_data_free_impl ( bNodeSocketValueMenu & dst,
const bool  )

Definition at line 201 of file node_tree_interface.cc.

References bNodeSocketValueMenu::enum_items.

◆ socket_data_free_impl() [2/2]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_free_impl ( T & ,
const bool  )

Definition at line 200 of file node_tree_interface.cc.

Referenced by socket_data_free().

◆ socket_data_id_user_decrement() [1/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement ( bNodeSocketValueCollection & data)

Definition at line 98 of file node_tree_interface.cc.

References id_us_min().

◆ socket_data_id_user_decrement() [2/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement ( bNodeSocketValueImage & data)

Definition at line 94 of file node_tree_interface.cc.

References id_us_min().

◆ socket_data_id_user_decrement() [3/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement ( bNodeSocketValueMaterial & data)

Definition at line 106 of file node_tree_interface.cc.

References id_us_min().

◆ socket_data_id_user_decrement() [4/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement ( bNodeSocketValueObject & data)

Definition at line 90 of file node_tree_interface.cc.

References id_us_min().

◆ socket_data_id_user_decrement() [5/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement ( bNodeSocketValueTexture & data)

Definition at line 102 of file node_tree_interface.cc.

References id_us_min().

◆ socket_data_id_user_decrement() [6/6]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement ( T & )

Definition at line 89 of file node_tree_interface.cc.

◆ socket_data_id_user_increment() [1/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment ( bNodeSocketValueCollection & data)

Definition at line 70 of file node_tree_interface.cc.

References id_us_plus().

◆ socket_data_id_user_increment() [2/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment ( bNodeSocketValueImage & data)

Definition at line 66 of file node_tree_interface.cc.

References id_us_plus().

◆ socket_data_id_user_increment() [3/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment ( bNodeSocketValueMaterial & data)

Definition at line 78 of file node_tree_interface.cc.

References id_us_plus().

◆ socket_data_id_user_increment() [4/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment ( bNodeSocketValueObject & data)

Definition at line 62 of file node_tree_interface.cc.

References id_us_plus().

◆ socket_data_id_user_increment() [5/6]

template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment ( bNodeSocketValueTexture & data)

Definition at line 74 of file node_tree_interface.cc.

References id_us_plus().

◆ socket_data_id_user_increment() [6/6]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_id_user_increment ( T & )

Definition at line 61 of file node_tree_interface.cc.

Referenced by socket_data_copy_ptr().

◆ socket_data_init_impl() [1/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueBoolean & data)

Definition at line 132 of file node_tree_interface.cc.

◆ socket_data_init_impl() [2/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueCollection & data)

Definition at line 163 of file node_tree_interface.cc.

◆ socket_data_init_impl() [3/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueFloat & data)

Definition at line 118 of file node_tree_interface.cc.

References FLT_MAX, and PROP_NONE.

◆ socket_data_init_impl() [4/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueImage & data)

Definition at line 159 of file node_tree_interface.cc.

◆ socket_data_init_impl() [5/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueInt & data)

Definition at line 125 of file node_tree_interface.cc.

References PROP_NONE.

◆ socket_data_init_impl() [6/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueMaterial & data)

Definition at line 171 of file node_tree_interface.cc.

◆ socket_data_init_impl() [7/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueMenu & data)

Definition at line 175 of file node_tree_interface.cc.

◆ socket_data_init_impl() [8/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueObject & data)

Definition at line 155 of file node_tree_interface.cc.

◆ socket_data_init_impl() [9/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueRGBA & data)

Definition at line 145 of file node_tree_interface.cc.

References copy_v4_v4().

◆ socket_data_init_impl() [10/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueRotation & )

Definition at line 136 of file node_tree_interface.cc.

◆ socket_data_init_impl() [11/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueString & data)

Definition at line 150 of file node_tree_interface.cc.

References PROP_NONE.

◆ socket_data_init_impl() [12/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueTexture & data)

Definition at line 167 of file node_tree_interface.cc.

◆ socket_data_init_impl() [13/14]

template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl ( bNodeSocketValueVector & data)

Definition at line 137 of file node_tree_interface.cc.

References copy_v3_v3(), FLT_MAX, and PROP_NONE.

◆ socket_data_init_impl() [14/14]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_init_impl ( T & )

Definition at line 117 of file node_tree_interface.cc.

Referenced by make_socket_data().

◆ socket_data_read_data()

static void blender::bke::node_interface::socket_types::socket_data_read_data ( BlendDataReader * reader,
bNodeTreeInterfaceSocket & socket )
static

◆ socket_data_read_data_impl() [1/2]

template<>
void blender::bke::node_interface::socket_types::socket_data_read_data_impl ( BlendDataReader * reader,
bNodeSocketValueMenu ** data )

Definition at line 354 of file node_tree_interface.cc.

References BLO_read_data_address, and socket_data_read_data_impl().

◆ socket_data_read_data_impl() [2/2]

template<typename T >
void blender::bke::node_interface::socket_types::socket_data_read_data_impl ( BlendDataReader * reader,
T ** data )

◆ socket_data_to_static_type() [1/2]

template<typename Fn >
bool blender::bke::node_interface::socket_types::socket_data_to_static_type ( const eNodeSocketDatatype type,
const Fn & fn )

◆ socket_data_to_static_type() [2/2]

template<typename Fn >
bool blender::bke::node_interface::socket_types::socket_data_to_static_type ( const StringRef socket_type,
const Fn & fn )

◆ socket_data_to_static_type_tag()

template<typename Fn >
void blender::bke::node_interface::socket_types::socket_data_to_static_type_tag ( const StringRef socket_type,
const Fn & fn )

◆ socket_data_write()

static void blender::bke::node_interface::socket_types::socket_data_write ( BlendWriter * writer,
bNodeTreeInterfaceSocket & socket )
static

◆ socket_data_write_impl() [1/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueBoolean & data )
inline

Definition at line 289 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [2/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueCollection & data )
inline

Definition at line 317 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [3/13]

◆ socket_data_write_impl() [4/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueImage & data )
inline

Definition at line 313 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [5/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueInt & data )
inline

Definition at line 285 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [6/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueMaterial & data )
inline

Definition at line 325 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [7/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueMenu & data )
inline

Definition at line 329 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [8/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueObject & data )
inline

Definition at line 309 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [9/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueRGBA & data )
inline

Definition at line 301 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [10/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueRotation & data )
inline

Definition at line 293 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [11/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueString & data )
inline

Definition at line 305 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [12/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueTexture & data )
inline

Definition at line 321 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ socket_data_write_impl() [13/13]

void blender::bke::node_interface::socket_types::socket_data_write_impl ( BlendWriter * writer,
bNodeSocketValueVector & data )
inline

Definition at line 297 of file node_tree_interface.cc.

References BLO_write_struct, and socket_data_write_impl().

◆ try_get_supported_socket_type()

static const char * blender::bke::node_interface::socket_types::try_get_supported_socket_type ( const StringRef socket_type)
static

Variable Documentation

◆ node_socket_subtypes

const bNodeSocketStaticTypeInfo blender::bke::node_interface::socket_types::node_socket_subtypes[]
static

Definition at line 112 of file BKE_node_tree_interface.hh.

Referenced by socket_data_to_static_type().