Blender V5.0
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 std::optional< StringReftry_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()

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

◆ socket_data_copy()

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

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

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 203 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 202 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 99 of file node_tree_interface.cc.

References data, and 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 95 of file node_tree_interface.cc.

References data, and 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 107 of file node_tree_interface.cc.

References data, and 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 91 of file node_tree_interface.cc.

References data, and 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 103 of file node_tree_interface.cc.

References data, and 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 90 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 71 of file node_tree_interface.cc.

References data, and 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 67 of file node_tree_interface.cc.

References data, and 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 79 of file node_tree_interface.cc.

References data, and 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 63 of file node_tree_interface.cc.

References data, and 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 75 of file node_tree_interface.cc.

References data, and 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 62 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 133 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [2/14]

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

Definition at line 165 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [3/14]

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

Definition at line 119 of file node_tree_interface.cc.

References data, 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 161 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [5/14]

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

Definition at line 126 of file node_tree_interface.cc.

References data, and 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 173 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [7/14]

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

Definition at line 177 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [8/14]

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

Definition at line 157 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [9/14]

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

Definition at line 147 of file node_tree_interface.cc.

References copy_v4_v4(), and data.

◆ socket_data_init_impl() [10/14]

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

Definition at line 137 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 152 of file node_tree_interface.cc.

References data, and 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 169 of file node_tree_interface.cc.

References data.

◆ socket_data_init_impl() [13/14]

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

Definition at line 138 of file node_tree_interface.cc.

References copy_v3_v3(), data, 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 118 of file node_tree_interface.cc.

Referenced by make_socket_data().

◆ socket_data_read_data()

◆ 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 356 of file node_tree_interface.cc.

References BLO_read_data_address, data, 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()

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 291 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 319 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 315 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 287 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 327 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 331 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 311 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 303 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 295 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 307 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 323 of file node_tree_interface.cc.

References BLO_write_struct, data, 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 299 of file node_tree_interface.cc.

References BLO_write_struct, data, and socket_data_write_impl().

◆ try_get_supported_socket_type()

std::optional< StringRef > 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 113 of file BKE_node_tree_interface.hh.

Referenced by socket_data_to_static_type().