Blender V4.3
blender::nodes::ForeachElementComponent Struct Reference

Public Member Functions

void emplace_field_context (const GeometrySet &geometry)
 
AttributeAccessor input_attributes () const
 
MutableAttributeAccessor attributes_for_write (GeometrySet &geometry) const
 

Public Attributes

ForeachElementComponentID id
 
std::optional< bke::GeometryFieldContextfield_context
 
std::optional< FieldEvaluatorfield_evaluator
 
Array< SocketValueVariantindex_values
 
Array< Array< SocketValueVariant > > item_input_values
 
std::optional< Array< GeometrySet > > element_geometries
 
IndexRange body_nodes_range
 

Detailed Description

The For Each Geometry Element can iterate over multiple components at the same time. That can happen when the input geometry is e.g. a mesh and a pointcloud and we're iterating over points.

This struct contains evaluation data for each component.

Definition at line 2118 of file geometry_nodes_lazy_function.cc.

Member Function Documentation

◆ attributes_for_write()

◆ emplace_field_context()

void blender::nodes::ForeachElementComponent::emplace_field_context ( const GeometrySet & geometry)
inline

◆ input_attributes()

AttributeAccessor blender::nodes::ForeachElementComponent::input_attributes ( ) const
inline

Member Data Documentation

◆ body_nodes_range

IndexRange blender::nodes::ForeachElementComponent::body_nodes_range

The set of body evaluation nodes that correspond to this component. This indexes into lf_body_nodes.

Definition at line 2131 of file geometry_nodes_lazy_function.cc.

Referenced by blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components().

◆ element_geometries

std::optional<Array<GeometrySet> > blender::nodes::ForeachElementComponent::element_geometries

◆ field_context

std::optional<bke::GeometryFieldContext> blender::nodes::ForeachElementComponent::field_context

Used for field evaluation on the output node.

Definition at line 2121 of file geometry_nodes_lazy_function.cc.

Referenced by blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components().

◆ field_evaluator

std::optional<FieldEvaluator> blender::nodes::ForeachElementComponent::field_evaluator

◆ id

◆ index_values

Array<SocketValueVariant> blender::nodes::ForeachElementComponent::index_values

Index values passed into each body node.

Definition at line 2124 of file geometry_nodes_lazy_function.cc.

Referenced by blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components().

◆ item_input_values

Array<Array<SocketValueVariant> > blender::nodes::ForeachElementComponent::item_input_values

Evaluated input values passed into each body node.

Definition at line 2126 of file geometry_nodes_lazy_function.cc.

Referenced by blender::nodes::LazyFunctionForForeachGeometryElementZone::prepare_components().


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