14#include <lagrange/SurfaceMesh.h>
15#include <lagrange/utils/BitField.h>
57template <
typename Scalar,
typename Index>
75template <
typename Scalar,
typename Index>
93template <
typename Scalar,
typename Index>
109template <
typename Scalar,
typename Index>
125template <
typename Scalar,
typename Index>
141template <
typename Scalar,
typename Index>
static constexpr BitField all()
Named constructor returning a bitfield set to 1.
Definition: BitField.h:76
AttributeUsage
Usage tag indicating how the attribute should behave under mesh transformations.
Definition: AttributeFwd.h:54
std::vector< AttributeId > find_matching_attributes(const SurfaceMesh< Scalar, Index > &mesh, const AttributeMatcher &options)
Finds all attributes with the specified usage/element type/number of channels.
Definition: find_matching_attributes.cpp:80
std::optional< AttributeId > find_matching_attribute(const SurfaceMesh< Scalar, Index > &mesh, const AttributeMatcher &options)
Finds the first attribute with the specified usage/element type/number of channels.
Definition: find_matching_attributes.cpp:37
Main namespace for Lagrange.
Definition: AABBIGL.h:30
Helper object to match attributes based on usage, element type, and number of channels.
Definition: find_matching_attributes.h:35
BitField< AttributeElement > element_types
List of attribute element types to include. By default, all element types are included.
Definition: find_matching_attributes.h:40
BitField< AttributeUsage > usages
List of attribute usages to include. By default, all usages are included.
Definition: find_matching_attributes.h:37
size_t num_channels
Number of channels to match against. Default value is 0, which disables this test.
Definition: find_matching_attributes.h:43