mirror of https://github.com/CGAL/cgal
90 lines
2.7 KiB
TeX
90 lines
2.7 KiB
TeX
|
|
\begin{ccRefConcept}[TriangulationDataStructure::]{Cell}
|
|
|
|
|
|
\ccDefinition
|
|
|
|
The concept \ccRefName\ stores
|
|
\ccc{Vertex_handle}s to its vertices and \ccc{Full_cell_handle}s
|
|
to its neighbors. The vertices are indexed $0, 1,\ldots,\cd$ in consistent
|
|
order. The neighbor indexed $i$ lies opposite to vertex \ccc{i}.
|
|
|
|
|
|
\ccTypes
|
|
\ccThree{typedef TriangulationDataStructure::Full_cell_handle}{TriangulationDataStructure}{}
|
|
\ccThreeToTwo
|
|
The class \ccRefName\ defines the following types.
|
|
|
|
\ccTypedef{typedef TriangulationDataStructure Triangulation_data_structure;}{}
|
|
\ccGlue
|
|
\ccTypedef{typedef TriangulationDataStructure::Vertex_handle Vertex_handle;}{}
|
|
\ccGlue
|
|
\ccTypedef{typedef TriangulationDataStructure::Full_cell_handle Full_cell_handle;}{}
|
|
|
|
\ccCreation
|
|
\ccCreationVariable{c} %% choose variable name
|
|
\ccThree{Full_cell_handle}{c.has_neighbor( Full_cell_handle n, int & i) const}{}
|
|
|
|
In order to obtain new cells or destruct unused cells, the user must call the
|
|
\ccc{new_full_cell()} and \ccc{delete_full_cell()} methods of the triangulation data
|
|
structure.
|
|
|
|
\ccOperations
|
|
|
|
\ccAccessFunctions
|
|
|
|
\ccMethod{Vertex_handle vertex(int i) const;}
|
|
{Returns the vertex \ccc{i} of \ccVar.
|
|
\ccPrecond{$i \in [0,\ad]$.}}
|
|
\ccGlue
|
|
\ccMethod{int index(Vertex_handle v) const;}
|
|
{Returns the index of vertex \ccc{v} in \ccVar.
|
|
\ccPrecond{\ccc{v} is a vertex of \ccVar}.}
|
|
\ccGlue
|
|
\ccMethod{bool has_vertex(Vertex_handle v) const;}
|
|
{Returns \ccc{true} if \ccc{v} is a vertex of \ccVar.}
|
|
\ccGlue
|
|
\ccMethod{bool has_vertex(Vertex_handle v, int & i) const;}
|
|
{Returns \ccc{true} if \ccc{v} is a vertex of \ccVar, and
|
|
computes its index \ccc{i} in \ccVar.}
|
|
|
|
\ccMethod{Full_cell_handle neighbor(const int i) const;}
|
|
{Returns the neighbor \ccc{i} of \ccVar.
|
|
\ccPrecond{$i \in [0,\ad]$.}}
|
|
\ccGlue
|
|
\ccMethod{int index(Full_cell_handle n) const;}
|
|
{Returns the index corresponding to adjacent cell \ccc{n}.
|
|
\ccPrecond{\ccc{n} is a neighbor of \ccVar.}}
|
|
\ccGlue
|
|
\ccMethod{bool has_neighbor(Full_cell_handle n) const;}
|
|
{Returns \ccc{true} if \ccc{n} is a neighbor of \ccVar.}
|
|
\ccGlue
|
|
\ccMethod{bool has_neighbor(Full_cell_handle n, int & i) const;}
|
|
{Returns \ccc{true} if \ccc{n} is a neighbor of \ccVar, and
|
|
computes its index \ccc{i} in \ccVar.}
|
|
|
|
\ccHeading{Setting}
|
|
|
|
\ccMethod{void set_vertex(int i, Vertex_handle v);}
|
|
{Sets vertex \ccc{i} to \ccc{v}.
|
|
\ccPrecond{$i \in [0,\ad]$.}}
|
|
|
|
\ccMethod{void set_neighbor(int i, Full_cell_handle n);}
|
|
{Sets neighbor \ccc{i} to \ccc{n}.
|
|
\ccPrecond{$i \in [0,\ad]$.}}
|
|
|
|
\begin{ccDebug}
|
|
\ccHeading{Checking}
|
|
\ccThree{Full_cell_handle}{c.is_valid(}{}
|
|
|
|
\ccMethod{bool is_valid(bool verbose = false) const;}
|
|
{User defined local validity checking function.}
|
|
\end{ccDebug}
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccc{TriangulationDataStructure::Vertex}\\
|
|
\ccc{TriangulationDataStructure}.
|
|
|
|
\end{ccRefConcept}
|