PGP
Basics
1) Load an object
for instance, use this one (courtesy of Stanford university)
2) Compute a guidance direction field:
Atlas->global->smooth direction field
3) [Optional] Visualize the direction field:
Shaders pane: select Vectors
attribute 1: K1
attribute 2: K2
click 'tensor' checkbox
scaling: 0.005

4) Compute the periodic global parameterization
Atlas->global->periodic global parameterization
5) Visualize the periodic global parameterization
Shaders pane: select PGP

6) Create the quad-mesh
Atlas->global->create quad-dominant mesh from PGP
7) visualize the result
Object list-> select 'surface'
Viewer controls (top left)->selected only
Shader pane-> mesh style

8) save the result
File->save current
bunny_quad.obj
Improving the result
1) re-select the initial object
Object list->bunny
2) Generate a smoother guidance field:
Atlas->global->smooth direction field
smoothing: 0.99999
nb outer iters: 6
3) Compute curl-correction
Atlas->global->compute curl correction
4) Compute PGP with curl-correction
Atlas->global->periodic global parameterization
Check 'use_curl_correction'

5) Create quad-dominant mesh from PGP

To tune the result you can:
- Change the 'wavelength' used by PGP at step 4
small wavelength generate small quads, but may yield a larger number of singularities
- Change the 'pgp_sampling_factor' used at step 5
higher sampling factor generates smaller quads, this corresponds to the number of iso-theta and iso-phi lines used when generating the quad mesh.
Notes:
- This is alpha software, and will probably crash often.
- Known bugs and limitations
- sometimes we got an ordering problem that creates twisted quads in the mesh.
- modulo=1 is broken in this version, use modulo=4.
- singularity fixing and mesh-to-T-Spline conversion are not available in this version.