The class Discrete_authalic_parameterizer_3 implements the Discrete Authalic Parameterization algorithm [DMA02]. This method is sometimes called DAP or just Authalic parameterization.
DAP is a weak area-preserving parameterization. It is a compromise between area-preserving and angle-preserving.
One-to-one mapping is guaranteed if surface's border is mapped onto a convex polygon.
This class is a Strategy [GHJV95] called by the main parameterization algorithm Fixed_border_parameterizer_3::parameterize(). Discrete_authalic_parameterizer_3: It provides default BorderParameterizer_3 and SparseLinearAlgebraTraits_d template parameters that make sense. It implements compute_w_ij() to compute w_ij = (i, j) coefficient of matrix A for j neighbor vertex of i based on Discrete Authalic Parameterization algorithm.
#include <CGAL/Discrete_authalic_parameterizer_3.h>
Fixed_border_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>
Model of the ParameterizerTraits_3 concept.
Discrete_authalic_parameterizer_3 class is a Strategy [GHJV95]: it implements a strategy of surface parameterization for models of ParameterizationMesh_3.
The full template declaration is:
template<class ParameterizationMesh_3, class BorderParameterizer_3 = Circular_border_arc_length_parameterizer_3<ParameterizationMesh_3>, class SparseLinearAlgebraTraits_d = OpenNL::DefaultLinearSolverTraits<typename ParameterizationMesh_3::NT>>
class Discrete_authalic_parameterizer_3;
| |||
Constructor.
|
CGAL::Parameterizer_traits_3<ParameterizationMesh_3>
CGAL::Fixed_border_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>
CGAL::Barycentric_mapping_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 Authalic_parameterization.cpp example.