Blender V5.0
blender::nodes::NodeDeclarationBuilder Class Reference

#include <NOD_node_declaration.hh>

Inherits blender::nodes::DeclarationListBuilder.

Public Member Functions

 NodeDeclarationBuilder (const bke::bNodeType &typeinfo, NodeDeclaration &declaration, const bNodeTree *ntree=nullptr, const bNode *node=nullptr)
const bNodenode_or_null () const
const bNodeTreetree_or_null () const
void is_function_node ()
void finalize ()
void use_custom_socket_order (bool enable=true)
void allow_any_socket_order (bool enable=true)
aal::RelationsInNode & get_anonymous_attribute_relations ()
NodeDeclarationdeclaration ()
Public Member Functions inherited from blender::nodes::DeclarationListBuilder
 DeclarationListBuilder (NodeDeclarationBuilder &node_decl_builder, Vector< ItemDeclaration * > &items)
BaseSocketDeclarationBuilderadd_input (eNodeSocketDatatype socket_type, StringRef name, StringRef identifier="")
BaseSocketDeclarationBuilderadd_input (eCustomDataType data_type, StringRef name, StringRef identifier="")
BaseSocketDeclarationBuilderadd_output (eNodeSocketDatatype socket_type, StringRef name, StringRef identifier="")
BaseSocketDeclarationBuilderadd_output (eCustomDataType data_type, StringRef name, StringRef identifier="")
PanelDeclarationBuilderadd_panel (StringRef name, int identifier=-1)
void add_separator ()
void add_default_layout ()
void add_layout (std::function< void(uiLayout *, bContext *, PointerRNA *)> draw)
template<typename DeclType>
DeclType::Builder & add_socket (StringRef name, StringRef identifier, eNodeSocketInOut in_out)
template<typename DeclType>
DeclType::Builder & add_input (StringRef name, StringRef identifier="")
template<typename DeclType>
DeclType::Builder & add_output (StringRef name, StringRef identifier="")

Additional Inherited Members

Public Attributes inherited from blender::nodes::DeclarationListBuilder
NodeDeclarationBuildernode_decl_builder
Vector< ItemDeclaration * > & items
PanelDeclarationparent_panel_decl = nullptr

Detailed Description

Definition at line 664 of file NOD_node_declaration.hh.

Constructor & Destructor Documentation

◆ NodeDeclarationBuilder()

blender::nodes::NodeDeclarationBuilder::NodeDeclarationBuilder ( const bke::bNodeType & typeinfo,
NodeDeclaration & declaration,
const bNodeTree * ntree = nullptr,
const bNode * node = nullptr )

Definition at line 114 of file node_declaration.cc.

References declaration(), and UNUSED_VARS.

Member Function Documentation

◆ allow_any_socket_order()

void blender::nodes::NodeDeclarationBuilder::allow_any_socket_order ( bool enable = true)

Definition at line 133 of file node_declaration.cc.

References BLI_assert.

◆ declaration()

NodeDeclaration & blender::nodes::NodeDeclarationBuilder::declaration ( )
inline

Definition at line 718 of file NOD_node_declaration.hh.

Referenced by NodeDeclarationBuilder().

◆ finalize()

void blender::nodes::NodeDeclarationBuilder::finalize ( )

◆ get_anonymous_attribute_relations()

aal::RelationsInNode & blender::nodes::NodeDeclarationBuilder::get_anonymous_attribute_relations ( )
inline

Definition at line 710 of file NOD_node_declaration.hh.

◆ is_function_node()

void blender::nodes::NodeDeclarationBuilder::is_function_node ( )
inline

All inputs support fields, and all outputs are fields if any of the inputs is a field. Calling field status definitions on each socket is unnecessary.

Definition at line 700 of file NOD_node_declaration.hh.

◆ node_or_null()

const bNode * blender::nodes::NodeDeclarationBuilder::node_or_null ( ) const
inline

Definition at line 684 of file NOD_node_declaration.hh.

◆ tree_or_null()

const bNodeTree * blender::nodes::NodeDeclarationBuilder::tree_or_null ( ) const
inline

Definition at line 690 of file NOD_node_declaration.hh.

◆ use_custom_socket_order()

void blender::nodes::NodeDeclarationBuilder::use_custom_socket_order ( bool enable = true)

Definition at line 128 of file node_declaration.cc.


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