Blender V4.3
node_tree_interface.cc File Reference
#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_tree_interface.hh"
#include "BLI_math_vector.h"
#include "BLI_stack.hh"
#include "BLI_string.h"
#include "BLI_vector.hh"
#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"

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

Enumerations

enum  NodeTreeInterfaceChangedFlag { NODE_INTERFACE_CHANGED_NOTHING = 0 , NODE_INTERFACE_CHANGED_ITEMS = (1 << 1) , NODE_INTERFACE_CHANGED_ALL = -1 }
 

Functions

static const char * blender::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, const StringRef socket_type, const 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)
 

Enumeration Type Documentation

◆ NodeTreeInterfaceChangedFlag

These flags are used by the changed_flag field in #bNodeTreeInterfaceRuntime.

Enumerator
NODE_INTERFACE_CHANGED_NOTHING 
NODE_INTERFACE_CHANGED_ITEMS 
NODE_INTERFACE_CHANGED_ALL 

Definition at line 27 of file node_tree_interface.cc.