\( \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.3 - Planar Parameterization of Triangulated Surface Meshes
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Parameterization_polyhedron_adaptor_3< Polyhedron_3_ > Class Template Reference

#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/Eigen_parameterization.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...
 
Polyhedronget_adapted_mesh ()
 Get the adapted mesh.
 
const Polyhedronget_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.