\begin{ccRefConcept}{TriangulationFullCell}

\ccDefinition

The concept \ccRefName\ describes the requirements on the type used by the
class \ccc{Triangulation<TriangulationTraits, TriangulationDataStructure>}, and its derived classes, to
represent a full cell.

\ccRefines

\ccc{TriangulationDSFullCell}

We only list below the additional specific requirements of \ccRefName.

Compared to \ccc{TriangulationDSFullCell}, the main difference is the addition of
methods to access and iterate over the position of the full cell's vertices as
well as a method for constructing the center of the full cell's circumsphere.

\ccHasModels

\ccc{CGAL::Triangulation_full_cell<TriangulationTraits, TriangulationDSFullCell>}

\ccTypes

\ccNestedType{Point}%
{The type of the point stored in the full cell's vertices. It must be the same
as the point type \ccc{TriangulationTraits::Point} (or its refined concepts)
defined by the geometric traits of the \ccc{Triangulation<TriangulationTraits, TriangulationDataStructure>}
class.}

\ccNestedType{Point_const_iterator}{An iterator over the points of the
full cell.}

\ccCreationVariable{c}

\ccOperations

\ccMethod{Point_const_iterator points_begin() const;}
{Returns an iterator pointing to the first point of the full cell.}
\ccGlue
\ccMethod{Point_const_iterator points_end() const;}
{Returns an iterator pointing beyond the last point of the full cell.}

\ccMethod{Point circumcenter() const;}{Returns the center of the sphere
circumscribing the full cell.}

\ccSeeAlso

\ccc{Triangulation_full_cell<TriangulationTraits, TriangulationDSFullCell>}\\
\ccc{TriangulationVertex}\\
\ccc{Triangulation<TriangulationTraits, TriangulationDataStructure>}

\end{ccRefConcept}
