![]() |
NDEVR
API Documentation
|
Forward declaration of InfoPipe for progress/logging support. More...
Static Public Member Functions | |
| static void | ClearSmoothing (Geometry &geo, const Geometry::SmoothingParameters &smoothing_parameters) |
| Removes any previously applied smoothing from a geometry, restoring original vertex positions. | |
| static void | CotangentLaplacianSmoothing (Geometry &geo, const Geometry::SmoothingParameters &smoothing_parameters) |
| Applies cotangent-weighted Laplacian smoothing to a geometry mesh. | |
| static void | LaplacianSmoothing (Geometry &geo, const Geometry::SmoothingParameters &smoothing_parameters) |
| Applies Laplacian smoothing to a geometry mesh. | |
| static void | NormalSmoothing (Geometry &geo, NormalMode normal_mode, const Angle< fltp08 > &max_smooth_angle, const void *lock, LogPtr log) |
| Recalculates and smooths the surface normals of a geometry. | |
Static Protected Member Functions | |
| static void | RestoreGeo (Geometry &geo, const Buffer< Vector< 3, fltp08 > > &verts, GeometryPositionModRestore &restore, const void *lock, LogPtr log) |
| Restores geometry vertex positions and associated cached data after a smoothing operation. | |
Forward declaration of InfoPipe for progress/logging support.
Contains static methods for smoothing 3D geometry meshes.
Provides several smoothing algorithms including uniform Laplacian, cotangent-weighted Laplacian, and normal smoothing. Also supports clearing previously applied smoothing operations.
Definition at line 46 of file Smoothing.h.
|
static |
Removes any previously applied smoothing from a geometry, restoring original vertex positions.
| [in] | geo | The geometry to clear smoothing from. |
| [in] | smoothing_parameters | Parameters controlling the smoothing operation (property, iterations, lock, log, etc.). |
|
static |
Applies cotangent-weighted Laplacian smoothing to a geometry mesh.
Unlike uniform Laplacian smoothing, this variant uses cotangent weights derived from triangle angles, which better preserves geometric features while reducing noise.
| [in] | geo | The geometry to smooth. |
| [in] | smoothing_parameters | Parameters controlling the smoothing operation (iterations, shrink/grow rates, etc.). |
|
static |
Applies Laplacian smoothing to a geometry mesh.
Laplacian smoothing iteratively moves each vertex toward the average position of its neighbors, using shrink and grow rates from the smoothing parameters to reduce mesh shrinkage (Taubin smoothing).
| [in] | geo | The geometry to smooth. |
| [in] | smoothing_parameters | Parameters controlling the smoothing operation (iterations, shrink/grow rates, etc.). |
|
static |
Recalculates and smooths the surface normals of a geometry.
| [in] | geo | The geometry whose normals will be recalculated. |
| [in] | normal_mode | The mode used for normal computation (e.g., smooth, flat, or none). |
| [in] | max_smooth_angle | The maximum angle between face normals for which smoothing will be applied. |
| [in] | lock | An optional mutex or lock pointer used for thread-safe geometry access. |
| [in] | log | An optional log for reporting progress or diagnostics. |
|
staticprotected |
Restores geometry vertex positions and associated cached data after a smoothing operation.
Writes the provided vertex buffer back into the geometry and uses the restore object to recalculate any dependent data (e.g., bounds, normals) that was invalidated by position changes.
| [in] | geo | The geometry to restore positions into. |
| [in] | verts | The buffer of vertex positions to write back. |
| [in] | restore | The restore object that tracks and recalculates position-dependent data. |
| [in] | lock | An optional mutex or lock pointer used for thread-safe geometry access. |
| [in] | log | An optional log for reporting progress or diagnostics. |