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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::HalfedgeDS_vertex_base< Refs > Class Template Reference
Vertices, Halfedges, Faces

`#include <CGAL/HalfedgeDS_vertex_base.h>`

## Definition

The class `HalfedgeDS_vertex_base` is a model of the `HalfedgeDSVertex` concept.

`Refs` is an instantiation of a `HalfedgeDS`. The template declaration of `HalfedgeDS_vertex_base` has three parameters with some defaults that allow to select various flavors of vertices. The declaration is best explained with the two following declarations, essentially hiding an implementation dependent default setting:

`template <class Refs, class T = CGAL::Tag_true>`
`class HalfedgeDS_vertex_base;`

`template <class Refs, class T, class Point>`
`class HalfedgeDS_vertex_base;`

Let us look at some instantiations

- `HalfedgeDS_vertex_base` defines a vertex including a reference to an incident halfedge.
- `HalfedgeDS_vertex_base<Refs,CGAL::Tag_false>` is a vertex without a reference to an incident halfedge. It is empty besides the required type definitions. It can be used for deriving own vertex implementations. See also `CGAL::HalfedgeDS_vertex_min_base<Refs>`.
- `HalfedgeDS_vertex_base<Refs,CGAL::Tag_true,Point>` is a vertex with a reference to an incident halfedge and it stores a point of type `Point`. It can be used as a vertex for a model of the `PolyhedronItems_3` concept.
- `HalfedgeDS_vertex_base<Refs,CGAL::Tag_false,Point>` is a vertex without a reference to an incident halfedge and it stores a point of type `Point`. It can be used as a vertex for a model of the `PolyhedronItems_3` concept.

Is Model Of:
  `HalfedgeDSVertex`

See Also
  `HalfedgeDS<Traits,Items,Alloc>`
  `HalfedgeDSItems`
  `PolyhedronItems_3`
  `CGAL::HalfedgeDS_items_2`
  `CGAL::HalfedgeDS_halfedge_base<Refs>`
  `CGAL::HalfedgeDS_face_base<Refs>`
  `CGAL::HalfedgeDS_vertex_min_base<Refs>`

## Types
typedef unspecified_type | Point
| point type for three argument version.

## Creation
| HalfedgeDS_vertex_base ()
| default constructor.
| HalfedgeDS_vertex_base (const Point &p)
| initialized with point `p`.

## Operations
Point & | point ()
const Point & | point () const