\( \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 - 3D Polyhedral Surface

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules | Classes
3D Polyhedral Surface Reference

##

Lutz Kettner
Polyhedral surfaces in three dimensions are composed of vertices, edges, facets and an incidence relationship on them. The organization beneath is a halfedge data structure, which restricts the class of representable surfaces to orientable 2-manifolds - with and without boundary. If the surface is closed we call it a polyhedron.

Introduced in: CGAL 1.0
Depends on: Halfedge Data Structures
BibTeX: cgal:k-ps-16a
License: GPL
Windows Demo: Operations on Polyhedra
Common Demo Dlls: dlls

Polyhedral surfaces in three dimensions are composed of vertices, edges, facets and an incidence relationship on them. The organization beneath is a halfedge data structure, which restricts the class of representable surfaces to orientable 2-manifolds - with and without boundary. If the surface is closed we call it a polyhedron.

The polyhedral surface is realized as a container class managing vertices, halfedges, facets with their incidences, and maintaining the combinatorial integrity of them. Its local types for the vertices, halfedges and facets are documented separately. A default traits class, a default items class and an incremental builder conclude the references. The polyhedral surface is based on the highly flexible design of the halfedge data structure, see the reference for `HalfedgeDS` in Chapter Halfedge Data Structures or [3], but the default instantiation of the polyhedral surface can be used without knowing the halfedge data structure.

## Classified Reference Pages

## Concepts

- `PolyhedronTraits_3`
- `PolyhedronItems_3`

## Classes

- `CGAL::Polyhedron_3<Traits>`
- `CGAL::Polyhedron_3<Traits>::Vertex`
- `CGAL::Polyhedron_3<Traits>::Halfedge`
- `CGAL::Polyhedron_3<Traits>::Facet`
- `CGAL::Polyhedron_traits_3<Kernel>`
- `CGAL::Polyhedron_traits_with_normals_3<Kernel>`
- `CGAL::Polyhedron_items_3`
- `CGAL::Polyhedron_min_items_3`
- `CGAL::Polyhedron_incremental_builder_3<HDS>`

## Functions

- `CGAL::operator<<()`
- `CGAL::operator>>()`

## Modules
| Concepts
| I/O Functions

## Classes
class | CGAL::Polyhedron_3< Traits >
| A polyhedral surface `Polyhedron_3` consists of vertices `V`, edges `E`, facets `F` and an incidence relation on them. More...
class | CGAL::Polyhedron_3< Traits >::Halfedge
| A halfedge is an oriented edge between two vertices. More...
class | CGAL::Polyhedron_3< Traits >::Facet
| A facet optionally stores a plane equation, and a reference to an incident halfedge that points to the facet. More...
class | CGAL::Polyhedron_3< Traits >::Vertex
| A vertex optionally stores a point and a reference to an incident halfedge that points to the vertex. More...
class | CGAL::Polyhedron_incremental_builder_3< HDS >
| The auxiliary class `Polyhedron_incremental_builder_3` supports the incremental construction of polyhedral surfaces, which is for example convenient when constructing polyhedral surfaces from file formats, such as the Object File Format (OFF) More...
class | CGAL::Polyhedron_items_3
| The class `Polyhedron_items_3` is a model of the `PolyhedronItems_3` concept. More...
class | CGAL::Polyhedron_min_items_3
| The class `Polyhedron_min_items_3` is a minimal model of the `PolyhedronItems_3` concept. More...
class | CGAL::Polyhedron_traits_3< Kernel >
| The class `Polyhedron_traits_3` is a model of the `PolyhedronTraits_3` concept. More...
class | CGAL::Polyhedron_traits_with_normals_3< Kernel >
| The class `Polyhedron_traits_with_normals_3` is a model of the `PolyhedronTraits_3` concept. More...