Blender V4.3
blender::nodes::LazyFunctionForGroupNode Class Reference

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 &params, 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 &params) const
 
bool allow_missing_requested_inputs () const
 
Span< Inputinputs () const
 
Span< Outputoutputs () const
 
void execute (Params &params, const Context &context) const
 

Additional Inherited Members

- Protected Attributes inherited from blender::fn::lazy_function::LazyFunction
const char * debug_name_ = "unknown"
 
Vector< Inputinputs_
 
Vector< Outputoutputs_
 
bool allow_missing_requested_inputs_ = false
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ LazyFunctionForGroupNode()

Member Function Documentation

◆ destruct_storage()

void blender::nodes::LazyFunctionForGroupNode::destruct_storage ( void * storage) const
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().

◆ execute_impl()

void blender::nodes::LazyFunctionForGroupNode::execute_impl ( lf::Params & params,
const lf::Context & context ) const
inlineoverridevirtual

◆ init_storage()

void * blender::nodes::LazyFunctionForGroupNode::init_storage ( LinearAllocator<> & allocator) const
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().

◆ input_name()

std::string blender::nodes::LazyFunctionForGroupNode::input_name ( const int i) const
inlineoverridevirtual

◆ name()

std::string blender::nodes::LazyFunctionForGroupNode::name ( ) const
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_.

◆ output_name()

std::string blender::nodes::LazyFunctionForGroupNode::output_name ( const int i) const
inlineoverridevirtual

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