cgal/Triangulation/doc_tex/Triangulation_ref/Tds_full_cell.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}