14#ifdef LAGRANGE_ENABLE_LEGACY_FUNCTIONS
15 #include <lagrange/primitive/legacy/generate_swept_surface.h>
18#include <lagrange/SurfaceMesh.h>
19#include <lagrange/primitive/PrimitiveOptions.h>
20#include <lagrange/primitive/SweepOptions.h>
21#include <lagrange/utils/span.h>
26namespace lagrange::primitive {
64template <
typename Scalar,
typename Index>
A general purpose polygonal mesh class.
Definition SurfaceMesh.h:66
Configuration class for sweep operations on 3D geometry.
Definition SweepOptions.h:40
::nonstd::span< T, Extent > span
A bounds-safe view for sequences of objects.
Definition span.h:27
SurfaceMesh< Scalar, Index > generate_swept_surface(span< const Scalar > profile, const SweepOptions< Scalar > &sweep_setting, const SweptSurfaceOptions &options={})
Generate a swept surface from a profile curve and a sequence of transforms.
Definition generate_swept_surface.cpp:544
Common settings shared by all primitives.
Definition PrimitiveOptions.h:28
Definition generate_swept_surface.h:32
std::string_view longitude_attribute_name
The name of the output vertex attribute storing the longitude values.
Definition generate_swept_surface.h:39
bool use_u_as_profile_length
Whether to parameterize the profile length as the U coordinate in the UV mapping.
Definition generate_swept_surface.h:43
float max_profile_length
Split the profile curve into shorter segments for UV generation such that no segment exceeds this len...
Definition generate_swept_surface.h:51
std::string_view latitude_attribute_name
The name of the output vertex attribute storing the latitude values.
Definition generate_swept_surface.h:35
float profile_angle_threshold
The maximum allowed angle (in radians) between consecutive profile segments for it to be considered a...
Definition generate_swept_surface.h:47