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

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
 

Member Data Documentation

◆ latitude_attribute_name

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.

◆ longitude_attribute_name

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.

◆ use_u_as_profile_length

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.

◆ profile_angle_threshold

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.

◆ max_profile_length

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.


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