Blender V4.3
blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode Class Reference

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

Public Member Functions

 LazyFunctionForSwitchNode (const bNode &node)
 
void execute_impl (lf::Params &params, const lf::Context &) const override
 
void execute_single (const bool condition, lf::Params &params) const
 
void execute_field (Field< bool > condition, lf::Params &params) const
 
const MultiFunctionget_switch_multi_function () const
 
- 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
 

Static Public Attributes

static constexpr int false_input_index = 1
 
static constexpr int true_input_index = 2
 

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 96 of file node_geo_switch.cc.

Constructor & Destructor Documentation

◆ LazyFunctionForSwitchNode()

Member Function Documentation

◆ execute_field()

void blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::execute_field ( Field< bool > condition,
lf::Params & params ) const
inline

◆ execute_impl()

void blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::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 126 of file node_geo_switch.cc.

References execute_field(), execute_single(), blender::bke::SocketValueVariant::get(), blender::bke::SocketValueVariant::is_context_dependent_field(), and params.

◆ execute_single()

void blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::execute_single ( const bool condition,
lf::Params & params ) const
inline

◆ get_switch_multi_function()

const MultiFunction & blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::get_switch_multi_function ( ) const
inline

Member Data Documentation

◆ false_input_index

int blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::false_input_index = 1
staticconstexpr

Definition at line 137 of file node_geo_switch.cc.

Referenced by execute_field(), and execute_single().

◆ true_input_index

int blender::nodes::node_geo_switch_cc::LazyFunctionForSwitchNode::true_input_index = 2
staticconstexpr

Definition at line 138 of file node_geo_switch.cc.

Referenced by execute_field(), and execute_single().


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