GitHub link
The Polygon Mesh Processing Library
SurfaceSmoothing Class Reference

A class for Laplacian smoothing. More...

#include <pmp/algorithms/SurfaceSmoothing.h>

Public Member Functions

 SurfaceSmoothing (SurfaceMesh &mesh)
 Construct with mesh to be smoothed.
void explicit_smoothing (unsigned int iters=10, bool use_uniform_laplace=false)
 Perform iters iterations of explicit Laplacian smoothing. More...
void implicit_smoothing (Scalar timestep=0.001, bool use_uniform_laplace=false, bool rescale=true)
 Perform implicit Laplacian smoothing. More...
void initialize (bool use_uniform_laplace=false)
 Initialize edge and vertex weights.

Detailed Description

See also [6] and [10]

Member Function Documentation

◆ explicit_smoothing()

void explicit_smoothing ( unsigned int  iters = 10,
bool  use_uniform_laplace = false 

Decide whether to use uniform Laplacian or cotan Laplacian (default: cotan).

◆ implicit_smoothing()

void implicit_smoothing ( Scalar  timestep = 0.001,
bool  use_uniform_laplace = false,
bool  rescale = true 
timestepThe time step taken.
use_uniform_laplaceDecide whether to use uniform Laplacian or cotan Laplacian. Default: cotan.
rescaleDecide whether to re-center and re-scale model after smoothing. Default: true.
SolverExceptionin case of a failure to solve the linear system.