Blender V4.3
blender::fn::lazy_function::GraphExecutor Class Reference

#include <FN_lazy_function_graph_executor.hh>

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

Public Types

using Logger = GraphExecutorLogger
 
using SideEffectProvider = GraphExecutorSideEffectProvider
 
using NodeExecuteWrapper = GraphExecutorNodeExecuteWrapper
 

Public Member Functions

 GraphExecutor (const Graph &graph, Vector< const GraphInputSocket * > graph_inputs, Vector< const GraphOutputSocket * > graph_outputs, const Logger *logger, const SideEffectProvider *side_effect_provider, const NodeExecuteWrapper *node_execute_wrapper)
 
void * init_storage (LinearAllocator<> &allocator) const override
 
void destruct_storage (void *storage) const override
 
std::string input_name (int index) const override
 
std::string output_name (int index) const override
 
- Public Member Functions inherited from blender::fn::lazy_function::LazyFunction
virtual ~LazyFunction ()=default
 
virtual std::string name () 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
 

Friends

class Executor
 

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

Definition at line 77 of file FN_lazy_function_graph_executor.hh.

Member Typedef Documentation

◆ Logger

◆ NodeExecuteWrapper

◆ SideEffectProvider

Constructor & Destructor Documentation

◆ GraphExecutor()

Member Function Documentation

◆ destruct_storage()

void blender::fn::lazy_function::GraphExecutor::destruct_storage ( void * storage) const
overridevirtual

Destruct the storage created in init_storage.

Reimplemented from blender::fn::lazy_function::LazyFunction.

Definition at line 1534 of file lazy_function_graph_executor.cc.

◆ init_storage()

void * blender::fn::lazy_function::GraphExecutor::init_storage ( LinearAllocator<> & allocator) const
overridevirtual

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 1528 of file lazy_function_graph_executor.cc.

References blender::LinearAllocator< Allocator >::construct().

◆ input_name()

std::string blender::fn::lazy_function::GraphExecutor::input_name ( int index) const
overridevirtual

◆ output_name()

std::string blender::fn::lazy_function::GraphExecutor::output_name ( int index) const
overridevirtual

Friends And Related Symbol Documentation

◆ Executor

friend class Executor
friend

Definition at line 121 of file FN_lazy_function_graph_executor.hh.

Member Data Documentation

◆ loaded_inputs_array_offset

int blender::fn::lazy_function::GraphExecutor::loaded_inputs_array_offset

Definition at line 116 of file FN_lazy_function_graph_executor.hh.

◆ node_states_array_offset

int blender::fn::lazy_function::GraphExecutor::node_states_array_offset

Definition at line 115 of file FN_lazy_function_graph_executor.hh.

◆ node_states_offsets

Array<int> blender::fn::lazy_function::GraphExecutor::node_states_offsets

Definition at line 117 of file FN_lazy_function_graph_executor.hh.

◆ total_size

int blender::fn::lazy_function::GraphExecutor::total_size

Definition at line 118 of file FN_lazy_function_graph_executor.hh.


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