Class SurfaceRemeshing

Class Documentation

class SurfaceRemeshing

A class for uniform and adaptive surface remeshing.

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

Public Functions

SurfaceRemeshing(SurfaceMesh &mesh)

Construct with mesh to be remeshed.

Throws:

InvalidInputException – if the input precondition is violated.

Pre:

Input mesh needs to be a pure triangle mesh.

~SurfaceRemeshing()
void uniform_remeshing(Scalar edge_length, unsigned int iterations = 10, bool use_projection = true)

Perform uniform remeshing.

Parameters:
  • edge_length – the target edge length.

  • iterations – the number of iterations

  • use_projection – use back-projection to the input surface

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.

Parameters:
  • min_edge_length – the minimum edge length.

  • max_edge_length – the maximum edge length.

  • approx_error – the maximum approximation error

  • iterations – the number of iterations

  • use_projection – use back-projection to the input surface