% +------------------------------------------------------------------------+
% | Reference manual page: SurfaceMeshVertexBase_3.tex
% +------------------------------------------------------------------------+
% | 09.12.2005   Author
% | Package: Package
% | 
\RCSdef{\RCSSurfaceMeshVertexBaseRev}{$Id$}
\RCSdefDate{\RCSSurfaceMeshVertexBaseDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+


\begin{ccRefConcept}{SurfaceMeshVertexBase_3}

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

\ccDefinition
  
The concept \ccRefName\ describes the vertex base type
of the three dimensional triangulation used
to embed thee surface mesh.

More precisely,
the first template parameter \ccc{C2T3} of the surface mesher
\ccc{make_surface_mesh}
is a model of the concept 
\ccc{SurfaceMeshComplex_2InTriangulation_3} 
which describes a data structure to store
a pure two dimensional complex 
embedded in a three dimensional triangulation.
In particular, the type \ccc{C2T3} is required to provide
a three dimensional triangulation type
\ccc{C2T3::Triangulation_3}
The concept \ccRefName\ describes the vertex base type
required in this triangulation type.





\ccGeneralizes

\ccc{TriangulationVertexBase_3}

The concept \ccRefName\ 
add functions to store and retrieve the status of the vertex.
This feature is required to allow a caching mecanism
for the vertex status.


%\ccTypes

%\ccNestedType{TYPE}{some nested types}

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


\ccOperations

\ccMethod{boost::logic:tribool  is_regular();}
{Returns \ccc{true} if the vertex  has been marked as \ccc{REGULAR}
or \ccc{BOUNDARY}, \ccc{false} if the vertex has been marked \ccc{SINGULAR} 
and \ccc{boost::logic:indeterninate}  otherwise.} 
\ccGlue
\ccMethod{void set_regular(boost::logic::tribool b);}
{ Sets the  mark according to b.}


%\ccMethod{bool is_visited();}{Returns true if the visited mark
%is est.}
%\ccGlue
%\ccMethod{void  set_visited(bool b);}{Sets the visited mark as b.}



%\ccMethod{bool is_regular_cached();}{returns true if the regular mark
%is valid.}
%\ccGlue
%\ccMethod{bool is_regular();}{returns true if the regular mark is
%set.}
%\ccGlue
%\ccMethod{void set_regular_cached(bool b);}{sets the validity of
%regular mark as b.}
%\ccGlue
%\ccMethod{vois set_regular(bool b);}{sets the regular mark as \ccc{b}.}




\ccHasModels

\ccc{Surface_mesh_vertex_base_3<Gt,Vb>}


\ccSeeAlso

\ccc{SurfaceMesherComplex_2InTriangulation_3} \\
\ccc{Surface_mesh_complex_2_in_triangulation_3<Tr>}.

%\ccExample

%A short example program.
%Instead of a short program fragment, a full running program can be
%included using the 
%\verb|\ccIncludeExampleCode{Package/SurfaceMeshVertexBase_3.C}| 
%macro. The program example would be part of the source code distribution and
%also part of the automatic test suite.

%\begin{ccExampleCode}
%void your_example_code() {
%}
%\end{ccExampleCode}

%%% \ccIncludeExampleCode{Package/SurfaceMeshVertexBase_3.C}

\end{ccRefConcept}

% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

