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.
| ||||||
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.
|
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>
See Simple_parameterization.cpp example.
This function simply calls the parameterize() method of the parameterization algorithm chosen.