Blender V4.5
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::RelationsInNodeget_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 629 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 110 of file node_declaration.cc.

References UNUSED_VARS.

Member Function Documentation

◆ allow_any_socket_order()

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

◆ declaration()

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

Definition at line 683 of file NOD_node_declaration.hh.

◆ finalize()

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

◆ get_anonymous_attribute_relations()

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

◆ 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 665 of file NOD_node_declaration.hh.

◆ node_or_null()

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

◆ tree_or_null()

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

◆ use_custom_socket_order()

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

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