Blender V5.0
node_tree_interface.cc File Reference
#include <queue>
#include "BKE_idprop.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_query.hh"
#include "BKE_node.hh"
#include "BKE_node_enum.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_interface.hh"
#include "BLI_math_vector.h"
#include "BLI_stack.hh"
#include "BLI_string.h"
#include "BLO_read_write.hh"
#include "DNA_collection_types.h"
#include "DNA_material_types.h"
#include "DNA_node_tree_interface_types.h"
#include "DNA_node_types.h"
#include "NOD_node_declaration.hh"
#include "NOD_socket_declarations.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::bke
namespace  blender::bke::node_interface
namespace  blender::bke::node_interface::socket_types
namespace  blender::bke::node_interface::item_types

Typedefs

using blender::bke::node_interface::item_types::UidGeneratorFn = blender::FunctionRef<int()>

Functions

static std::optional< StringRefblender::bke::node_interface::socket_types::try_get_supported_socket_type (const StringRef socket_type)
static void blender::bke::node_interface::item_types::item_copy (bNodeTreeInterfaceItem &dst, const bNodeTreeInterfaceItem &src, int flag, UidGeneratorFn generate_uid)
static void blender::bke::node_interface::item_types::panel_init (bNodeTreeInterfacePanel &panel, const Span< const bNodeTreeInterfaceItem * > items_src, const int flag, UidGeneratorFn generate_uid)
static void blender::bke::node_interface::item_types::item_free (bNodeTreeInterfaceItem &item, const bool do_id_user)
void blender::bke::node_interface::item_types::item_write_struct (BlendWriter *writer, bNodeTreeInterfaceItem &item)
static void blender::bke::node_interface::item_types::item_write_data (BlendWriter *writer, bNodeTreeInterfaceItem &item)
static void blender::bke::node_interface::item_types::item_read_data (BlendDataReader *reader, bNodeTreeInterfaceItem &item)
static void blender::bke::node_interface::item_types::item_foreach_id (LibraryForeachIDData *data, bNodeTreeInterfaceItem &item)
static Span< bNodeTreeInterfaceItem * > blender::bke::node_interface::item_types::item_children (bNodeTreeInterfaceItem &item)
static bNodeTreeInterfaceSocketblender::bke::node_interface::make_socket (const int uid, const StringRef name, const StringRef description, const StringRef socket_type, const NodeTreeInterfaceSocketFlag flag)
bNodeTreeInterfaceSocketblender::bke::node_interface::add_interface_socket_from_node (bNodeTree &ntree, const bNode &from_node, const bNodeSocket &from_sock, StringRef socket_type, StringRef name)
static bNodeTreeInterfacePanelblender::bke::node_interface::make_panel (const int uid, const blender::StringRef name, const blender::StringRef description, const NodeTreeInterfacePanelFlag flag)
ID User Increment in Socket Data
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment (T &)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment (bNodeSocketValueObject &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment (bNodeSocketValueImage &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment (bNodeSocketValueCollection &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment (bNodeSocketValueTexture &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_increment (bNodeSocketValueMaterial &data)
ID User Decrement in Socket Data
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement (T &)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement (bNodeSocketValueObject &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement (bNodeSocketValueImage &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement (bNodeSocketValueCollection &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement (bNodeSocketValueTexture &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_id_user_decrement (bNodeSocketValueMaterial &data)
Initialize Socket Data
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_init_impl (T &)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueFloat &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueInt &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueBoolean &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueRotation &)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueVector &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueRGBA &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueString &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueObject &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueImage &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueCollection &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueTexture &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueMaterial &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_init_impl (bNodeSocketValueMenu &data)
static void * blender::bke::node_interface::socket_types::make_socket_data (const StringRef socket_type)
Free Allocated Socket Data
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_free_impl (T &, const bool)
template<>
void blender::bke::node_interface::socket_types::socket_data_free_impl (bNodeSocketValueMenu &dst, const bool)
static void blender::bke::node_interface::socket_types::socket_data_free (bNodeTreeInterfaceSocket &socket, const bool do_id_user)
Copy Allocated Socket Data
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_copy_impl (T &, const T &)
template<>
void blender::bke::node_interface::socket_types::socket_data_copy_impl (bNodeSocketValueMenu &dst, const bNodeSocketValueMenu &)
static void blender::bke::node_interface::socket_types::socket_data_copy (bNodeTreeInterfaceSocket &dst, const bNodeTreeInterfaceSocket &src, int flag)
static void blender::bke::node_interface::socket_types::socket_data_copy_ptr (bNodeTreeInterfaceSocket &dst, const void *src_socket_data, int flag)
Write Socket Data to Blend File
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueFloat &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueInt &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueBoolean &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueRotation &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueVector &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueRGBA &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueString &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueObject &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueImage &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueCollection &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueTexture &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueMaterial &data)
void blender::bke::node_interface::socket_types::socket_data_write_impl (BlendWriter *writer, bNodeSocketValueMenu &data)
static void blender::bke::node_interface::socket_types::socket_data_write (BlendWriter *writer, bNodeTreeInterfaceSocket &socket)
Read Socket Data from Blend File
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_read_data_impl (BlendDataReader *reader, T **data)
template<>
void blender::bke::node_interface::socket_types::socket_data_read_data_impl (BlendDataReader *reader, bNodeSocketValueMenu **data)
static void blender::bke::node_interface::socket_types::socket_data_read_data (BlendDataReader *reader, bNodeTreeInterfaceSocket &socket)
Callback per ID Pointer
template<typename T>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl (LibraryForeachIDData *, T &)
template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueObject &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueImage &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueCollection &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueTexture &data)
template<>
void blender::bke::node_interface::socket_types::socket_data_foreach_id_impl (LibraryForeachIDData *cb, bNodeSocketValueMaterial &data)
static void blender::bke::node_interface::socket_types::socket_data_foreach_id (LibraryForeachIDData *data, bNodeTreeInterfaceSocket &socket)