\( \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
CGAL::Parameterization_polyhedron_adaptor_3< Polyhedron_3_ > Class Template Reference
Mesh

`#include <CGAL/Parameterization_polyhedron_adaptor_3.h>`

## Definition

`Parameterization_polyhedron_adaptor_3` is an adaptor class to access to a Polyhedron 3D mesh using the `ParameterizationPatchableMesh_3` interface.

Among other things, this concept defines the accessor to the (u,v) values computed by parameterizations methods.

Note that these interfaces are decorators that add "on the fly" the necessary fields to unmodified CGAL data structures (using STL maps). For performance reasons, it is recommended to use CGAL data structures enriched with the proper fields.

A `ParameterizationMesh_3` surface consists of vertices, facets and an incidence relation on them. No notion of edge is requested.

`ParameterizationMesh_3` meshes can have any genus, arity or number of components.

It can have have any number of borders. Its "main border" will be the mesh's longest border (if there is at least one border).

It has also the ability to support patches and virtual seams. Patches are a subset of a 3D mesh. "Virtual seams" are the ability to behave exactly as if the surface was cut following a certain path.

Is Model Of:
  `ParameterizationPatchableMesh_3`

Examples:
  Surface_mesh_parameterization/Complete_parameterization_example.cpp, Surface_mesh_parameterization/Mesh_cutting_parameterization.cpp, and Surface_mesh_parameterization/Simple_parameterization.cpp.

typedef Polyhedron_3_ | Polyhedron
| Export template parameter.
| Parameterization_polyhedron_adaptor_3 (Polyhedron &mesh)
| Create an adaptator for an existing Polyhedron_3 mesh. More...
Polyhedron & | get_adapted_mesh ()
| Get the adapted mesh.
const Polyhedron & | get_adapted_mesh () const
Polyhedron::Halfedge_const_handle | get_halfedge (Vertex_const_handle source, Vertex_const_handle target) const
| Get halfedge from source and target vertices. More...
Polyhedron::Halfedge_handle | get_halfedge (Vertex_handle source, Vertex_handle target)
const Halfedge_info * | info (Halfedge_const_handle halfedge) const
| Access to additional info attached to halfedges.
Halfedge_info * | info (Halfedge_const_handle halfedge)
const Vertex_info * | info (Vertex_const_handle vertex) const
| Access to additional info attached to vertices.
Vertex_info * | info (Vertex_const_handle vertex)

## Constructor & Destructor Documentation

template<class Polyhedron_3_ >

CGAL::Parameterization_polyhedron_adaptor_3< Polyhedron_3_ >::Parameterization_polyhedron_adaptor_3 | ( | Polyhedron & | mesh) |  |

Create an adaptator for an existing Polyhedron_3 mesh.

The input mesh can be of any genus. It can have have any number of borders. Its "main border" will be the mesh's longest border (if there is at least one border).

## Member Function Documentation

template<class Polyhedron_3_ >

Polyhedron::Halfedge_const_handle CGAL::Parameterization_polyhedron_adaptor_3< Polyhedron_3_ >::get_halfedge | ( | Vertex_const_handle | source,
|  | Vertex_const_handle | target
| ) |  | const

Get halfedge from source and target vertices.

Will assert if such a halfedge doesn't exist.