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

#include <NOD_socket_declarations.hh>

Inherits blender::nodes::SocketDeclaration.

Public Types

using Builder = MenuBuilder

Public Member Functions

#Menu
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

MenuValue default_value
bool is_expanded = false
ImplicitSharingPtr< bke::RuntimeNodeEnumItemsitems
friend MenuBuilder
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_MENU

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 230 of file NOD_socket_declarations.hh.

Member Typedef Documentation

◆ Builder

Member Function Documentation

◆ build()

◆ can_connect()

bool Menu::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 592 of file node_socket_declarations.cc.

References SOCK_MENU, blender::nodes::decl::sockets_can_connect(), and bNodeSocket::type.

◆ matches()

bool Menu::matches ( const bNodeSocket & socket) const
overridevirtual

◆ update_or_build()

bNodeSocket & Menu::update_or_build ( bNodeTree & ntree,
bNode & node,
bNodeSocket & socket ) const
overridevirtual

Member Data Documentation

◆ default_value

◆ is_expanded

bool blender::nodes::decl::Menu::is_expanded = false

Definition at line 235 of file NOD_socket_declarations.hh.

◆ items

ImplicitSharingPtr<bke::RuntimeNodeEnumItems> blender::nodes::decl::Menu::items

Definition at line 236 of file NOD_socket_declarations.hh.

◆ MenuBuilder

friend blender::nodes::decl::Menu::MenuBuilder

Definition at line 238 of file NOD_socket_declarations.hh.

◆ static_socket_type

eNodeSocketDatatype blender::nodes::decl::Menu::static_socket_type = SOCK_MENU
staticconstexpr

Definition at line 232 of file NOD_socket_declarations.hh.


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