Class SurfaceSmoothing
Defined in File SurfaceSmoothing.h
Class Documentation
-
class SurfaceSmoothing
A class for Laplacian smoothing.
See also desbrun_1999_implicit and kazhdan_2012
Public Functions
-
SurfaceSmoothing(SurfaceMesh &mesh)
Construct with mesh to be smoothed.
-
~SurfaceSmoothing()
-
void explicit_smoothing(unsigned int iters = 10, float smooth_factor = 0.5, bool use_uniform_laplace = false)
Perform
itersiterations of explicit Laplacian smoothing. Decide whether to use uniform Laplacian or cotan Laplacian (default: cotan).
-
void implicit_smoothing(Scalar timestep = 0.001, bool use_uniform_laplace = false, bool rescale = true)
Perform implicit Laplacian smoothing.
- Parameters:
timestep – The time step taken.
use_uniform_laplace – Decide whether to use uniform Laplacian or cotan Laplacian. Default: cotan.
rescale – Decide whether to re-center and re-scale model after smoothing. Default: true.
- Throws:
SolverException – in case of a failure to solve the linear system.
-
inline void initialize(bool use_uniform_laplace = false)
Initialize edge and vertex weights.
-
SurfaceSmoothing(SurfaceMesh &mesh)