|
Lagrange
|
Public Attributes | |
| std::string_view | latitude_attribute_name = "@latitude" |
| The name of the output vertex attribute storing the latitude values. | |
| std::string_view | longitude_attribute_name = "@longitude" |
| The name of the output vertex attribute storing the longitude values. | |
| bool | use_u_as_profile_length = true |
| Whether to parameterize the profile length as the U coordinate in the UV mapping. | |
| float | profile_angle_threshold = static_cast<float>(lagrange::internal::pi / 4) |
| The maximum allowed angle (in radians) between consecutive profile segments for it to be considered as smooth. | |
| float | max_profile_length = 0.0f |
| Split the profile curve into shorter segments for UV generation such that no segment exceeds this length. | |
Public Attributes inherited from PrimitiveOptions | |
| std::array< Scalar, 3 > | center {0, 0, 0} |
| Center of the primitive in 3D space. | |
| bool | with_top_cap = true |
| Whether to generate top cap of the primitive (if applicable). | |
| bool | with_bottom_cap = true |
| Whether to generate bottom cap of the primitive (if applicable). | |
| bool | with_cross_section = true |
| Whether to generate cross section of the primitive (if applicable). | |
| bool | triangulate = false |
| Whether to triangulate the generated surface mesh. | |
| bool | fixed_uv = false |
| Whether to use fixed UV coordinates regardless of the primitive parameters. | |
| std::string_view | normal_attribute_name = "@normal" |
| Name of the output indexed attribute storing the normal vectors. | |
| std::string_view | uv_attribute_name = "@uv" |
| Name of the output indexed attribute storing the UV coordinates. | |
| std::string_view | semantic_label_attribute_name = "@semantic_label" |
| Name of the output facet attribute storing the semantic labels. | |
| Scalar | dist_threshold = static_cast<Scalar>(1e-6) |
Two vertices are considered coinciding if the distance between them is smaller than dist_threshold. | |
| Scalar | angle_threshold = static_cast<Scalar>(30 * lagrange::internal::pi / 180) |
An edge is considered sharp if its dihedral angle is larger than angle_threshold. | |
| Scalar | epsilon = static_cast<Scalar>(1e-6) |
| Numerical tolerance used for comparing Scalar values. | |
| Scalar | uv_padding = static_cast<Scalar>(0.005) |
| Padding size for UV charts to avoid bleeding. | |
Additional Inherited Members | |
Public Types inherited from PrimitiveOptions | |
| using | Scalar = float |
| std::string_view latitude_attribute_name = "@latitude" |
The name of the output vertex attribute storing the latitude values.
If empty, no latitude attribute will be created.
| std::string_view longitude_attribute_name = "@longitude" |
The name of the output vertex attribute storing the longitude values.
If empty, no longitude attribute will be created.
| bool use_u_as_profile_length = true |
Whether to parameterize the profile length as the U coordinate in the UV mapping.
If false, the V coordinate will be used for the profile length.
| float profile_angle_threshold = static_cast<float>(lagrange::internal::pi / 4) |
The maximum allowed angle (in radians) between consecutive profile segments for it to be considered as smooth.
UV and normal will be discontinuous across non-smooth segments.
| float max_profile_length = 0.0f |
Split the profile curve into shorter segments for UV generation such that no segment exceeds this length.
If the value is non-positive, no splitting will be performed.