14#include <lagrange/internal/constants.h>
19namespace lagrange::primitive {
41 std::array<Scalar, 3>
center{0, 0, 0};
76 Scalar
epsilon =
static_cast<Scalar
>(1e-6);
Common settings shared by all primitives.
Definition PrimitiveOptions.h:28
bool with_top_cap
Whether to generate top cap of the primitive (if applicable).
Definition PrimitiveOptions.h:44
Scalar uv_padding
Padding size for UV charts to avoid bleeding.
Definition PrimitiveOptions.h:79
std::array< Scalar, 3 > center
Center of the primitive in 3D space.
Definition PrimitiveOptions.h:41
std::string_view normal_attribute_name
Name of the output indexed attribute storing the normal vectors.
Definition PrimitiveOptions.h:59
bool with_cross_section
Whether to generate cross section of the primitive (if applicable).
Definition PrimitiveOptions.h:50
Scalar dist_threshold
Two vertices are considered coinciding if the distance between them is smaller than dist_threshold.
Definition PrimitiveOptions.h:69
std::string_view uv_attribute_name
Name of the output indexed attribute storing the UV coordinates.
Definition PrimitiveOptions.h:62
std::string_view semantic_label_attribute_name
Name of the output facet attribute storing the semantic labels.
Definition PrimitiveOptions.h:65
Scalar angle_threshold
An edge is considered sharp if its dihedral angle is larger than angle_threshold.
Definition PrimitiveOptions.h:73
Scalar epsilon
Numerical tolerance used for comparing Scalar values.
Definition PrimitiveOptions.h:76
bool triangulate
Whether to triangulate the generated surface mesh.
Definition PrimitiveOptions.h:53
bool with_bottom_cap
Whether to generate bottom cap of the primitive (if applicable).
Definition PrimitiveOptions.h:47
bool fixed_uv
Whether to use fixed UV coordinates regardless of the primitive parameters.
Definition PrimitiveOptions.h:56