Lagrange
Loading...
Searching...
No Matches
DiscOptions Struct Reference
Inheritance diagram for DiscOptions:
PrimitiveOptions

Public Types

using Scalar = PrimitiveOptions::Scalar
 
- Public Types inherited from PrimitiveOptions
using Scalar = float
 

Public Member Functions

void project_to_valid_range ()
 

Public Attributes

Scalar radius = 1.0
 Radius of the disc.
 
Scalar start_angle = 0.0
 Start angle of the disc in radians.
 
Scalar end_angle = static_cast<Scalar>(2 * lagrange::internal::pi)
 End angle of the disc in radians.
 
size_t radial_sections = 32
 Number of radial sections (spokes) in the disc.
 
size_t num_rings = 1
 Number of concentric rings in the disc.
 
std::array< Scalar, 3 > normal = {0, 0, 1}
 Unit normal vector for the disc.
 
- 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.
 

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