Blender V5.0
blender::nodes::LazyFunctionForLogicalOr Class Reference

#include <NOD_geometry_nodes_lazy_function.hh>

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

Public Member Functions

 LazyFunctionForLogicalOr (const int inputs_num)
void execute_impl (lf::Params &params, const lf::Context &context) const override
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

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

Computes the logical or of the inputs and supports short-circuit evaluation (i.e. if the first input is true already, the other inputs are not checked).

Definition at line 540 of file NOD_geometry_nodes_lazy_function.hh.

Constructor & Destructor Documentation

◆ LazyFunctionForLogicalOr()

Member Function Documentation

◆ execute_impl()

void blender::nodes::LazyFunctionForLogicalOr::execute_impl ( lf::Params & params,
const lf::Context & context ) const
overridevirtual

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 1209 of file geometry_nodes_lazy_function.cc.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), execute_impl(), i, blender::fn::lazy_function::LazyFunction::inputs_, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), and params.

Referenced by execute_impl().


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