|
Blender V4.3
|
Inherits blender::fn::lazy_function::LazyFunction.
Public Member Functions | |
| LazyFunctionForGroupNode (const bNode &group_node, const GeometryNodesLazyFunctionGraphInfo &group_lf_graph_info, GeometryNodesLazyFunctionGraphInfo &own_lf_graph_info) | |
| void | execute_impl (lf::Params ¶ms, const lf::Context &context) const override |
| void * | init_storage (LinearAllocator<> &allocator) const override |
| void | destruct_storage (void *storage) const override |
| std::string | name () const override |
| std::string | input_name (const int i) const override |
| std::string | output_name (const int i) const override |
Public Member Functions inherited from blender::fn::lazy_function::LazyFunction | |
| virtual | ~LazyFunction ()=default |
| 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 |
This lazy-function wraps a group node. Internally it just executes the lazy-function graph of the referenced group.
Definition at line 1079 of file geometry_nodes_lazy_function.cc.
|
inline |
Definition at line 1092 of file geometry_nodes_lazy_function.cc.
References blender::nodes::GeometryNodesGroupFunction::attributes_to_propagate, blender::nodes::GeometryNodesGroupFunction::function, blender::nodes::GeometryNodesLazyFunctionGraphInfo::function, blender::nodes::GeometryNodesGroupFunction::geometry_outputs, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::fn::lazy_function::LazyFunction::inputs(), blender::nodes::GeometryNodesGroupFunction::inputs, 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, bNode::name, blender::nodes::GeometryNodesLazyFunctionGraphInfo::num_inline_nodes_approximate, blender::nodes::GeometryNodesGroupFunction::output_usages, blender::fn::lazy_function::LazyFunction::outputs(), and blender::nodes::GeometryNodesGroupFunction::range.
|
inlineoverridevirtual |
Destruct the storage created in init_storage.
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 1165 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::LazyFunction::destruct_storage().
|
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 1127 of file geometry_nodes_lazy_function.cc.
References BLI_assert, blender::nodes::GeoNodesLFUserData::compute_context, blender::fn::lazy_function::LazyFunction::execute(), bNode::identifier, blender::nodes::GeoNodesLFUserData::log_socket_values, params, blender::nodes::should_log_socket_values_for_context(), and timer.
|
inlineoverridevirtual |
Allocates storage for this function. The storage will be passed to every call to execute. If the function does not keep track of any state, this does not have to be implemented.
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 1158 of file geometry_nodes_lazy_function.cc.
References blender::LinearAllocator< Allocator >::construct(), and blender::fn::lazy_function::LazyFunction::init_storage().
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 1177 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::LazyFunction::input_name().
|
inlineoverridevirtual |
Get a name of the function or an input or output. This is mainly used for debugging. These are virtual functions because the names are often not used outside of debugging workflows. This way the names are only generated when they are actually needed.
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 1172 of file geometry_nodes_lazy_function.cc.
References bNode::id, bNode::name, ID::name, and TIP_.
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 1182 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::LazyFunction::output_name().