%\RCSdef{\RCSTriangulationRev}{$Id$}
%\RCSdefDate{\RCSTriangulationDate}{$Date$}

\ccRefChapter{Triangulations\label{chap:triangulation_ref}}
\ccChapterAuthor{Samuel Hornus \and Olivier Devillers}


A triangulation is a pure simplicial complex, connected and without
singularities. Its faces are such that two of them either do not
intersect or share a common face.

The basic triangulation class of \cgal\ is primarily designed to
represent the triangulations of a set of points $A$ in $\R^d$.
 It can be
viewed as a partition of the convex hull of $A$ into simplices whose
vertices are the points of $A$. Together with the unbounded full cells having
the convex hull boundary as its frontier, the triangulation forms a
partition of $\R^d$.

In order to deal only with full dimensional simplices (full cells),
 which is convenient for many
applications, the space outside the convex hull is subdivided into
full cells by
considering that each convex hull facet is incident to an infinite
full cell having as vertex an auxiliary vertex called the infinite
vertex. In that way, each facet is incident to exactly two full cells and
special cases at the boundary of the convex hull are simple to deal
with. 

A triangulation is a collection of vertices and full cells that are linked
together through incidence and adjacency relations. Each full cell gives
access to its incident vertices and to its adjacent
full cells. Each vertex gives access to one of its incident full cells. 

The vertices of a full cell are indexed in positive
orientation, the positive orientation being defined by the orientation
of the underlying Euclidean space $\R^d$. The neighbors of a full cell are also
indexed  in such a way that the neighbor indexed by $i$
is opposite to the vertex with the same index.



\section{Reference Pages Sorted by Type}

\subsection{Concepts}

\subsubsection*{Triangulation data structure}

\ccRefConceptPage{TriangulationDataStructure}

The above concept is also abbreviated as \ccc{TriangulationDataStructure}. It defines three types,
\ccc{Vertex}, \ccc{Full_cell} and \ccc{Face}, that must respectively fulfill the
following concepts:

\ccRefConceptPage{TriangulationDSVertex}\\
\ccRefConceptPage{TriangulationDSFullCell}\\
\ccRefConceptPage{TriangulationFace}

\subsubsection*{(Geometric) triangulations}

\ccRefConceptPage{TriangulationTraits}\\
\ccRefConceptPage{DelaunayTriangulationTraits}\\
%\ccRefConceptPage{RegularTriangulationTraits}

\ccRefConceptPage{TriangulationVertex}\\
\ccRefConceptPage{TriangulationFullCell}

The above concepts are also abbreviated respectively as \ccc{TriangulationTraits},
\ccc{DelaunayTriangulationTraits}, 
%\ccc{RTTraits},
 \ccc{TrVertex} and \ccc{TrFullCell}.

\subsection{Classes}

\subsubsection*{Triangulation data structure}

\ccRefIdfierPage{CGAL::Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>}\\
\ccRefIdfierPage{CGAL::Triangulation_ds_vertex<TriangulationDataStructure>}\\
\ccRefIdfierPage{CGAL::Triangulation_ds_full_cell<TriangulationDataStructure, TDSFullCellStoragePolicy>}

\ccRefIdfierPage{CGAL::Triangulation_face<TriangulationDataStructure>}

\subsubsection*{(Geometric) triangulations}

\ccRefIdfierPage{CGAL::Triangulation<TriangulationTraits, TriangulationDataStructure>}\\
\ccRefIdfierPage{CGAL::Delaunay_triangulation<DelaunayTriangulationTraits, TriangulationDataStructure>}
%\ccRefIdfierPage{CGAL::Regular_triangulation<RCTraits, TriangulationDataStructure>}

\ccRefIdfierPage{CGAL::Triangulation_vertex<TriangulationTraits, Data, TriangulationDSVertex>}\\
\ccRefIdfierPage{CGAL::Triangulation_full_cell<TriangulationTraits, Data, TriangulationDSFullCell>}

\subsection{Enums}

\ccRefIdfierPage{CGAL::Triangulation::Locate_type}
