Easy3D 2.6.1
Loading...
Searching...
No Matches
SurfaceMeshSmoothing Class Reference

A class for Laplacian smoothing. More...

#include <easy3d/algo/surface_mesh_smoothing.h>

Public Member Functions

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

Detailed Description

A class for Laplacian smoothing.

See the following papers for more details:

  • Mathieu Desbrun et al. Implicit fairing of irregular meshes using diffusion and curvature flow. SIGGRAPH, 1999.
  • Misha Kazhdan et al. Can mean‐curvature flow be modified to be non‐singular? CGF, 2012.

Constructor & Destructor Documentation

◆ SurfaceMeshSmoothing()

SurfaceMeshSmoothing ( SurfaceMesh * mesh)
explicit

Construct with mesh to be smoothed.

Parameters
meshThe surface mesh to be smoothed.

Member Function Documentation

◆ explicit_smoothing()

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

Perform iters iterations of explicit Laplacian smoothing.

Parameters
itersThe number of iterations. Default: 10.
use_uniform_laplaceDecide whether to use uniform Laplacian or cotan Laplacian. Default: false.

◆ implicit_smoothing()

void implicit_smoothing ( float timestep = 0.001,
bool use_uniform_laplace = false,
bool rescale = true )

Perform implicit Laplacian smoothing with timestep.

Parameters
timestepThe timestep for implicit smoothing. Default: 0.001.
use_uniform_laplaceDecide whether to use uniform Laplacian or cotan Laplacian. Default: false.
rescaleDecide whether to re-center and re-scale model after smoothing. Default: true.

◆ initialize()

void initialize ( bool use_uniform_laplace = false)
inline

Initialize edge and vertex weights.

Parameters
use_uniform_laplaceDecide whether to use uniform Laplacian or cotan Laplacian. Default: false.

The documentation for this class was generated from the following files: