Blender V5.0
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 MultiFunction & get_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 112 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 142 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

Definition at line 200 of file node_geo_switch.cc.

References BLI_assert, BLI_assert_unreachable, float, and T.

Referenced by execute_field().

Member Data Documentation

◆ false_input_index

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

Definition at line 153 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 154 of file node_geo_switch.cc.

Referenced by execute_field(), and execute_single().


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