CGAL 6.1 - Planar Parameterization of Triangulated Surface Meshes

Loading...
Searching...
No Matches
Functions
Main Functions
Reference Manual

##

The central functions, main entry point of the package.

## Functions
template<class TriangleMesh , class Parameterizer , class HD , class VertexUVmap >
Error_code | CGAL::Surface_mesh_parameterization::parameterize (TriangleMesh &mesh, Parameterizer parameterizer, HD bhd, VertexUVmap uvmap)
| computes a one-to-one mapping from a 3D triangle surface `mesh` to a simple 2D domain.
template<class TriangleMesh , class HD , class VertexUVmap >
Error_code | CGAL::Surface_mesh_parameterization::parameterize (TriangleMesh &mesh, HD bhd, VertexUVmap uvmap)
| computes a one-to-one mapping from a 3D triangle surface `mesh` to a 2D circle, using Floater Mean Value Coordinates algorithm.

## Function Documentation

## ◆ parameterize() [1/2]

template<class TriangleMesh , class HD , class VertexUVmap >

Error_code CGAL::Surface_mesh_parameterization::parameterize | ( | TriangleMesh & | mesh,
|  | HD | bhd,
|  | VertexUVmap | uvmap
| ) |  |

`#include <CGAL/Surface_mesh_parameterization/parameterize.h>`

computes a one-to-one mapping from a 3D triangle surface `mesh` to a 2D circle, using Floater Mean Value Coordinates algorithm.

A one-to-one mapping is guaranteed.

The mapping is piecewise linear on the input mesh triangles. The result is a `(u,v)` pair of parameter coordinates for each vertex of the input mesh.

Template Parameters

  TriangleMesh | must be a model of `FaceGraph`.
  HD | must be the halfedge_descriptor type corresponding to the graph traits of `TriangleMesh`.
  VertexUVmap | must be a model of `ReadWritePropertyMap` with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and Point_2 (type deduced from `TriangleMesh` using `Kernel_traits`) as value type.

Parameters

  mesh | a triangulated surface.
  bhd | a halfedge descriptor on the boundary of `mesh`.
  uvmap | an instantiation of the class `VertexUVmap`.

Precondition
  `mesh` must be a triangular mesh.
  The vertices must be indexed (vimap must be initialized).

## ◆ parameterize() [2/2]

template<class TriangleMesh , class Parameterizer , class HD , class VertexUVmap >

Error_code CGAL::Surface_mesh_parameterization::parameterize | ( | TriangleMesh & | mesh,
|  | Parameterizer | parameterizer,
|  | HD | bhd,
|  | VertexUVmap | uvmap
| ) |  |

`#include <CGAL/Surface_mesh_parameterization/parameterize.h>`

computes a one-to-one mapping from a 3D triangle surface `mesh` to a simple 2D domain.

The mapping is piecewise linear on the triangle mesh. The result is a pair `(u,v)` of parameter coordinates for each vertex of the input mesh.

A one-to-one mapping may be guaranteed or not, depending on the chosen Parameterizer algorithm.

Template Parameters

  TriangleMesh | must be a model of `FaceGraph`.
  Parameterizer | must be a model of `Parameterizer_3`.
  HD | must be the halfedge_descriptor type corresponding to the graph traits of `TriangleMesh`.
  VertexUVmap | must be a model of `ReadWritePropertyMap` with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and Point_2 (type deduced from `TriangleMesh` using `Kernel_traits`) as value type.

Parameters

  mesh | a triangulated surface.
  parameterizer | a parameterizer.
  bhd | a halfedge descriptor on the boundary of `mesh`.
  uvmap | an instantiation of the class `VertexUVmap`.

Precondition
  `mesh` must be a triangular mesh.
  The mesh border must be mapped onto a convex polygon (for fixed border parameterizations).
  The vertices must be indexed (vimap must be initialized).