CGAL 5.5.1 - Planar Parameterization of Triangulated Surface Meshes
Triangulated Surface Mesh Parameterization Reference
Laurent Saboret, Pierre Alliez, Bruno Lévy, Mael Rouxel-Labbé, Andreas Fabri, and Hardik Jain
Parameterizing a surface amounts to finding a one-to-one mapping from a suitable domain to the surface. In this package, we focus on triangulated surfaces that are homeomorphic to a disk and on piecewise linear mappings into a planar domain. This package implements several surface mesh parameterization methods, such as As Rigid As Possible Parameterization, Discrete Authalic Parameterization, Discrete Conformal Map, Floater Mean Value Coordinates, Least Squares Conformal Maps, Orbifold Tutte Embedding, or Tutte Barycentric Mapping. The code is generic and works with any model of the FaceGraph concept.
Introduced in: CGAL 3.2
Depends on: CGAL and Solvers
BibTeX: cgal:salf-pptsm2-22b
Windows Demo: Polyhedron demo
Common Demo Dlls: dlls

## Main Function

• CGAL::Surface_mesh_parameterization::parameterize()

## Concepts

• Parameterizer_3

## Surface Parameterization Methods

This CGAL package implements several parameterization methods:

• Fixed border:
• Tutte Barycentric Mapping [12] : One-to-one mapping is guaranteed for convex border.
• Discrete Authalic Parameterization [2] : Conditionally guaranteed if all weights are positive and border is convex.
• Discrete Conformal Map [3] : Conditionally guaranteed if all weights are positive and border is convex.
• Floater Mean Value Coordinates [4] : One-to-one mapping is guaranteed for convex border.
• Iterative Authalic Parameterization [6].
• Free border:
• As Rigid As Possible Parameterization [9]
• Least Squares Conformal Maps (LSCM) [8].
• Borderless:
• Orbifold Tutte Embeddings [1].

The following classes implement the methods listed above:

• CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::Barycentric_mapping_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::Discrete_authalic_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::Discrete_conformal_map_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::Iterative_authalic_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::LSCM_parameterizer_3<TriangleMesh, BorderParameterizer>
• CGAL::Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::Orbifold_Tutte_parameterizer_3<TriangleMesh, SolverTraits>

## Border Parameterization Methods

Border parameterization methods define a set of constraints (a constraint specifies two (u,v) coordinates for each instance of a vertex along the border).

This package implements common border parameterization methods:

• For fixed border methods:
• the user can select a border parameterization among two common methods: uniform or arc-length parameterizations.
• the user can select a convex shape among a set of standard ones (circle, square).
• For free border methods: at least two constraints (the pinned vertices).

The following classes implement the methods listed above:

• CGAL::Surface_mesh_parameterization::Circular_border_uniform_parameterizer_3<TriangleMesh>
• CGAL::Surface_mesh_parameterization::Circular_border_arc_length_parameterizer_3<TriangleMesh>
• CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>
• CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3<TriangleMesh>
• CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3<TriangleMesh>
• CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<TriangleMesh>

## Mesh

The general definition of input meshes handled directly by CGAL::Surface_mesh_parameterization::parameterize() is a triangulated surface mesh model of FaceGraph that is homeomorphic to a disc (may have holes). In particular, it means that it must be 2-manifold and oriented.

## Checks and Assertions

The package performs the next checks:

• For fixed border parameterizations:
• Preconditions:
• the border is mapped onto a convex polygon.
• the input mesh is triangular.
• the input mesh is a surface with one connected component.
• Preconditions:
• the input mesh is triangular.
• the input mesh is a surface with one connected component.
• For borderless parameterizations:
• Preconditions:
• the input mesh is triangular.
• the input mesh is a surface with one connected component.

## Modules

Main Functions
The central functions, main entry point of the package.

Enums
The enum classes defined and used in this package.

Concepts
The concepts of this package.

Surface Parameterization Methods
This CGAL package implements several parameterization methods:

Border Parameterization Methods
Border parameterization methods define a set of constraints (a constraint specifies two (u,v) coordinates for each instance of a vertex along the border).