|
Blender V4.3
|
#include <NOD_node_declaration.hh>
Public Member Functions | |
| bool | is_valid () const |
| bool | matches (const bNode &node) const |
| Span< SocketDeclaration * > | sockets (eNodeSocketInOut in_out) const |
| const aal::RelationsInNode * | anonymous_attribute_relations () const |
Public Attributes | |
| Vector< ItemDeclarationPtr > | items |
| Vector< SocketDeclaration * > | inputs |
| Vector< SocketDeclaration * > | outputs |
| std::unique_ptr< aal::RelationsInNode > | anonymous_attribute_relations_ |
| bool | skip_updating_sockets = false |
| bool | use_custom_socket_order = false |
| bool | allow_any_socket_order = false |
| bool | is_context_dependent = false |
| friend | NodeDeclarationBuilder |
Definition at line 481 of file NOD_node_declaration.hh.
|
inline |
Definition at line 517 of file NOD_node_declaration.hh.
References anonymous_attribute_relations_.
Referenced by blender::nodes::LazyFunctionForGeometryNode::LazyFunctionForGeometryNode().
| bool blender::nodes::NodeDeclaration::is_valid | ( | ) | const |
Returns true if the declaration is considered valid.
Definition at line 167 of file node_declaration.cc.
References BLI_assert, BLI_assert_unreachable, items, NODE_INTERFACE_PANEL, NODE_INTERFACE_SOCKET, blender::Stack< T, InlineBufferCapacity, Allocator >::peek(), blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), blender::Stack< T, InlineBufferCapacity, Allocator >::push(), blender::Stack< T, InlineBufferCapacity, Allocator >::size(), SOCK_IN, SOCK_OUT, state, and use_custom_socket_order.
Referenced by blender::nodes::NodeDeclarationBuilder::finalize().
| bool blender::nodes::NodeDeclaration::matches | ( | const bNode & | node | ) | const |
Definition at line 258 of file node_declaration.cc.
References BLI_assert_unreachable, items, bNodeSocket::next, SOCK_IN, and SOCK_OUT.
Referenced by blender::nodes::refresh_node().
| Span< SocketDeclaration * > blender::nodes::NodeDeclaration::sockets | ( | eNodeSocketInOut | in_out | ) | const |
Definition at line 114 of file node_declaration.cc.
References inputs, outputs, and SOCK_IN.
Referenced by blender::nodes::search_link_ops_for_basic_node().
| bool blender::nodes::NodeDeclaration::allow_any_socket_order = false |
Usually output sockets come before input sockets currently. Only some specific nodes are exempt from that rule for now.
Definition at line 502 of file NOD_node_declaration.hh.
Referenced by blender::nodes::NodeDeclarationBuilder::allow_any_socket_order().
| std::unique_ptr<aal::RelationsInNode> blender::nodes::NodeDeclaration::anonymous_attribute_relations_ |
Definition at line 489 of file NOD_node_declaration.hh.
Referenced by anonymous_attribute_relations(), and blender::nodes::NodeDeclarationBuilder::get_anonymous_attribute_relations().
| Vector<SocketDeclaration *> blender::nodes::NodeDeclaration::inputs |
Definition at line 487 of file NOD_node_declaration.hh.
Referenced by blender::nodes::do_forward_compat_versioning(), blender::bke::node_field_inferencing::get_interface_input_field_type(), blender::ed::space_node::get_main_socket(), blender::nodes::node_fn_random_value_cc::node_gather_link_search_ops(), blender::nodes::node_geo_accumulate_field_cc::node_gather_link_searches(), blender::nodes::node_geo_attribute_statistic_cc::node_gather_link_searches(), blender::nodes::node_geo_blur_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_sample_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_trim_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_index_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_nearest_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_uv_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_group_declare(), blender::ed::space_node::socket_needs_attribute_search(), and sockets().
| bool blender::nodes::NodeDeclaration::is_context_dependent = false |
True if any context was used to build this declaration.
Definition at line 507 of file NOD_node_declaration.hh.
Referenced by blender::nodes::NodeDeclarationBuilder::node_or_null(), and blender::nodes::NodeDeclarationBuilder::tree_or_null().
| Vector<ItemDeclarationPtr> blender::nodes::NodeDeclaration::items |
Definition at line 485 of file NOD_node_declaration.hh.
Referenced by blender::nodes::NodeDeclarationBuilder::add_panel(), blender::nodes::NodeDeclarationBuilder::add_separator(), is_valid(), matches(), blender::ed::space_node::node_draw_panels(), blender::ed::space_node::node_draw_panels_background(), blender::nodes::node_group_declare(), and blender::nodes::refresh_node_sockets_and_panels().
| friend blender::nodes::NodeDeclaration::NodeDeclarationBuilder |
Definition at line 509 of file NOD_node_declaration.hh.
| Vector<SocketDeclaration *> blender::nodes::NodeDeclaration::outputs |
Definition at line 488 of file NOD_node_declaration.hh.
Referenced by blender::nodes::do_forward_compat_versioning(), blender::bke::node_field_inferencing::get_interface_output_field_dependency(), blender::ed::space_node::get_main_socket(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_sample_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_trim_cc::node_gather_link_searches(), blender::nodes::node_geo_mesh_primitive_line_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_sample_uv_surface_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_shader_tex_sky_cc::node_gather_link_searches(), blender::nodes::node_group_declare(), and sockets().
| bool blender::nodes::NodeDeclaration::skip_updating_sockets = false |
Leave the sockets in place, even if they don't match the declaration. Used for dynamic declarations when the information used to build the declaration is missing, but might become available again in the future.
Definition at line 494 of file NOD_node_declaration.hh.
Referenced by blender::nodes::node_group_declare(), blender::nodes::refresh_node(), and blender::ed::space_node::socket_needs_attribute_search().
| bool blender::nodes::NodeDeclaration::use_custom_socket_order = false |
Use order of socket declarations for socket order instead of conventional outputs | buttons | inputs order. Panels are only supported when using custom socket order.
Definition at line 498 of file NOD_node_declaration.hh.
Referenced by blender::nodes::NodeDeclarationBuilder::allow_any_socket_order(), is_valid(), blender::nodes::node_group_declare(), and blender::nodes::NodeDeclarationBuilder::use_custom_socket_order().