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

Surface mesh simplification based on approximation error and fairness criteria. More...

#include <easy3d/algo/surface_mesh_simplification.h>

Public Member Functions

 SurfaceMeshSimplification (SurfaceMesh *mesh)
 Construct with mesh to be simplified.
 
 ~SurfaceMeshSimplification ()
 Destructor.
 
void initialize (float aspect_ratio=0.0, float edge_length=0.0, unsigned int max_valence=0, float normal_deviation=0.0, float hausdorff_error=0.0)
 Initialize with given parameters.
 
void simplify (unsigned int n_vertices)
 Simplify mesh to n vertices.
 

Detailed Description

Surface mesh simplification based on approximation error and fairness criteria.

It performs incremental greedy mesh simplification based on halfedge collapses. See the following papers for more details:

  • Michael Garland and Paul Seagrave Heckbert. Surface simplification using quadric error metrics. SIGGRAPH 1997.
  • Leif Kobbelt et al. A general framework for mesh decimation. In Proceedings of Graphics Interface, 1998.

Constructor & Destructor Documentation

◆ SurfaceMeshSimplification()

Construct with mesh to be simplified.

Parameters
meshThe surface mesh to be simplified.

Member Function Documentation

◆ initialize()

void initialize ( float aspect_ratio = 0.0,
float edge_length = 0.0,
unsigned int max_valence = 0,
float normal_deviation = 0.0,
float hausdorff_error = 0.0 )

Initialize with given parameters.

Parameters
aspect_ratioThe maximum aspect ratio of the simplified mesh. Default: 0.0.
edge_lengthThe target edge length. Default: 0.0.
max_valenceThe maximum valence of vertices. Default: 0.
normal_deviationThe maximum deviation of vertex normals. Default: 0.0.
hausdorff_errorThe maximum Hausdorff error. Default: 0.0.

◆ simplify()

void simplify ( unsigned int n_vertices)

Simplify mesh to n vertices.

Parameters
n_verticesThe target number of vertices.

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