\( \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.4 - High-dimension Triangulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell > Class Template Reference

#include <CGAL/Triangulation_full_cell.h>

Inherits from

TriangulationDSFullCell.

Definition

The class Triangulation_full_cell is a model of the concept TriangulationFullCell.

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

A Triangulation_full_cell stores handles to the vertices of the cell as well as handles to its adjacent cells.

Parameters

TriangulationTraits must be a model of the concept TriangulationTraits. It provides geometric types and predicates for use in the Triangulation<TriangulationTraits, TriangulationDataStructure> class.

Data is an optional type of data to be stored in the full cell class. The class template Triangulation_full_cell accepts that no second parameter be specified. In this case, Data defaults to CGAL::No_full_cell_data. CGAL::No_full_cell_data can explicitely be specified to access the third parameter.

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

Is Model Of:
TriangulationFullCell Additionally, the class Triangulation_full_cell provides the following types, constructors and methods:
See Also
Triangulation_vertex<TriangulationTraits, Data, TriangulationDSVertex>
Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>
Triangulation<TriangulationTraits,TriangulationDataStructure>
Delaunay_triangulation<DelaunayTriangulationTraits, TriangulationDataStructure>
Examples:
delaunay.cpp.

Types

typedef Data Data
 The type of the additional data stored in the cell. More...
 

Creation

template<typename T >
 Triangulation_full_cell (int dmax)
 Sets the maximum possible dimension of the cell to dmax. More...
 

Data access

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

Additional Inherited Members

- Public Types inherited from TriangulationDSFullCell
typedef Hidden_type Triangulation_data_structure
 
 
typedef Hidden_type Vertex_handle
 A handle to a vertex. More...
 
typedef Hidden_type Vertex_handle_iterator
 An iterator over the handles to the vertices of the full cell. More...
 
typedef Hidden_type Full_cell_handle
 A handle to a full cell. More...
 
typedef
TriangulationDataStructure::Full_cell_data 
TDS_data
 A data member of this type has to be stored and accessible through access function below. 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 TriangulationDSFullCell
Vertex_handle mirror_vertex (const int i, const int cur_dim) const
 Returns a handle to the mirror vertex of the i-th vertex of full cell c. More...
 
 TriangulationDSFullCell (int dmax)
 Sets the maximum possible dimension of the full cell. More...
 
 TriangulationDSFullCell (const TriangulationDSFullCell &fc)
 Copy constructor. More...
 
int maximal_dimension () const
 Returns one less than the maximum number of vertices that the full cell can store. More...
 
Vertex_handle_iterator vertices_begin () const
 Returns an iterator to the first Vertex_handle stored in the full cell. More...
 
Vertex_handle_iterator vertices_end () const
 Returns an iterator pointing beyond the last Vertex_handle stored in the full cell. More...
 
Vertex_handle vertex (const int i) const
 Returns the i-th vertex of the full cell. More...
 
Full_cell_handle neighbor (const int i) const
 Returns the full cell opposite to the i-th vertex of the full cell c. More...
 
int mirror_index (const int i) const
 Returns the index j of the full cell cas a neighbor in the full cell c.neighbor(i);. More...
 
int index (Full_cell_handle n) const
 Returns the index i such that c.neighbor(i)==n. More...
 
int index (Vertex_handle v) const
 Returns the index i of the vertex v such that c.vertex(i)==v. More...
 
const TDS_datatds_data () const
 Returns the data member of type TDS_data. More...
 
TDS_datatds_data ()
 Same as above, but returns a reference to a non-const object. More...
 
void set_vertex (const int i, Vertex_handle v)
 Sets the \( i\)-th vertex of the full cell. More...
 
void set_neighbor (const int i, Full_cell_handle n)
 Sets the i-th neighbor of c to n. More...
 
void set_mirror_index (const int i, const int index)
 Sets the mirror index of the \( i\)-th vertex of c to index. More...
 
void swap_vertices (int d1, int d2)
 Switches the orientation of the full cell c by swapping its vertices with index d1 and d2. More...
 
bool has_vertex (Vertex_handle v) const
 Returns true if the vertex v is a vertex of the full cell c. More...
 
bool has_vertex (Vertex_handle v, int &ret) const
 Returns true and sets the value of ret to the index of v in c if the vertex v is a vertex of the full cell c. More...
 
bool has_neighbor (Full_cell_handle n) const
 Returns true if the full cell n is a neighbor of the full cell c. More...
 
bool has_neighbor (Full_cell_handle n, int &ret) const
 Returns true and sets the value of ret to the index of n as a neighbor of c if the full cell n is a neighbor of the full cell c. More...
 
bool is_valid (bool verbose=false) const
 Performs some validity checks on the full cell c. More...
 
void * for_compact_container () const
 
void *& for_compact_container ()
 
template<class TriangulationDataStructure >
std::ostream & operator<< (std::ostream &os, const Triangulation_ds_full_cell< TriangulationDataStructure > &c)
 
 
template<class TriangulationDataStructure >
std::istream & operator>> (std::istream &is, Triangulation_ds_full_cell< TriangulationDataStructure > &c)
 
 

Member Typedef Documentation

template<typename TriangulationTraits , typename Data , typename TriangulationDSFullCell >
typedef Data CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::Data

The type of the additional data stored in the cell.

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

Constructor & Destructor Documentation

template<typename TriangulationTraits , typename Data , typename TriangulationDSFullCell >
template<typename T >
CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::Triangulation_full_cell ( int  dmax)

Sets the maximum possible dimension of the cell to dmax.

Member Function Documentation

template<typename TriangulationTraits , typename Data , typename TriangulationDSFullCell >
const Data& CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::data ( ) const

Returns a const reference to the stored data.

template<typename TriangulationTraits , typename Data , typename TriangulationDSFullCell >
Data& CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::data ( )

Returns a non-const reference to the stored data.

template<typename TriangulationTraits , typename Data , typename TriangulationDSFullCell >
std::ostream& CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::operator<< ( std::ostream &  os,
const Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell > &  v 
)

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

The data of type Data is also written.

template<typename TriangulationTraits , typename Data , typename TriangulationDSFullCell >
std::istream& CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::operator>> ( std::istream &  is,
Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell > &  v 
)

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

The data of type Data is also read.