Lagrange
Loading...
Searching...
No Matches
SphereOptions Struct Reference

Options for generating a sphere mesh. More...

#include <lagrange/primitive/generate_sphere.h>

Inheritance diagram for SphereOptions:
PrimitiveOptions

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.
 

Detailed Description

Options for generating a sphere mesh.


The documentation for this struct was generated from the following file: