|
Lagrange
|
Options for welding indexed attributes. More...
#include <lagrange/weld_indexed_attribute.h>
Public Attributes | |
| std::optional< double > | epsilon_rel |
| If set, values whose relative difference (in L-inf norm) is less than epsilon are merged together. | |
| std::optional< double > | epsilon_abs |
| If set, values whose absolute difference (in L-inf norm) is less than epsilon are merged together. | |
| std::optional< double > | angle_abs |
| If set, the absolute angle threshold (in radians) for merging attributes. | |
| bool | merge_across_vertices = false |
| If indices are shared between corners around different vertices, merge them together. | |
| span< const size_t > | exclude_vertices = {} |
| Vertices to exclude from welding. | |
Options for welding indexed attributes.
| std::optional<double> epsilon_rel |
If set, values whose relative difference (in L-inf norm) is less than epsilon are merged together.
If not set, default to Eigen::NumTraits<ValueType>::dummy_precision().
| std::optional<double> epsilon_abs |
If set, values whose absolute difference (in L-inf norm) is less than epsilon are merged together.
If not set, default to Eigen::NumTraits<ValueType>::epsilon().
| std::optional<double> angle_abs |
If set, the absolute angle threshold (in radians) for merging attributes.
If the angle between two corners is less than this value, the attributes are merged. If not set, this condition is not checked.
epsilon_rel to 0 and epsilon_abs to std::numeric_limits<double>::infinity(). | bool merge_across_vertices = false |
If indices are shared between corners around different vertices, merge them together.
Otherwise, separate indices will be created for each group of welded corners around each vertex.
| span<const size_t> exclude_vertices = {} |
Vertices to exclude from welding.
This is mainly useful for cone singularities where welding similar attribute values may not be desirable.