Skip to content

baldraven/ultimailleQuadRemesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build, test

Implementing Bunin's algorithm with Ultimaille

Improve quad mesh topology with non-local topological clean-up.

Compilation

cmake -B build -DCMAKE_BUILD_TYPE=Release
cd build
make -j

Usage

./{executable path} model={model path} {paramType=paramValue}

Optional parameters are :

  • string result_path : sets output meshes path (defauls to output/)
  • bool animate : sets whether to export the mesh after each iteration, in a output/animation folder (defaults to false)
  • int maxPatchSize : sets the maximum number of facets in a patch to remesh. Higher usually eliminate more defects, but can be slower (defaults to 500)
  • bool cad_mode : enable a mode that preserve the edges of the mesh (default to false)
  • bool edge_flipping : enable flipping edge before starting the main remeshing, setting to false can lead to better quality mesh in some instances (defaults to true)

Alternatively, it can be run from Graphite with graphite addon loader.

How does it work

Starting by the first point of the mesh, it looks for patches with at least 3 singularities (points that have a number of incident edges different from 4), that have either 3, 4 or 5 sides, and remesh them with a single singularity, thanks to these equations.

If it fails, it expands the patch until reaching a maximum size. Then it continues iterating on the other points. If a remesh is done, it restarts iterating from the first point again, continuing until every point is covered and no remesh has been made.

References