|
Lagrange
|
Options for generating a sphere mesh. More...
#include <lagrange/primitive/generate_sphere.h>
Public Types | |
| using | Scalar = PrimitiveOptions::Scalar |
| using | Index = size_t |
Public Types inherited from PrimitiveOptions | |
| using | Scalar = float |
Public Member Functions | |
| void | project_to_valid_range () |
| Project setting into valid range. | |
Public Attributes | |
| Scalar | radius = 1 |
| Sphere radius. | |
| Scalar | start_sweep_angle = 0 |
| Sphere starting angle in radians. | |
| Scalar | end_sweep_angle = static_cast<Scalar>(2 * lagrange::internal::pi) |
| Sphere ending angle in radians. | |
| Index | num_longitude_sections = 32 |
| Number of sections along the longitude (vertical) direction. | |
| Index | num_latitude_sections = 32 |
| Number of sections along the latitude (horizontal) direction. | |
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. | |
Options for generating a sphere mesh.