\( \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 - dD Triangulations

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex > Class Template Reference
Vertex, Face and Cell Classes

`#include <CGAL/Triangulation_vertex.h>`

## Inherits from

TriangulationDSVertex.

## Definition

The class `Triangulation_vertex` is a model of the concept `TriangulationVertex`.

It is used by default for representing vertices in the class `Triangulation<TriangulationTraits, TriangulationDataStructure>`.

A `Triangulation_vertex` stores a point and an incident full cell.

## Parameters

`TriangulationTraits` must be a model of the concept `TriangulationTraits`. It provides geometric types and predicates for use in the `Triangulation<TriangulationTraits, TriangulationDataStructure>` class. It is of interest here for its declaration of the `Point` type.

`Data` is an optional type of data to be stored in the vertex class. The class template `Triangulation_vertex` accepts that no second parameter be specified. In this case, `Data` defaults to `CGAL::No_vertex_data`. `CGAL::No_vertex_data` can be explicitely specified to allow to access the third parameter.

Parameter `TriangulationDSVertex` must be a model of the concept `TriangulationDSVertex`. The class template `Triangulation_vertex` accepts that no third parameter be specified. It also accepts the tag `CGAL::Default` as third parameter. In both cases, `TriangulationDSVertex` defaults to `CGAL::Triangulation_ds_vertex<>`.

Is Model Of:
  TriangulationVertex Additionally, the class `Triangulation_vertex` provides the following types, constructors and methods:

See Also
  `Triangulation_full_cell<TriangulationTraits, Data, TriangulationDSFullCell>`
  `Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>`
  `Triangulation<TriangulationTraits,TriangulationDataStructure>`
  `Delaunay_triangulation<DelaunayTriangulationTraits, TriangulationDataStructure>`

## Types
typedef Data | Data
| The type of the additional data stored in the vertex. More...

## Creation
template<typename T >
| Triangulation_vertex (Full_cell_handle c, const Point &p, const T &t)
| Constructs a vertex with incident full cell `c`. More...
template<typename T >
| Triangulation_vertex (const Point &p, const T &t)
| Same as above, but without incident full cell.
| Triangulation_vertex ()
| Same as above, but with default-constructed `Point` and `Data`.

## Data access
const Data & | data () const
| Returns a const reference to the stored data.
Data & | data ()
| Returns a non-const reference to the stored data.
std::istream & | operator>> (std::istream &is, Triangulation_vertex &v)
| Inputs the non-combinatorial information given by the vertex, i.e., the point and other possible information. More...
std::ostream & | operator<< (std::ostream &os, const Triangulation_vertex &v)
| Outputs the non-combinatorial information given by the vertex, i.e., the point and other possible information. More...

## Additional Inherited Members
Public Types inherited from TriangulationDSVertex
typedef unspecified_type | Triangulation_data_structure
| The `Triangulation_data_structure` in which the vertex is defined/used. More...
template<typename TDS2 >
using | Rebind_TDS = unspecified_type
| This nested template class has to define a type `Rebind_TDS<TDS2>::Other` which is the rebound vertex, that is, the one that will be actually used by `Triangulation_data_structure`. More...
Public Member Functions inherited from TriangulationDSVertex
| TriangulationDSVertex ()
| The default constructor (no incident full cell is set).
| TriangulationDSVertex (Full_cell_handle c)
| Sets the incident full cell to `c`. More...
void * | for_compact_container () const
void *& | for_compact_container ()

## Member Typedef Documentation

template<typename TriangulationTraits , typename Data , typename TriangulationDSVertex >

typedef Data CGAL::Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex >::Data

The type of the additional data stored in the vertex.

If you read a `Triangulation_vertex` from a stream (a file) or write a `Triangulation_vertex`to a stream, then streaming operators `<<` and `>>` must be provided for this type.

## Constructor & Destructor Documentation

template<typename TriangulationTraits , typename Data , typename TriangulationDSVertex >
template<typename T >

CGAL::Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex >::Triangulation_vertex | ( | Full_cell_handle | c,
|  | const Point & | p,
|  | const T & | t
| ) |  |

Constructs a vertex with incident full cell `c`.

The vertex is embedded at point `p` and the parameter `t` is passed to the `Data` constructor.

## Member Function Documentation

template<typename TriangulationTraits , typename Data , typename TriangulationDSVertex >

std::ostream& CGAL::Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex >::operator<< | ( | std::ostream & | os,
|  | const Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex > & | v
| ) |  |

Outputs the non-combinatorial information given by the vertex, i.e., the point and other possible information.

The data of type `Data` is also written.

template<typename TriangulationTraits , typename Data , typename TriangulationDSVertex >

std::istream& CGAL::Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex >::operator>> | ( | std::istream & | is,
|  | Triangulation_vertex< TriangulationTraits, Data, TriangulationDSVertex > & | v
| ) |  |

Inputs the non-combinatorial information given by the vertex, i.e., the point and other possible information.

The data of type `Data` is also read.