CGAL::Parameterizer_traits_3<ParameterizationMesh_3>

Definition

The class Parameterizer_traits_3 is the base class of all parameterization methods. This class is a pure virtual class, thus cannot be instantiated.

This class doesn't do much. Its main goal is to ensure that subclasses will be proper models of the ParameterizerTraits_3 concept:

#include <CGAL/Parameterizer_traits_3.h>

Is Model for the Concepts

Model of the ParameterizerTraits_3 concept (although you cannot instantiate this class).

Design Pattern

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

Parameters

The full template declaration is:

template<
class ParameterizationMesh_3>
class Parameterizer_traits_3;

Types

Parameterizer_traits_3<ParameterizationMesh_3>::Adaptor
Export ParameterizationMesh_3 template parameter.

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
input mesh is empty
ERROR_NON_TRIANGULAR_MESH
input mesh is not triangular
ERROR_NO_SURFACE_MESH
input mesh is not a surface
ERROR_INVALID_BORDER
parameterization requires a convex border
ERROR_CANNOT_SOLVE_LINEAR_SYSTEM
cannot solve linear system
ERROR_NO_1_TO_1_MAPPING
parameterization does not ensure a one-to-one mapping
ERROR_OUT_OF_MEMORY
not enough memory
ERROR_WRONG_PARAMETER
a method received an unexpected parameter

Creation

Parameterizer_traits_3<ParameterizationMesh_3> param;
default constructor.

Operations

virtual Error_code param.parameterize ( Adaptor& mesh)
Compute a one-to-one mapping from a 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.
  • 'mesh' must be a triangular mesh.
static const char* param.get_error_message ( int error_code)
Get message (in English) corresponding to an error code
Parameters:
error_code
The code returned by parameterize()
Returns:
The string describing the error code

See Also

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>