Blender V5.0
blender::nodes::decl::Custom Class Reference

#include <NOD_socket_declarations.hh>

Inherits blender::nodes::SocketDeclaration.

Public Types

using Builder = CustomTypeBuilder

Public Member Functions

#Custom
bNodeSocketbuild (bNodeTree &ntree, bNode &node) const override
bool matches (const bNodeSocket &socket) const override
bNodeSocketupdate_or_build (bNodeTree &ntree, bNode &node, bNodeSocket &socket) const override
bool can_connect (const bNodeSocket &socket) const override
Public Member Functions inherited from blender::nodes::SocketDeclaration
 ~SocketDeclaration () override=default
void make_available (bNode &node) const
const CompositorInputRealizationModecompositor_realization_mode () const
int compositor_domain_priority () const
Public Member Functions inherited from blender::nodes::ItemDeclaration
virtual ~ItemDeclaration ()=default

Public Attributes

friend CustomTypeBuilder
const char * idname_
std::function< void(bNode &node, bNodeSocket &socket, const char *data_path)> init_socket_fn
Public Attributes inherited from blender::nodes::SocketDeclaration
std::string name
std::string short_label
std::string identifier
std::string description
std::optional< std::string > translation_context
eNodeSocketInOut in_out
eNodeSocketDatatype socket_type
bool optional_label = false
bool hide_value = false
bool compact = false
bool is_multi_input = false
bool no_mute_links = false
bool is_available = true
bool is_attribute_name = false
bool is_default_link_socket = false
bool align_with_previous_socket = false
bool is_panel_toggle = false
bool is_layer_name = false
bool is_volume_grid_name = false
int index = -1
InputSocketFieldType input_field_type = InputSocketFieldType::None
OutputFieldDependency output_field_dependency
StructureType structure_type = StructureType::Single
NodeDefaultInputType default_input_type = NodeDefaultInputType::NODE_DEFAULT_INPUT_VALUE
std::unique_ptr< SocketNameRNAsocket_name_rna
std::unique_ptr< CustomSocketDrawFncustom_draw_fn
std::unique_ptr< InputSocketUsageInferenceFnusage_inference_fn
friend NodeDeclarationBuilder
Public Attributes inherited from blender::nodes::ItemDeclaration
const PanelDeclarationparent = nullptr

Static Public Attributes

static constexpr eNodeSocketDatatype static_socket_type = SOCK_CUSTOM

Additional Inherited Members

Protected Member Functions inherited from blender::nodes::SocketDeclaration
void set_common_flags (bNodeSocket &socket) const
bool matches_common_data (const bNodeSocket &socket) const

Detailed Description

Definition at line 414 of file NOD_socket_declarations.hh.

Member Typedef Documentation

◆ Builder

Member Function Documentation

◆ build()

bNodeSocket & blender::nodes::decl::Custom::build ( bNodeTree & ntree,
bNode & node ) const
overridevirtual

◆ can_connect()

bool blender::nodes::decl::Custom::can_connect ( const bNodeSocket & socket) const
overridevirtual

Determine if a new socket described by this declaration could have a valid connection the other socket.

Implements blender::nodes::SocketDeclaration.

Definition at line 962 of file node_socket_declarations.cc.

References bNodeSocket::idname, idname_, blender::nodes::decl::sockets_can_connect(), and STREQ.

◆ matches()

bool blender::nodes::decl::Custom::matches ( const bNodeSocket & socket) const
overridevirtual

◆ update_or_build()

bNodeSocket & blender::nodes::decl::Custom::update_or_build ( bNodeTree & ntree,
bNode & node,
bNodeSocket & socket ) const
overridevirtual

Member Data Documentation

◆ CustomTypeBuilder

friend blender::nodes::decl::Custom::CustomTypeBuilder

Definition at line 418 of file NOD_socket_declarations.hh.

◆ idname_

const char* blender::nodes::decl::Custom::idname_

Definition at line 422 of file NOD_socket_declarations.hh.

Referenced by build(), can_connect(), matches(), and update_or_build().

◆ init_socket_fn

std::function<void(bNode &node, bNodeSocket &socket, const char *data_path)> blender::nodes::decl::Custom::init_socket_fn

◆ static_socket_type

eNodeSocketDatatype blender::nodes::decl::Custom::static_socket_type = SOCK_CUSTOM
staticconstexpr

Definition at line 416 of file NOD_socket_declarations.hh.


The documentation for this class was generated from the following files: