CGAL 4.7 - Halfedge Data Structures: Concepts

\( \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.7 - Halfedge Data Structures

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes
Concepts
Halfedge Data Structures Reference

##

## Concepts

concept | HalfedgeDS< Traits, Items, Alloc >

The concept of a halfedge data structure (abbreviated as `HalfedgeDS`, or `HDS` for template parameters) defines an edge-centered data structure capable of maintaining incidence information of vertices, edges, and faces, for example for planar maps or polyhedral surfaces. It is a combinatorial data structure, geometric interpretation is added by classes built on top of the halfedge data structure. More...

concept | HalfedgeDSFace
| The concept `HalfedgeDSFace` defines the requirements for the local `Face` type in the `HalfedgeDS` concept. It is also required in the `Face_wrapper<Refs,Traits>` member class template of an items class, see the `HalfedgeDSItems` concept. More...
concept | HalfedgeDSHalfedge

The concept `HalfedgeDSHalfedge` defines the requirements for the local `Halfedge` type in the `HalfedgeDS` concept. It is also required in the `Halfedge_wrapper<Refs,Traits>` member class template of an items class, see the `HalfedgeDSItems` concept. More...

concept | HalfedgeDSItems

The concept `HalfedgeDSItems` wraps the three item types - vertex, halfedge, and face - for a halfedge data structure. A `HalfedgeDSItems` contains three member class templates named `Vertex_wrapper`, `Halfedge_wrapper`, and `Face_wrapper`, each with two template parameters, `Refs` and `Traits`. `Refs` requires an instantiated halfedge data structure `HalfedgeDS` as argument, `Traits` is a geometric traits class supplied by the class that uses the halfedge data structure as internal representation. `Traits` is not used by the halfedge data structure itself. These three member class templates provide a local type named `Vertex`, `Halfedge`, and `Face` respectively. The requirements on these types are described on the manual pages of the concepts `HalfedgeDSVertex`, `HalfedgeDSHalfedge`, and `HalfedgeDSFace` respectively. More...

concept | HalfedgeDSVertex

The concept `HalfedgeDSVertex` defines the requirements for the local `Vertex` type in the `HalfedgeDS` concept. It is also required in the `Vertex_wrapper<Refs,Traits>` member class template of an items class, see the `HalfedgeDSItems` concept. More...