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>
| ||
| ||
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:
|
| ||
| ||
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:
|
The full template declarations are:
template
class ParameterizationMesh_3
Parameterizer_traits_3<ParameterizationMesh_3>::Error_code
parameterize (ParameterizationMesh_3& mesh);
template
class ParameterizationMesh_3,
class ParameterizerTraits_3
Parameterizer_traits_3<ParameterizationMesh_3>::Error_code
parameterize (ParameterizationMesh_3& mesh, ParameterizerTraits_3 parameterizer);
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.