\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - Planar Parameterization of Triangulated Surface Meshes

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
ParameterizerTraits_3 Concept Reference
Concepts

## 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 [6] : they implement a strategy of surface parameterization for models of `ParameterizationMesh_3`.

## Creation

Construction and destruction are undefined.

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`

## Types
typedef unspecified_type | 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. More...

## Operations
Error_code | parameterize (Adaptor &mesh)
| Compute a one-to-one mapping from a triangular 3D surface `mesh` to a piece of the 2D space. More...

## Member Enumeration Documentation

enum ParameterizerTraits_3::Error_code

List of errors detected by this package.

Enumerator
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.

## Member Function Documentation

Error_code ParameterizerTraits_3::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.

Precondition
  `mesh` must be a surface with one connected component and no hole. `mesh` must be a triangular mesh.