Blender V5.0
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, const Logger *logger, const SideEffectProvider *side_effect_provider, const NodeExecuteWrapper *node_execute_wrapper)
 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() [1/2]

blender::fn::lazy_function::GraphExecutor::GraphExecutor ( const Graph & graph,
const Logger * logger,
const SideEffectProvider * side_effect_provider,
const NodeExecuteWrapper * node_execute_wrapper )

Definition at line 1462 of file lazy_function_graph_executor.cc.

References GraphExecutor().

Referenced by GraphExecutor().

◆ GraphExecutor() [2/2]

blender::fn::lazy_function::GraphExecutor::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 )

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

References Executor.

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

References blender::LinearAllocator< Allocator >::construct(), and Executor.

◆ 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

◆ Executor

friend class Executor
friend

Definition at line 121 of file FN_lazy_function_graph_executor.hh.

References Executor, and params.

Referenced by destruct_storage(), Executor, and init_storage().

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: