Blender V5.0
blender::nodes::SocketDeclarationBuilder< SocketDecl > Class Template Reference

#include <NOD_node_declaration.hh>

Inherits blender::nodes::BaseSocketDeclarationBuilder.

Inherited by blender::nodes::decl::IDSocketDeclarationBuilder< Object >, blender::nodes::decl::IDSocketDeclarationBuilder< Material >, blender::nodes::decl::IDSocketDeclarationBuilder< Collection >, blender::nodes::decl::IDSocketDeclarationBuilder< Texture >, and blender::nodes::decl::IDSocketDeclarationBuilder< Image >.

Protected Types

using Self = typename SocketDecl::Builder

Protected Attributes

SocketDecl * decl_
Protected Attributes inherited from blender::nodes::BaseSocketDeclarationBuilder
bool reference_pass_all_ = false
bool field_on_all_ = false
bool propagate_from_all_ = false
NodeDeclarationBuildernode_decl_builder_ = nullptr
SocketDeclarationdecl_base_ = nullptr

Friends

class NodeDeclarationBuilder
class DeclarationListBuilder

Additional Inherited Members

Public Member Functions inherited from blender::nodes::BaseSocketDeclarationBuilder
virtual ~BaseSocketDeclarationBuilder ()=default
BaseSocketDeclarationBuilderoptional_label (bool value=true)
BaseSocketDeclarationBuilderhide_value (bool value=true)
BaseSocketDeclarationBuildermulti_input (bool value=true)
BaseSocketDeclarationBuildercompact (bool value=true)
BaseSocketDeclarationBuildershort_label (std::string value="")
BaseSocketDeclarationBuilderdescription (std::string value="")
BaseSocketDeclarationBuildertranslation_context (std::optional< std::string > value=std::nullopt)
BaseSocketDeclarationBuilderno_muted_links (bool value=true)
BaseSocketDeclarationBuilderavailable (bool value=true)
BaseSocketDeclarationBuilderis_attribute_name (bool value=true)
BaseSocketDeclarationBuilderis_default_link_socket (bool value=true)
BaseSocketDeclarationBuilderdefault_input_type (NodeDefaultInputType value)
BaseSocketDeclarationBuildersupports_field ()
BaseSocketDeclarationBuilderfield_on_all ()
BaseSocketDeclarationBuilderfield_source ()
BaseSocketDeclarationBuilderimplicit_field (NodeDefaultInputType default_input)
BaseSocketDeclarationBuilderimplicit_field_on_all (NodeDefaultInputType default_input)
BaseSocketDeclarationBuilderimplicit_field_on (NodeDefaultInputType default_input, Span< int > input_indices)
BaseSocketDeclarationBuilderfield_on (Span< int > indices)
BaseSocketDeclarationBuilderdependent_field ()
BaseSocketDeclarationBuilderdependent_field (Vector< int > input_dependencies)
BaseSocketDeclarationBuilderfield_source_reference_all ()
BaseSocketDeclarationBuilderreference_pass (Span< int > input_indices)
BaseSocketDeclarationBuilderreference_pass_all ()
BaseSocketDeclarationBuilderpropagate_all ()
BaseSocketDeclarationBuilderpropagate_all_instance_attributes ()
BaseSocketDeclarationBuildercompositor_realization_mode (CompositorInputRealizationMode value)
BaseSocketDeclarationBuildercompositor_domain_priority (int priority)
BaseSocketDeclarationBuildermake_available (std::function< void(bNode &)> fn)
BaseSocketDeclarationBuildercustom_draw (CustomSocketDrawFn fn)
BaseSocketDeclarationBuilderusage_inference (InputSocketUsageInferenceFn fn)
BaseSocketDeclarationBuilderusage_by_single_menu (const int menu_value)
BaseSocketDeclarationBuilderusage_by_menu (const StringRef menu_input_identifier, const int menu_value)
BaseSocketDeclarationBuilderusage_by_menu (const StringRef menu_input_identifier, const Array< int > menu_values)
BaseSocketDeclarationBuilderalign_with_previous (bool value=true)
BaseSocketDeclarationBuildersocket_name_ptr (PointerRNA ptr, StringRef property_name)
BaseSocketDeclarationBuildersocket_name_ptr (const ID *id, const StructRNA *srna, const void *data, StringRef property_name)
BaseSocketDeclarationBuilderpanel_toggle (bool value=true)
BaseSocketDeclarationBuilderstructure_type (StructureType structure_type)
BaseSocketDeclarationBuilderis_layer_name (bool value=true)
BaseSocketDeclarationBuilderis_volume_grid_name (bool value=true)
int index () const
bool is_input () const
bool is_output () const

Detailed Description

template<typename SocketDecl>
class blender::nodes::SocketDeclarationBuilder< SocketDecl >

Wraps a SocketDeclaration and provides methods to set it up correctly. This is separate from SocketDeclaration, because it allows separating the API used by nodes to declare themselves from how the declaration is stored internally.

Definition at line 493 of file NOD_node_declaration.hh.

Member Typedef Documentation

◆ Self

template<typename SocketDecl>
using blender::nodes::SocketDeclarationBuilder< SocketDecl >::Self = typename SocketDecl::Builder
protected

Definition at line 495 of file NOD_node_declaration.hh.

◆ DeclarationListBuilder

template<typename SocketDecl>
friend class DeclarationListBuilder
friend

Definition at line 500 of file NOD_node_declaration.hh.

References DeclarationListBuilder.

Referenced by DeclarationListBuilder.

◆ NodeDeclarationBuilder

template<typename SocketDecl>
friend class NodeDeclarationBuilder
friend

Definition at line 499 of file NOD_node_declaration.hh.

References NodeDeclarationBuilder.

Referenced by NodeDeclarationBuilder.

Member Data Documentation

◆ decl_

template<typename SocketDecl>
SocketDecl* blender::nodes::SocketDeclarationBuilder< SocketDecl >::decl_
protected

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