% +------------------------------------------------------------------------+
% | 06.07.2000   Mariette Yvinec
% | Package: Triangulation
% | 
\RCSdef{\RCSTriangulationRev}{$Id$}
\RCSdefDate{\RCSTriangulationDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+

%\clearpage
%\section{Reference pages for 2D Triangulation data structure}

\chapter{2D Triangulation Data Structure}
\label{ref_chapter_2D_Triangulation_Data_Structure}
\ccChapterAuthor{Sylvain Pion \and Mariette Yvinec}

\subsection*{Definition}
The triangulation data structure can be seen as a container
for the faces and vertices of a triangulation. This class also takes care
of all the combinatorial operations performed on  the triangulation.

The class \ccc{CGAL::Triangulation_data_structure_2<Vb,Fb>}
is  a model of the concept \ccc{TriangulationDataStructure_2}.
which includes the subconcepts
\ccc{TriangulationDataStructure_2::Face} 
and \ccc{TriangulationDataStructure_2::Vertex}.

To ensure all the \textbf{flexibility} of  the triangulation
classes, 
described 
and in Section~\ref{Section_2D_Triangulations_Flexibility}
of
Chapter~\ref{user_chapter_2D_Triangulations}, the  model 
 \ccc{CGAL::Triangulation_data_structure_2<Vb,Fb>}
has two templates parameters.
The class \ccc{CGAL::Triangulation_data_structure_2<Vb,Fb>}
derives its \ccc{Vertex} and \ccc{Face} types 
from the two template parameters \ccc{Vb} and \ccc{Fb} respectively. \\
If the triangulation data structure
is used alone, these parameters 
have to be instantiated by models
of the concepts \ccc{TriangulationDSFaceBase_2} and 
\ccc{TriangulationDSVertexBase_2}. These concepts
are described in this chapter together with their
default models \ccc{CGAL::Triangulation_ds_face_base_2<Tds>}
and  \ccc{CGAL::Triangulation_ds_vertex_base_2<Tds>}. \\
If the triangulation data structure
is plugged into a triangulation class, the parameters
have to be instantiated by models of different 
refining concepts according to the actual type of the triangulation.
These refining concepts and their models
are described in Chapter~\ref{ref_chapter_2D_Triangulations}


\subsection*{Concepts}
\ccRefConceptPage{TriangulationDataStructure_2}\\
\ccRefConceptPage{TriangulationDataStructure_2::Face}\\
\ccRefConceptPage{TriangulationDataStructure_2::Vertex}\\

\ccRefConceptPage{TriangulationDSFaceBase_2}\\
\ccRefConceptPage{TriangulationDSVertexBase_2}\\

\subsection*{Classes}
\ccRefIdfierPage{CGAL::Triangulation_data_structure_2<Vb,Fb>}\\
\ccRefIdfierPage{CGAL::Triangulation_ds_face_base_2<Tds>}\\
\ccRefIdfierPage{CGAL::Triangulation_ds_vertex_base_2<Tds>}\\

\ccRefIdfierPage{CGAL::Triangulation_cw_ccw_2}

