Concept

ParameterizerTraits_3

Definition

ParameterizerTraits_3 is a concept of parameterization object for a given type of mesh, Adaptor, which is a model of the ParameterizationMesh_3 concept.

Design Pattern

ParameterizerTraits_3 models are Strategies [GHJV95]: they implement a strategy of surface parameterization for models of ParameterizationMesh_3.

Types

ParameterizerTraits_3::Adaptor
Export the type of mesh to parameterize.

Constants

enum Error_code { OK,
ERROR_EMPTY_MESH,
ERROR_NON_TRIANGULAR_MESH,
ERROR_NO_TOPOLOGICAL_DISC,
ERROR_BORDER_TOO_SHORT,
ERROR_NON_CONVEX_BORDER,
ERROR_CANNOT_SOLVE_LINEAR_SYSTEM,
ERROR_NO_1_TO_1_MAPPING,
ERROR_OUT_OF_MEMORY,
ERROR_WRONG_PARAMETER};
List of errors detected by this package.
Values: 
OK: Success. ERROR_EMPTY_MESH: Input mesh is empty. ERROR_NON_TRIANGULAR_MESH: Input mesh is not triangular. ERROR_NO_TOPOLOGICAL_DISC: Input mesh is not a topological disc. ERROR_BORDER_TOO_SHORT: This border parameterization requires a longer border. ERROR_NON_CONVEX_BORDER: This parameterization method requires a convex border. ERROR_CANNOT_SOLVE_LINEAR_SYSTEM: Cannot solve linear system. ERROR_NO_1_TO_1_MAPPING: Parameterization failed: no one-to-one mapping. ERROR_OUT_OF_MEMORY: Not enough memory. ERROR_WRONG_PARAMETER: A method received an unexpected parameter.

Creation

Construction and destruction are undefined.

Operations

Error_code param.parameterize ( Adaptor& mesh)
Compute a one-to-one mapping from a triangular 3D surface mesh to a piece of the 2D space. The mapping is linear by pieces (linear in each triangle). The result is the (u, v) pair image of each vertex of the 3D surface.
Preconditions: 
mesh must be a surface with one connected component and no hole. mesh must be a triangular mesh.

Has Models

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_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 Also

ParameterizationMesh_3