GitHub link
PMP
The Polygon Mesh Processing Library
SurfaceRemeshing Class Reference

A class for uniform and adaptive surface remeshing. More...

#include <pmp/algorithms/SurfaceRemeshing.h>

Public Member Functions

 SurfaceRemeshing (SurfaceMesh &mesh)
 Construct with mesh to be remeshed. More...
 
void uniform_remeshing (Scalar edge_length, unsigned int iterations=10, bool use_projection=true)
 Perform uniform remeshing. More...
 
void adaptive_remeshing (Scalar min_edge_length, Scalar max_edge_length, Scalar approx_error, unsigned int iterations=10, bool use_projection=true)
 Perform adaptive remeshing. More...
 

Detailed Description

The algorithm implemented here performs incremental remeshing based on edge collapse, split, flip, and tangential relaxation. See [2] and [8] for a more detailed description.

Constructor & Destructor Documentation

◆ SurfaceRemeshing()

Precondition
Input mesh needs to be a pure triangle mesh.
Exceptions
InvalidInputExceptionif the input precondition is violated.

Member Function Documentation

◆ adaptive_remeshing()

void adaptive_remeshing ( Scalar  min_edge_length,
Scalar  max_edge_length,
Scalar  approx_error,
unsigned int  iterations = 10,
bool  use_projection = true 
)
Parameters
min_edge_lengththe minimum edge length.
max_edge_lengththe maximum edge length.
approx_errorthe maximum approximation error
iterationsthe number of iterations
use_projectionuse back-projection to the input surface

◆ uniform_remeshing()

void uniform_remeshing ( Scalar  edge_length,
unsigned int  iterations = 10,
bool  use_projection = true 
)
Parameters
edge_lengththe target edge length.
iterationsthe number of iterations
use_projectionuse back-projection to the input surface