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_SURFACE_MESH,
ERROR_INVALID_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.

Enumeration values:
OK
Success.
ERROR_EMPTY_MESH
Error: input mesh is empty.
ERROR_NON_TRIANGULAR_MESH
Error: input mesh is not triangular.
ERROR_NO_SURFACE_MESH
Error: input mesh is not a surface.
ERROR_INVALID_BORDER
Error: parameterization requires a convex border.
ERROR_CANNOT_SOLVE_LINEAR_SYSTEM
Error: cannot solve linear system.
ERROR_NO_1_TO_1_MAPPING
Error: parameterization does not ensure a one-to-one mapping.
ERROR_OUT_OF_MEMORY
Error: not enough memory.
ERROR_WRONG_PARAMETER
Error: 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