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

Inherits blender::fn::lazy_function::LazyFunction.

Public Member Functions

 LazyFunctionForMultiInput (const bNodeSocket &socket)
 
void execute_impl (lf::Params &params, const lf::Context &) const override
 
- Public Member Functions inherited from blender::fn::lazy_function::LazyFunction
virtual ~LazyFunction ()=default
 
virtual std::string name () const
 
virtual std::string input_name (int index) const
 
virtual std::string output_name (int index) 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 &params) const
 
bool allow_missing_requested_inputs () const
 
Span< Inputinputs () const
 
Span< Outputoutputs () const
 
void execute (Params &params, const Context &context) const
 

Public Attributes

Vector< const bNodeLink * > links
 

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

Used to gather all inputs of a multi-input socket. A separate node is necessary because multi-inputs are not supported in lazy-function graphs.

Definition at line 321 of file geometry_nodes_lazy_function.cc.

Constructor & Destructor Documentation

◆ LazyFunctionForMultiInput()

Member Function Documentation

◆ execute_impl()

void blender::nodes::LazyFunctionForMultiInput::execute_impl ( lf::Params & params,
const lf::Context & context ) const
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 348 of file geometry_nodes_lazy_function.cc.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert_unreachable, blender::fn::lazy_function::LazyFunction::inputs_, params, and blender::CPPType::to_static_type_tag().

Member Data Documentation

◆ links

Vector<const bNodeLink *> blender::nodes::LazyFunctionForMultiInput::links

Definition at line 326 of file geometry_nodes_lazy_function.cc.


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