Blender V5.0
NOD_socket_items.hh File Reference
#include <optional>
#include "BLI_string.h"
#include "BLI_string_utils.hh"
#include "BKE_node.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.hh"
#include "DNA_array_utils.hh"
#include "NOD_socket.hh"

Go to the source code of this file.

Classes

struct  blender::nodes::socket_items::SocketItemsAccessorDefaults
struct  blender::nodes::socket_items::SocketItemsRef< T >

Namespaces

namespace  blender
namespace  blender::nodes
namespace  blender::nodes::socket_items
namespace  blender::nodes::socket_items::detail

Functions

template<typename Accessor>
bNodeblender::nodes::socket_items::find_node_by_item (bNodeTree &ntree, const typename Accessor::ItemT &item)
template<typename Accessor>
Accessor::ItemT * blender::nodes::socket_items::find_item_by_identifier (bNode &node, const StringRef identifier)
template<typename Accessor>
void blender::nodes::socket_items::destruct_array (bNode &node)
template<typename Accessor>
void blender::nodes::socket_items::clear (bNode &node)
template<typename Accessor>
void blender::nodes::socket_items::copy_array (const bNode &src_node, bNode &dst_node)
template<typename Accessor>
std::string blender::nodes::socket_items::get_validated_name (const StringRef name)
template<typename Accessor>
void blender::nodes::socket_items::set_item_name_and_make_unique (bNode &node, typename Accessor::ItemT &item, const char *value)
template<typename Accessor>
Accessor::ItemT & blender::nodes::socket_items::detail::add_item_to_array (bNode &node)
template<typename Accessor>
Accessor::ItemT * blender::nodes::socket_items::add_item_with_socket_type_and_name (bNodeTree &ntree, bNode &node, const eNodeSocketDatatype socket_type, const char *name, std::optional< int > dimensions=std::nullopt)
template<typename Accessor>
Accessor::ItemT * blender::nodes::socket_items::add_item_with_name (bNode &node, const char *name)
template<typename Accessor>
Accessor::ItemT * blender::nodes::socket_items::add_item (bNode &node)
template<typename Accessor>
std::string blender::nodes::socket_items::get_socket_identifier (const typename Accessor::ItemT &item, const eNodeSocketInOut in_out)
std::optional< eNodeSocketDatatypeblender::nodes::socket_items::get_socket_item_type_to_add (const eNodeSocketDatatype linked_type, const FunctionRef< bool(eNodeSocketDatatype type)> is_supported)
template<typename Accessor>
bool blender::nodes::socket_items::try_add_item_via_extend_socket (bNodeTree &ntree, bNode &extend_node, bNodeSocket &extend_socket, bNode &storage_node, bNodeLink &link, typename Accessor::ItemT **r_new_item=nullptr)
template<typename Accessor>
bool blender::nodes::socket_items::try_add_item_via_any_extend_socket (bNodeTree &ntree, bNode &extend_node, bNode &storage_node, bNodeLink &link, const std::optional< StringRef > socket_identifier=std::nullopt, typename Accessor::ItemT **r_new_item=nullptr)