CGAL::parameterize

Definition

CGAL::parameterize() is the main entry-point of the Surface_mesh_parameterization package.

It computes a one-to-one mapping from a 3D triangle surface 'mesh' to a simple 2D domain. The mapping is piecewise linear on the triangle mesh. The result is a pair (u,v) of parameter coordinates for each vertex of the input mesh. One-to-one mapping may be guaranteed or not, depending on the chosen ParametizerTraits algorithm.

The CGAL::parameterize() function exists in two flavors, to provide a default parameterization algorithm of Floater Mean Value Coordinates.

#include <CGAL/parameterize.h>

template<class ParameterizationMesh_3>
Parameterizer_traits_3<ParameterizationMesh_3>::Error_code
parameterize ( ParameterizationMesh_3& mesh)
Compute a one-to-one mapping from a 3D triangle surface mesh to a 2D circle, using Floater Mean Value Coordinates algorithm. A one-to-one mapping is guaranteed.
The mapping is piecewise linear on the input mesh triangles. The result is a (u, v) pair of parameter coordinates for each vertex of the input mesh.
Preconditions: 
mesh must be a surface with one connected component. mesh must be a triangular mesh.
Parameters: 
mesh: 3D mesh, model of ParameterizationMesh_3 concept.
template<class ParameterizationMesh_3, class ParameterizerTraits_3>
Parameterizer_traits_3<ParameterizationMesh_3>::Error_code
parameterize ( ParameterizationMesh_3& mesh, ParameterizerTraits_3 parameterizer)
Compute a one-to-one mapping from a 3D triangle surface mesh to a simple 2D domain. The mapping is piecewise linear on the triangle mesh. The result is a pair (u, v) of parameter coordinates for each vertex of the input mesh.
One-to-one mapping may be guaranteed or not, depending on the chosen ParametizerTraits_3 algorithm.
Preconditions: 
mesh must be a surface with one connected component. mesh must be a triangular mesh. The mesh border must be mapped onto a convex polygon (for fixed border parameterizations).
Parameters: 
mesh: 3D mesh, model of ParameterizationMesh_3. parameterizer: Parameterization method for mesh.

See Also

CGAL::Barycentric_mapping_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>
CGAL::Discrete_authalic_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>
CGAL::Discrete_conformal_map_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>
CGAL::LSCM_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>
CGAL::Mean_value_coordinates_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>

Example

See Simple_parameterization.cpp example.

Implementation

This function simply calls the parameterize() method of the parameterization algorithm chosen.