Blender  V3.3
Classes | Public Member Functions | List of all members
blender::fn::MFProcedureBuilder Class Reference

#include <FN_multi_function_procedure_builder.hh>

Classes

struct  Branch
 
struct  Loop
 

Public Member Functions

 MFProcedureBuilder (MFProcedure &procedure, MFInstructionCursor initial_cursor=MFInstructionCursor::ForEntry())
 
 MFProcedureBuilder (Span< MFProcedureBuilder * > builders)
 
 MFProcedureBuilder (Branch &branch)
 
void set_cursor (const MFInstructionCursor &cursor)
 
void set_cursor (Span< MFInstructionCursor > cursors)
 
void set_cursor (Span< MFProcedureBuilder * > builders)
 
void set_cursor_after_branch (Branch &branch)
 
void set_cursor_after_loop (Loop &loop)
 
void add_destruct (MFVariable &variable)
 
void add_destruct (Span< MFVariable * > variables)
 
MFReturnInstructionadd_return ()
 
Branch add_branch (MFVariable &condition)
 
Loop add_loop ()
 
void add_loop_continue (Loop &loop)
 
void add_loop_break (Loop &loop)
 
MFCallInstructionadd_call_with_no_variables (const MultiFunction &fn)
 
MFCallInstructionadd_call_with_all_variables (const MultiFunction &fn, Span< MFVariable * > param_variables)
 
Vector< MFVariable * > add_call (const MultiFunction &fn, Span< MFVariable * > input_and_mutable_variables={})
 
template<int OutputN>
std::array< MFVariable *, OutputN > add_call (const MultiFunction &fn, Span< MFVariable * > input_and_mutable_variables={})
 
void add_parameter (MFParamType::InterfaceType interface_type, MFVariable &variable)
 
MFVariableadd_parameter (MFParamType param_type, std::string name="")
 
MFVariableadd_input_parameter (MFDataType data_type, std::string name="")
 
template<typename T >
MFVariableadd_single_input_parameter (std::string name="")
 
template<typename T >
MFVariableadd_single_mutable_parameter (std::string name="")
 
void add_output_parameter (MFVariable &variable)
 

Detailed Description

Utility class to build a #MFProcedure.

Definition at line 16 of file FN_multi_function_procedure_builder.hh.

Constructor & Destructor Documentation

◆ MFProcedureBuilder() [1/3]

blender::fn::MFProcedureBuilder::MFProcedureBuilder ( MFProcedure procedure,
MFInstructionCursor  initial_cursor = MFInstructionCursor::ForEntry() 
)
inline

Definition at line 95 of file FN_multi_function_procedure_builder.hh.

◆ MFProcedureBuilder() [2/3]

blender::fn::MFProcedureBuilder::MFProcedureBuilder ( Span< MFProcedureBuilder * >  builders)
inline

Definition at line 101 of file FN_multi_function_procedure_builder.hh.

References set_cursor().

◆ MFProcedureBuilder() [3/3]

blender::fn::MFProcedureBuilder::MFProcedureBuilder ( Branch branch)
inline

Definition at line 89 of file FN_multi_function_procedure_builder.hh.

References set_cursor_after_branch().

Member Function Documentation

◆ add_branch()

MFProcedureBuilder::Branch blender::fn::MFProcedureBuilder::add_branch ( MFVariable condition)

◆ add_call() [1/2]

Vector< MFVariable * > blender::fn::MFProcedureBuilder::add_call ( const MultiFunction fn,
Span< MFVariable * >  input_and_mutable_variables = {} 
)

◆ add_call() [2/2]

template<int OutputN>
std::array< MFVariable *, OutputN > blender::fn::MFProcedureBuilder::add_call ( const MultiFunction fn,
Span< MFVariable * >  input_and_mutable_variables = {} 
)
inline

◆ add_call_with_all_variables()

MFCallInstruction & blender::fn::MFProcedureBuilder::add_call_with_all_variables ( const MultiFunction fn,
Span< MFVariable * >  param_variables 
)

◆ add_call_with_no_variables()

MFCallInstruction & blender::fn::MFProcedureBuilder::add_call_with_no_variables ( const MultiFunction fn)

◆ add_destruct() [1/2]

void blender::fn::MFProcedureBuilder::add_destruct ( MFVariable variable)

◆ add_destruct() [2/2]

void blender::fn::MFProcedureBuilder::add_destruct ( Span< MFVariable * >  variables)

Definition at line 15 of file multi_function_procedure_builder.cc.

References add_destruct().

◆ add_input_parameter()

MFVariable & blender::fn::MFProcedureBuilder::add_input_parameter ( MFDataType  data_type,
std::string  name = "" 
)
inline

◆ add_loop()

MFProcedureBuilder::Loop blender::fn::MFProcedureBuilder::add_loop ( )

◆ add_loop_break()

void blender::fn::MFProcedureBuilder::add_loop_break ( Loop loop)

◆ add_loop_continue()

void blender::fn::MFProcedureBuilder::add_loop_continue ( Loop loop)

◆ add_output_parameter()

void blender::fn::MFProcedureBuilder::add_output_parameter ( MFVariable variable)
inline

◆ add_parameter() [1/2]

MFVariable & blender::fn::MFProcedureBuilder::add_parameter ( MFParamType  param_type,
std::string  name = "" 
)
inline

◆ add_parameter() [2/2]

void blender::fn::MFProcedureBuilder::add_parameter ( MFParamType::InterfaceType  interface_type,
MFVariable variable 
)
inline

◆ add_return()

MFReturnInstruction & blender::fn::MFProcedureBuilder::add_return ( )

◆ add_single_input_parameter()

template<typename T >
MFVariable & blender::fn::MFProcedureBuilder::add_single_input_parameter ( std::string  name = "")
inline

◆ add_single_mutable_parameter()

template<typename T >
MFVariable & blender::fn::MFProcedureBuilder::add_single_mutable_parameter ( std::string  name = "")
inline

◆ set_cursor() [1/3]

void blender::fn::MFProcedureBuilder::set_cursor ( const MFInstructionCursor cursor)
inline

◆ set_cursor() [2/3]

void blender::fn::MFProcedureBuilder::set_cursor ( Span< MFInstructionCursor cursors)
inline

Definition at line 112 of file FN_multi_function_procedure_builder.hh.

References cursors.

◆ set_cursor() [3/3]

void blender::fn::MFProcedureBuilder::set_cursor ( Span< MFProcedureBuilder * >  builders)
inline

Definition at line 127 of file FN_multi_function_procedure_builder.hh.

◆ set_cursor_after_branch()

void blender::fn::MFProcedureBuilder::set_cursor_after_branch ( Branch branch)
inline

◆ set_cursor_after_loop()

void blender::fn::MFProcedureBuilder::set_cursor_after_loop ( Loop loop)
inline

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