% +------------------------------------------------------------------------+
% | Reference manual page: TriangulationVertexBase_3.tex
% +------------------------------------------------------------------------+
% | 29.3.2000   Monique Teillaud
% | Package: Triangulation3
% | 
\RCSdef{\RCSTriangulationvbRev}{$Id$}
\RCSdefDate{\RCSTriangulationvbDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+


\begin{ccRefConcept}{TriangulationVertexBase_3}

%% \ccHtmlCrossLink{}     %% add further rules for cross referencing links
%% \ccHtmlIndexC[concept]{} %% add further index entries

\ccDefinition

The vertex base used by the geometric triangulation must store a point.
So we list here the additional requirements compared to a vertex base usable
for the triangulation data structure.

\ccRefines{\ccc{TriangulationDSVertexBase_3}}

\ccTypes
\ccNestedType{Point}
{Must be the same as the point type \ccc{TriangulationTraits_3::Point_3}
defined by the geometric traits class of the triangulation.} 

\ccCreation
\ccCreationVariable{v}  %% choose variable name

\ccThree{Triangulation}{Facetxxxxxxxxxxxxxxxxxxxxxxxxx}{}

\ccConstructor{TriangulationVertexBase_3(const Point & p);}
{Constructs a vertex whose geometric embedding is point \ccc{p}.} 
\ccGlue
\ccConstructor{TriangulationVertexBase_3(const Point & p, Cell_handle c);}
{Constructs a vertex embedding the point \ccc{p} and pointing to cell \ccc{c}.}

\ccAccessFunctions
\ccThree{Triangulation}{Facetxxxxxxxxxxxxxxxxxxxxx}{}

\ccMethod{Point point() const;}
{Returns the point.} 

\ccHeading{Setting}

\ccMethod{void set_point(Point p);}
{Sets the point.} 

\ccHeading{I/O}

\ccFunction{istream& operator>>
(istream& is, TriangulationVertexBase_3 & v);}
{Inputs the non-combinatorial information given by the vertex: 
the point and other possible information.}
%\ccPrecond{The point and the other information have a corresponding
%operator \ccc{>>}. \textit{This precondition is optional for the
%triangulation data structure alone.}}}  

\ccFunction{ostream& operator<< (ostream& os, 
			const TriangulationVertexBase_3 & v);}
{Outputs the non-combinatorial information given by the vertex: the
point and other possible information.}
%\ccPrecond{The point and the other information have a corresponding
%operator \ccc{<<}. \textit{This precondition is optional for the
%triangulation data structure alone.}}} 

\ccHasModels

\ccc{CGAL::Triangulation_vertex_base_3}\\
\ccc{CGAL::Triangulation_vertex_base_with_info_3}\\
\ccc{CGAL::Triangulation_hierarchy_vertex_base_3}

\ccSeeAlso

\ccc{TriangulationCellBase_3}\\
\ccc{TriangulationHierarchyVertexBase_3}

%% \ccExample

%% \ccIncludeExampleCode{examples/Triangulation3/Triangulation_vb_prog.C}

\end{ccRefConcept}
