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

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

Public Member Functions

 LazyFunctionForGeometryNode (const bNode &node, GeometryNodesLazyFunctionGraphInfo &own_lf_graph_info)
void execute_impl (lf::Params &params, const lf::Context &context) const override
std::string input_name (const int index) const override
std::string output_name (const int index) const override
void output_anonymous_attribute_field (lf::Params &params, const GeoNodesUserData &user_data, const int lf_index, const bNodeSocket &socket) const
std::string anonymous_attribute_name_for_output (const GeoNodesUserData &user_data, const int output_index) const
Public Member Functions inherited from blender::fn::lazy_function::LazyFunction
virtual ~LazyFunction ()=default
virtual std::string name () 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

Used for most normal geometry nodes like Subdivision Surface and Set Position.

Definition at line 119 of file geometry_nodes_lazy_function.cc.

Constructor & Destructor Documentation

◆ LazyFunctionForGeometryNode()

Member Function Documentation

◆ anonymous_attribute_name_for_output()

std::string blender::nodes::LazyFunctionForGeometryNode::anonymous_attribute_name_for_output ( const GeoNodesUserData & user_data,
const int output_index ) const
inline

◆ execute_impl()

void blender::nodes::LazyFunctionForGeometryNode::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 183 of file geometry_nodes_lazy_function.cc.

References anonymous_attribute_name_for_output(), BLI_assert, i, blender::fn::lazy_function::LazyFunction::inputs_, output_anonymous_attribute_field(), params, blender::fn::lazy_function::Unused, and blender::fn::lazy_function::Used.

◆ input_name()

std::string blender::nodes::LazyFunctionForGeometryNode::input_name ( const int index) const
inlineoverridevirtual

◆ output_anonymous_attribute_field()

void blender::nodes::LazyFunctionForGeometryNode::output_anonymous_attribute_field ( lf::Params & params,
const GeoNodesUserData & user_data,
const int lf_index,
const bNodeSocket & socket ) const
inline

◆ output_name()

std::string blender::nodes::LazyFunctionForGeometryNode::output_name ( const int index) const
inlineoverridevirtual

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