|
CGAL 4.4 - High-dimension Triangulation
|
#include <CGAL/Triangulation.h>
Triangulation is used to store and query the full cells and vertices of a triangulationin dimension \( d\)(see the User Manual for a definition of "triangulation").A special vertex, named infinite vertex, is used to triangulate the outside of the convex hull of the points in so called infinite cells.
TriangulationTraits_ is the geometric traits class that provides the geometric types and predicates needed by triangulations. TriangulationTraits_ must be a model of the concept TriangulationTraits.
TriangulationDataStructure_ is the class used to store the underlying triangulation data structure. TriangulationDataStructure_ must be a model of the concept TriangulationDataStructure. The class template Triangulation can be defined by specifying only the first parameter, or by using the tag CGAL::Default as the second parameter. In both cases, TriangulationDataStructure_ defaults to Triangulation_data_structure<TriangulationTraits_::Dimension, Triangulation_vertex<TriangulationTraits_>, Triangulation_full_cell<TriangulationTraits_> >.
The information in the iostream is: the current dimension, the number of finite vertices, the non-combinatorial information about vertices (point, etc.), the number of full cells, the indices of the vertices of each full cell, plus the non-combinatorial information about each full cell, then the indices of the neighbors of each full cell, where the index corresponds to the preceding list of full cells.
Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell> Delaunay_triangulation<DelaunayTriangulationTraits, TriangulationDataStructure> Types | |
| typedef TriangulationTraits | Geom_traits |
Type for the model of the TriangulationTraits concept. More... | |
| typedef TriangulationTraits::Point_d | Point |
| A point in Euclidean space. More... | |
| typedef TriangulationTraits::Dimension | Maximal_dimension |
This indicates whether the maximal dimension is static (i.e. if the type of Maximal_dimension is CGAL::Dimension_tag<int dim>) or dynamic (i.e. if the type of Maximal_dimension is CGAL::Dynamic_dimension_tag). More... | |
| typedef TriangulationDataStructure | Triangulation_ds |
| The second template parameter. More... | |
| typedef TriangulationDataStructure::Vertex | Vertex |
A model of the concept TriangulationVertex. More... | |
| typedef TriangulationDataStructure::Full_cell | Full_cell |
A model of the concept TriangulationFullCell. More... | |
| typedef TriangulationDataStructure::Facet | Facet |
| The facet class. More... | |
| typedef TriangulationDataStructure::Face | Face |
A model of the concept TriangulationDSFace. More... | |
Handles, Iterators and Circulators | |
The vertices and full cells of triangulations are accessed through handles, iterators and circulators. A handle is a model of the | |
| enum | Locate_type { ON_VERTEX, IN_FACE, IN_FACET, IN_FULL_CELL, OUTSIDE_CONVEX_HULL, OUTSIDE_AFFINE_HULL } |
The enum Locate_type is defined by the class Triangulation to specify in what kind of face a point has been located in a triangulation. More... | |
| typedef TriangulationDataStructure::Vertex_handle | Vertex_handle |
| handle to a a vertex More... | |
| typedef TriangulationDataStructure::Vertex_iterator | Vertex_iterator |
| iterator over all vertices (including the infinite one) More... | |
| typedef TriangulationDataStructure::Full_cell_iterator | Full_cell_iterator |
| iterator over all full cells (including the infinite ones) More... | |
| typedef TriangulationDataStructure::difference_type | difference_type |
| Difference type (a signed integral type). More... | |
| cgalModifBegin typedef unspecified_type | Finite_vertex_iterator |
| iterator over finite vertices More... | |
| cgalModifEnd typedef TriangulationDataStructure::Full_cell_handle | Full_cell_handle |
| handle to a full cell More... | |
| cgalModifBegin typedef unspecified_type | Finite_full_cell_iterator |
| iterator over finite full cells More... | |
| cgalModifEnd typedef TriangulationDataStructure::Facet_iterator | Facet_iterator |
| iterator over all facets (including the infinite ones) More... | |
| cgalModifBegin typedef unspecified_type | Finite_facet_iterator |
| iterator over finite facets More... | |
| cgalModifEnd typedef TriangulationDataStructure::size_type | size_type |
| Size type (an unsigned integral type). More... | |
Creation | |
| Triangulation (const int dim, const Geom_traits >=Geom_traits()) | |
| Instantiates a triangulation with one vertex (the vertex at infinity). More... | |
| Triangulation (const Triangulation &t2) | |
| The copy constructor. More... | |
Access functions | |
| const Triangulation_ds & | tds () const |
| Triangulation_ds & | tds () |
| Returns a non-const reference to the underlying triangulation data structure. More... | |
| const Geom_traits & | geom_traits () const |
| Returns a const reference to the geometric traits instance. More... | |
| int | maximal_dimension () const |
| Returns the maximal dimension of the full dimensional cells that can be stored in the triangulation. More... | |
| int | current_dimension () const |
| Returns the dimension of the triangulation (as an embedded manifold). More... | |
| bool | empty () const |
Returns true if the triangulation has no finite vertex. More... | |
| size_type | number_of_vertices () const |
| Returns the number of finite vertices in the triangulation. More... | |
| size_type | number_of_full_cells () const |
| Returns the number of full cells of maximal dimension in the triangulation (full cells incident to the vertex at infinity are counted). More... | |
| Vertex_handle | infinite_vertex () const |
| Returns a handle to the vertex at infinity. More... | |
| Full_cell_handle | infinite_full_cell () const |
| Returns a handle to some full cell incident to the vertex at infinity. More... | |
Non-constant-time access functions | |
| size_type | number_of_finite_full_cells () const |
| Returns the number of full cells of maximal dimension that are not incident to the vertex at infinity. More... | |
Tests for finite and infinite elements | |
| bool | is_infinite (const Vertex_handle v) const |
Returns true if and only if the vertex v is the infinite vertex. More... | |
| bool | is_infinite (const Full_cell_handle c) const |
Returns true if and only if c is incident to the infinite vertex. More... | |
| bool | is_infinite (const Facet &ft) const |
Returns true if and only if facet ft is incident to the infinite vertex. More... | |
| bool | is_infinite (const Face &f) const |
Returns true if and only if the face f is incident to the infinite vertex. More... | |
Faces and Facets | |
| Full_cell_handle | full_cell (const Facet &f) const |
Returns a full cell containing the facet f More... | |
| int | index_of_covertex (const Facet &f) const |
Returns the index of the vertex of the full cell c=tr.full_cell(f) which does not belong to c. More... | |
Point location | |
The class | |
| Full_cell_handle | locate (const Point &query, Full_cell_handle hint=Full_cell_handle()) const |
The optional argument hint is used as a starting place for the search. More... | |
| Full_cell_handle | locate (const Point &query, Vertex_handle hint) const |
Same as above but hint is a vertex and not a full cell. More... | |
| Full_cell_handle | locate (const Point &query, Locate_type &loc_type, Face &f, Facet &ft, Full_cell_handle hint=Full_cell_handle()) const |
The optional argument hint is used as a starting place for the search. More... | |
| Full_cell_handle | locate (const Point &query, Locate_type &loc_type, Face &f, Vertex_handle hint) const |
Same as above but hint, the starting place for the search, is a vertex. More... | |
Removal | |
| Vertex_handle | collapse_face (const Point &p, const Face &f) |
Point insertion | |
The class | |
| template<typename ForwardIterator > | |
| size_type | insert (ForwardIterator s, ForwardIterator e) |
Inserts the points found in range [s,e) in the triangulation. More... | |
| Vertex_handle | insert (const Point p, Full_cell_handle hint=Full_cell_handle()) |
Inserts point p in the triangulation. More... | |
| Vertex_handle | insert (const Point p, Vertex_handle hint) |
Same as above but uses a vertex hint as the starting place for the search. More... | |
| Vertex_handle | insert (const Point p, Locate_type loc_type, Face &f, Facet &ft, Full_cell_handle c) |
| Advanced Inserts point p into the triangulation and returns a handle to the Vertex at that position. More... | |
| template<typename ForwardIterator , typename OutputIterator > | |
| Vertex_handle | insert_in_hole (const Point &p, ForwardIterator s, ForwardIterator e, const Facet &ft, OutputIterator out) |
| template<typename ForwardIterator > | |
| Vertex_handle | insert_in_hole (const Point &p, ForwardIterator s, ForwardIterator e, const Facet &ft) |
| Vertex_handle | insert_in_face (const Point &p, const Face &f) |
| Vertex_handle | insert_in_facet (const Point &p, const Facet &ft) |
| Vertex_handle | insert_in_full_cell (const Point &p, Full_cell_handle c) |
| Vertex_handle | insert_outside_convex_hull (const Point &, Full_cell_handle c) |
| Vertex_handle | insert_outside_affine_hull (const Point &) |
Validity check | |
| bool | is_valid (bool verbose=false) const |
Partially checks whether tr is a triangulation. More... | |
| bool | are_incident_full_cells_valid (Vertex_const_handle v, bool verbose=false) const |
Returns true if and only if all finite full cells incident to v have positive orientation. More... | |
| std::istream & | operator>> (std::istream &is, Triangulation &t) |
Reads the underlying combinatorial triangulation from is by calling the corresponding input operator of the triangulation data structure class (note that the infinite vertex is numbered 0), and the non-combinatorial information by calling the corresponding input operators of the vertex and the full cell classes (such as point coordinates), which are provided by overloading the stream operators of the vertex and full cell types. More... | |
| std::ostream & | operator<< (std::ostream &os, const Triangulation &t) |
Writes the triangulation t into os. More... | |
| typedef TriangulationDataStructure::difference_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::difference_type |
Difference type (a signed integral type).
| typedef TriangulationDataStructure::Face CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Face |
A model of the concept TriangulationDSFace.
| typedef TriangulationDataStructure::Facet CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Facet |
The facet class.
| typedef TriangulationDataStructure::Full_cell CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Full_cell |
A model of the concept TriangulationFullCell.
| typedef TriangulationDataStructure::Full_cell_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Full_cell_iterator |
iterator over all full cells (including the infinite ones)
| typedef TriangulationTraits CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Geom_traits |
Type for the model of the TriangulationTraits concept.
| typedef TriangulationTraits::Dimension CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Maximal_dimension |
This indicates whether the maximal dimension is static (i.e. if the type of Maximal_dimension is CGAL::Dimension_tag<int dim>) or dynamic (i.e. if the type of Maximal_dimension is CGAL::Dynamic_dimension_tag).
In the latter case, the dim parameter passed to the class's constructor is used.
| typedef TriangulationTraits::Point_d CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Point |
A point in Euclidean space.
| typedef TriangulationDataStructure CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Triangulation_ds |
The second template parameter.
| typedef TriangulationDataStructure::Vertex CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Vertex |
A model of the concept TriangulationVertex.
| typedef TriangulationDataStructure::Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Vertex_handle |
handle to a a vertex
| typedef TriangulationDataStructure::Vertex_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Vertex_iterator |
iterator over all vertices (including the infinite one)
| enum CGAL::Triangulation::Locate_type |
The enum Locate_type is defined by the class Triangulation to specify in what kind of face a point has been located in a triangulation.
| Enumerator | |
|---|---|
| ON_VERTEX | |
| IN_FACE | |
| IN_FACET | |
| IN_FULL_CELL | |
| OUTSIDE_CONVEX_HULL | |
| OUTSIDE_AFFINE_HULL | |
| CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Triangulation | ( | const int | dim, |
| const Geom_traits & | gt = Geom_traits() |
||
| ) |
Instantiates a triangulation with one vertex (the vertex at infinity).
See the description of the nested type Maximal_dimension above for an explanation of the use of the parameter dim. The triangulation stores a copy of the geometric traits gt.
| CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Triangulation | ( | const Triangulation< TriangulationTraits_, TriangulationDataStructure_ > & | t2 | ) |
The copy constructor.
| bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::are_incident_full_cells_valid | ( | Vertex_const_handle | v, |
| bool | verbose = false |
||
| ) | const |
Returns true if and only if all finite full cells incident to v have positive orientation.
The verbose parameter is not used.
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::collapse_face | ( | const Point & | p, |
| const Face & | f | ||
| ) |
Face f to a single vertex at position p.
Returns a handle to that vertex.
f must be a triangulation of a sphere of dimension tr.current_dimension()). | int CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::current_dimension | ( | ) | const |
Returns the dimension of the triangulation (as an embedded manifold).
| bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::empty | ( | ) | const |
Returns true if the triangulation has no finite vertex.
Returns false otherwise.
| Facet_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::facets_begin | ( | ) |
Iterator to the first facet of the triangulation.
| Facet_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::facets_end | ( | ) |
Iterator to the beyond facet of the triangulation.
| Finite_facet_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::finite_facets_begin | ( | ) |
Iterator to the first finite facet of the triangulation.
| Finite_facet_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::finite_facets_end | ( | ) |
Iterator to the beyond finite facet of the triangulation.
| Finite_full_cell_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::finite_full_cells_begin | ( | ) |
The first finite full cell of tr.
| Finite_full_cell_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::finite_full_cells_end | ( | ) |
The beyond finite full cell of tr.
| Finite_vertex_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::finite_vertices_begin | ( | ) |
The first finite vertex of tr.
| Finite_vertex_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::finite_vertices_end | ( | ) |
The beyond finite vertex of tr.
| Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::full_cell | ( | const Facet & | f | ) | const |
Returns a full cell containing the facet f
| Full_cell_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::full_cells_begin | ( | ) |
The first full cell of tr.
| Full_cell_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::full_cells_end | ( | ) |
The beyond full cell of tr.
| const Geom_traits& CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::geom_traits | ( | ) | const |
Returns a const reference to the geometric traits instance.
| int CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::index_of_covertex | ( | const Facet & | f | ) | const |
Returns the index of the vertex of the full cell c=tr.full_cell(f) which does not belong to c.
| Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::infinite_full_cell | ( | ) | const |
Returns a handle to some full cell incident to the vertex at infinity.
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::infinite_vertex | ( | ) | const |
Returns a handle to the vertex at infinity.
| size_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert | ( | ForwardIterator | s, |
| ForwardIterator | e | ||
| ) |
Inserts the points found in range [s,e) in the triangulation.
Returns the number of vertices actually inserted. (If several vertices share the same position in space, only the vertex that was actually inserted is counted.)
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert | ( | const Point | p, |
| Full_cell_handle | hint = Full_cell_handle() |
||
| ) |
Inserts point p in the triangulation.
Returns a Vertex_handle to the vertex of the triangulation with position p. Prior to the actual insertion, p is located in the triangulation; hint is used as a starting place for locating p.
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert | ( | const Point | p, |
| Vertex_handle | hint | ||
| ) |
Same as above but uses a vertex hint as the starting place for the search.
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert | ( | const Point | p, |
| Locate_type | loc_type, | ||
| Face & | f, | ||
| Facet & | ft, | ||
| Full_cell_handle | c | ||
| ) |
p into the triangulation and returns a handle to the Vertex at that position.
The action taken depends on the value of loc_type:
ON_VERTEXVertex described by f is set to p. IN_FACEp is inserted in the Face f. IN_FACETp is inserted in the Facet ft. p is inserted in the triangulation according to the value of loc_type, using the full cell c. This method is used internally by the other insert() methods.
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_in_face | ( | const Point & | p, |
| const Face & | f | ||
| ) |
p in the triangulation.
p must lie in the relative interior of f. | Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_in_facet | ( | const Point & | p, |
| const Facet & | ft | ||
| ) |
p in the triangulation.
p must lie in the relative interior of ft. | Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_in_full_cell | ( | const Point & | p, |
| Full_cell_handle | c | ||
| ) |
p in the triangulation.
p must lie in the interior of c. | Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_in_hole | ( | const Point & | p, |
| ForwardIterator | s, | ||
| ForwardIterator | e, | ||
| const Facet & | ft, | ||
| OutputIterator | out | ||
| ) |
[s, e) are removed, thus forming a hole.
A Vertex is inserted at position p and connected to the boundary of the hole in order to ``fill it''. A Vertex_handle to the new Vertex is returned. The facet ft must lie on the boundary of \( C\) and its defining full cell, tr.full_cell(ft) must lie inside \( C\). Handles to the newly created full cells are output in the out output iterator.
p in its interior and not contain any vertex all of whose incident full cells are in \(C\) . (This implies that t.current_dimension() \( \geq 2\) if \(|C|>1\) .) The boundary of \(C\) must be a triangulation of the sphere \( \mathcal S ^d-1\). | Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_in_hole | ( | const Point & | p, |
| ForwardIterator | s, | ||
| ForwardIterator | e, | ||
| const Facet & | ft | ||
| ) |
| Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_outside_affine_hull | ( | const Point & | ) |
p in the triangulation.
p must lie outside the affine hull of tr. | Vertex_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::insert_outside_convex_hull | ( | const Point & | , |
| Full_cell_handle | c | ||
| ) |
p in the triangulation.
p must lie outside the convex hull of tr. The half-space defined by the infinite full cell c must contain p. | bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::is_infinite | ( | const Vertex_handle | v | ) | const |
Returns true if and only if the vertex v is the infinite vertex.
| bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::is_infinite | ( | const Full_cell_handle | c | ) | const |
Returns true if and only if c is incident to the infinite vertex.
| bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::is_infinite | ( | const Facet & | ft | ) | const |
Returns true if and only if facet ft is incident to the infinite vertex.
| bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::is_infinite | ( | const Face & | f | ) | const |
Returns true if and only if the face f is incident to the infinite vertex.
| bool CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::is_valid | ( | bool | verbose = false | ) | const |
Partially checks whether tr is a triangulation.
This function returns true if the combinatorial triangulation data structure's is_valid() test returns true and if some geometric tests are passed with success: It is checked that the orientation of each finite full cell is positive and that the orientation of each infinite full cell is consistent with their finite adjacent full cells. The verbose parameter is not used.
| Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::locate | ( | const Point & | query, |
| Full_cell_handle | hint = Full_cell_handle() |
||
| ) | const |
The optional argument hint is used as a starting place for the search.
If the query point lies outside the affine hull of the points (which can happen when tr.current_dimension() < tr.maximal_dimension()) or if there is no finite vertex yet in the triangulation, then locate returns a default constructed Full_cell_handle().
If the point query lies in the interior of a bounded (finite) full cell of tr, the latter full cell is returned.
If query lies on the boundary of some finite full cells, one of the cells is returned.
Let \( d=\)tr.current_dimension(). If the point query lies outside the convex hull of the points, an infinite full cell with vertices \( \{ p_1, p_2, \ldots, p_d, \infty\}\) is returned such that the full cell \( (p_1, p_2, \ldots, p_d, query)\) is positively oriented (the rest of the triangulation lies on the other side of facet \( (p_1, p_2, \ldots, p_d)\)).
| Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::locate | ( | const Point & | query, |
| Vertex_handle | hint | ||
| ) | const |
Same as above but hint is a vertex and not a full cell.
| Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::locate | ( | const Point & | query, |
| Locate_type & | loc_type, | ||
| Face & | f, | ||
| Facet & | ft, | ||
| Full_cell_handle | hint = Full_cell_handle() |
||
| ) | const |
The optional argument hint is used as a starting place for the search.
If the query point lies outside the affine hull of the points (which can happen when tr.current_dimension() < tr.maximal_dimension()) or if there is no finite vertex yet in the triangulation, then loc_type is set to OUTSIDE_AFFINE_HULL, and locate returns Full_cell_handle(). If the query point lies inside the affine hull of the points, the function finds the \( k\)-face that contains query in its relative interior (if the \( k\)-face is finite, it is unique) and the result is returned as follows:
loc_type is set to ON_VERTEX, f is set to the vertex v the query lies on and a full cell having v as a vertex is returned. c.current_dimension()-1loc_type is set to IN_FACE, f is set to the unique finite face containing the query point. A full cell having f on its boundary is returned. c.current_dimension()-1loc_type is set to IN_FACET, ft is set to one of the two representation of the finite facet containing the query point. The full cell of ft is returned. c.current_dimension()query point lies outside the convex hull of the points in the triangulation, then loc_type is set to OUTSIDE_CONVEX_HULL and a full cell is returned as in the locate method above. If the query point lies inside the convex hull of the points in the triangulation, then loc_type is set to IN_FULL_CELL and the unique full cell containing the query point is returned. | Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::locate | ( | const Point & | query, |
| Locate_type & | loc_type, | ||
| Face & | f, | ||
| Vertex_handle | hint | ||
| ) | const |
Same as above but hint, the starting place for the search, is a vertex.
The parameter hint is ignored if it is a default constructed Vertex_handle().
| int CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::maximal_dimension | ( | ) | const |
Returns the maximal dimension of the full dimensional cells that can be stored in the triangulation.
| size_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::number_of_finite_full_cells | ( | ) | const |
Returns the number of full cells of maximal dimension that are not incident to the vertex at infinity.
| size_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::number_of_full_cells | ( | ) | const |
Returns the number of full cells of maximal dimension in the triangulation (full cells incident to the vertex at infinity are counted).
| size_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::number_of_vertices | ( | ) | const |
Returns the number of finite vertices in the triangulation.
| std::ostream& CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::operator<< | ( | std::ostream & | os, |
| const Triangulation< TriangulationTraits_, TriangulationDataStructure_ > & | t | ||
| ) |
Writes the triangulation t into os.
| std::istream& CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::operator>> | ( | std::istream & | is, |
| Triangulation< TriangulationTraits_, TriangulationDataStructure_ > & | t | ||
| ) |
Reads the underlying combinatorial triangulation from is by calling the corresponding input operator of the triangulation data structure class (note that the infinite vertex is numbered 0), and the non-combinatorial information by calling the corresponding input operators of the vertex and the full cell classes (such as point coordinates), which are provided by overloading the stream operators of the vertex and full cell types.
Assigns the resulting triangulation to t.
| const Triangulation_ds& CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::tds | ( | ) | const |
| Triangulation_ds& CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::tds | ( | ) |
Returns a non-const reference to the underlying triangulation data structure.
| Vertex_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::vertices_begin | ( | ) |
The first vertex of tr.
| Vertex_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::vertices_end | ( | ) |
The beyond vertex of tr.
| cgalModifEnd typedef TriangulationDataStructure::Facet_iterator CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Facet_iterator |
iterator over all facets (including the infinite ones)
| cgalModifBegin typedef unspecified_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Finite_facet_iterator |
iterator over finite facets
| cgalModifBegin typedef unspecified_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Finite_full_cell_iterator |
iterator over finite full cells
| cgalModifBegin typedef unspecified_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Finite_vertex_iterator |
iterator over finite vertices
| cgalModifEnd typedef TriangulationDataStructure::Full_cell_handle CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::Full_cell_handle |
handle to a full cell
| cgalModifEnd typedef TriangulationDataStructure::size_type CGAL::Triangulation< TriangulationTraits_, TriangulationDataStructure_ >::size_type |
Size type (an unsigned integral type).