|
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 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_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_cellto 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.