CGAL 4.4 - High-dimension Triangulation
|
#include <CGAL/Triangulation_full_cell.h>
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.
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<>
.
Triangulation_full_cell
provides the following types, constructors and methods:Triangulation_vertex<TriangulationTraits, Data, TriangulationDSVertex>
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 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 Data & | data () const |
Returns a const reference to the stored data. More... | |
Data & | data () |
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 c as 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_data & | tds_data () const |
Returns the data member of type TDS_data . More... | |
TDS_data & | tds_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) |
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_cell
to a stream, then streaming operators <<
and >>
must be provided for this type.
CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::Triangulation_full_cell | ( | int | dmax | ) |
Sets the maximum possible dimension of the cell to dmax
.
const Data& CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::data | ( | ) | const |
Returns a const reference to the stored data.
Data& CGAL::Triangulation_full_cell< TriangulationTraits, Data, TriangulationDSFullCell >::data | ( | ) |
Returns a non-const reference to the stored data.
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.
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.