|
Blender V4.3
|
Inherits blender::fn::lazy_function::LazyFunction.
Public Member Functions | |
| LazyFunctionForGeometryNode (const bNode &node, GeometryNodesLazyFunctionGraphInfo &own_lf_graph_info) | |
| void | execute_impl (lf::Params ¶ms, const lf::Context &context) const override |
| std::string | input_name (const int index) const override |
| std::string | output_name (const int index) const override |
| void | output_anonymous_attribute_field (lf::Params ¶ms, const GeoNodesLFUserData &user_data, const int lf_index, const bNodeSocket &socket) const |
| std::string | anonymous_attribute_name_for_output (const GeoNodesLFUserData &user_data, const int output_index) const |
Public Member Functions inherited from blender::fn::lazy_function::LazyFunction | |
| virtual | ~LazyFunction ()=default |
| virtual std::string | name () const |
| virtual void * | init_storage (LinearAllocator<> &allocator) const |
| virtual void | destruct_storage (void *storage) const |
| virtual void | possible_output_dependencies (int output_index, FunctionRef< void(Span< int >)> fn) const |
| bool | always_used_inputs_available (const Params ¶ms) const |
| bool | allow_missing_requested_inputs () const |
| Span< Input > | inputs () const |
| Span< Output > | outputs () const |
| void | execute (Params ¶ms, const Context &context) const |
Additional Inherited Members | |
Protected Attributes inherited from blender::fn::lazy_function::LazyFunction | |
| const char * | debug_name_ = "unknown" |
| Vector< Input > | inputs_ |
| Vector< Output > | outputs_ |
| bool | allow_missing_requested_inputs_ = false |
Used for most normal geometry nodes like Subdivision Surface and Set Position.
Definition at line 134 of file geometry_nodes_lazy_function.cc.
|
inline |
Definition at line 146 of file geometry_nodes_lazy_function.cc.
References blender::nodes::NodeDeclaration::anonymous_attribute_relations(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::nodes::anonymous_attribute_lifetime::RelationsInNode::available_relations, BLI_assert, blender::Vector< T, InlineBufferCapacity, Allocator >::contains(), blender::fn::lazy_function::LazyFunction::debug_name_, blender::CPPType::get(), blender::fn::lazy_function::LazyFunction::inputs_, blender::nodes::lazy_function_interface_from_node(), blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_index_by_bsocket, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_input_index_for_attribute_propagation_to_output, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_input_index_for_output_bsocket_usage, blender::nodes::GeometryNodesLazyFunctionGraphInfo::mapping, blender::fn::lazy_function::LazyFunction::outputs_, and blender::nodes::anonymous_attribute_lifetime::RelationsInNode::propagate_relations.
|
inline |
Definition at line 307 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeoNodesLFUserData::call_data, blender::nodes::GeoNodesLFUserData::compute_context, blender::ComputeContext::hash(), blender::bke::hash_to_anonymous_attribute_name(), Object::id, bNode::identifier, ID::name, and blender::nodes::GeoNodesCallData::self_object().
Referenced by execute_impl(), and output_anonymous_attribute_field().
|
inlineoverridevirtual |
Needs to be implemented by subclasses. This is separate from execute so that additional debugging logic can be implemented in execute.
Implements blender::fn::lazy_function::LazyFunction.
Definition at line 197 of file geometry_nodes_lazy_function.cc.
References anonymous_attribute_name_for_output(), BLI_assert, blender::fn::lazy_function::LazyFunction::inputs_, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_index_by_bsocket, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_input_index_for_attribute_propagation_to_output, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_input_index_for_output_bsocket_usage, blender::nodes::GeometryNodesLazyFunctionGraphInfo::mapping, output_anonymous_attribute_field(), params, and bNode::typeinfo.
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 261 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::LazyFunction::inputs_, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_input_index_for_attribute_propagation_to_output, blender::nodes::GeometryNodeLazyFunctionGraphMapping::lf_input_index_for_output_bsocket_usage, and blender::nodes::GeometryNodesLazyFunctionGraphInfo::mapping.
|
inline |
Definition at line 289 of file geometry_nodes_lazy_function.cc.
References anonymous_attribute_name_for_output(), blender::nodes::make_anonymous_attribute_socket_inspection_string(), params, and bNodeSocket::typeinfo.
Referenced by execute_impl().
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 284 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::LazyFunction::outputs_.