Blender
V3.3
|
#include <FN_multi_function_procedure_executor.hh>
Public Member Functions | |
MFProcedureExecutor (const MFProcedure &procedure) | |
void | call (IndexMask mask, MFParams params, MFContext context) const override |
![]() | |
virtual | ~MultiFunction () |
void | call_auto (IndexMask mask, MFParams params, MFContext context) const |
virtual uint64_t | hash () const |
virtual bool | equals (const MultiFunction &UNUSED(other)) const |
int | param_amount () const |
IndexRange | param_indices () const |
MFParamType | param_type (int param_index) const |
StringRefNull | param_name (int param_index) const |
StringRefNull | name () const |
virtual std::string | debug_name () const |
bool | depends_on_context () const |
const MFSignature & | signature () const |
ExecutionHints | execution_hints () const |
Additional Inherited Members | |
![]() | |
void | set_signature (const MFSignature *signature) |
A multi-function that executes a procedure internally.
Definition at line 14 of file FN_multi_function_procedure_executor.hh.
blender::fn::MFProcedureExecutor::MFProcedureExecutor | ( | const MFProcedure & | procedure | ) |
Definition at line 9 of file multi_function_procedure_executor.cc.
References blender::fn::MFProcedure::params(), blender::fn::MultiFunction::set_signature(), and blender::fn::MultiFunction::signature().
|
overridevirtual |
Implements blender::fn::MultiFunction.
Definition at line 1176 of file multi_function_procedure_executor.cc.
References blender::fn::InstructionScheduler::add_owned_indices(), blender::fn::InstructionScheduler::add_referenced_indices(), BLI_assert, blender::fn::Branch, blender::fn::MFBranchInstruction::branch_false(), blender::fn::MFBranchInstruction::branch_true(), blender::fn::Call, blender::fn::MFBranchInstruction::condition(), blender::compositor::context, blender::fn::MFParamType::data_type(), blender::fn::Destruct, blender::fn::Dummy, blender::fn::VariableState::ensure_is_mutable(), blender::fn::MFProcedure::entry(), blender::fn::execute_call_instruction(), blender::fn::VariableState::indices_split(), blender::fn::MFParamType::Input, blender::fn::NextInstructionInfo::instruction, blender::fn::MFParamType::interface_type(), blender::fn::InstructionScheduler::is_done(), blender::fn::VariableState::is_fully_initialized(), blender::fn::VariableState::is_fully_uninitialized(), blender::fn::NextInstructionInfo::mask(), blender::fn::MFParamType::Mutable, blender::fn::MFCallInstruction::next(), blender::fn::MFDestructInstruction::next(), blender::fn::MFDummyInstruction::next(), blender::fn::MFParamType::Output, blender::fn::MultiFunction::param_indices(), blender::fn::MultiFunction::param_type(), blender::fn::MFProcedure::params(), params, blender::fn::InstructionScheduler::peek(), blender::fn::InstructionScheduler::pop(), blender::LinearAllocator< Allocator >::provide_buffer(), blender::fn::Return, blender::fn::MFInstruction::type(), blender::fn::InstructionScheduler::update_instruction_pointer(), blender::fn::MFProcedure::validate(), and blender::fn::MFDestructInstruction::variable().