cgal/Triangulation/doc_tex/Triangulation_ref/Triangulation_data_structur...

99 lines
3.6 KiB
TeX

\begin{ccRefClass}{Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>}
\ccDefinition
This class is used for storing the combinatorial information of a triangulation
of dimension $k\leq d$.
\ccInclude{CGAL/Triangulation_data_structure.h}
\ccParameters
\ccc{Dimensionality} can be either \begin{itemize}
\item \ccPureGlobalScope\ccc{Dimension_tag<d>} for some integer \ccc{d}. This
indicates that the triangulation data structure can store simplices (full cells) of dimension at most
\ccc{d}. The maximum dimension \ccc{d} is known by the compiler, which
triggers some optimizations. Or
\item \ccPureGlobalScope\ccc{Dynamic_dimension_tag}. In this case, the maximum
dimension of the simplices (full cells) is passed as an integer argument to an instance
constructor (see \ccc{TriangulationDataStructure}).\end{itemize}
\ccc{TriangulationDSVertex} is the class to be used as the base \ccc{Vertex} type in the
triangulation data structure. It must be a model of the concept
\ccc{TriangulationDSVertex}. The class template \ccRefName\ can be
defined by specifying
only the first parameter. It also accepts the tag \ccc{CGAL::Default} as
second parameter. In both cases, \ccc{TriangulationDSVertex} defaults to
\ccc{CGAL::Triangulation_ds_vertex<>}.
\ccc{TriangulationDSFullCell} is the class to be used as the base \ccc{Full_cell} type in
the triangulation data structure. It must be a model of the concept
\ccc{TriangulationDSFullCell}. The class template \ccRefName\ accepts that no
third parameter be specified. It also accepts the tag \ccc{CGAL::Default} as
third parameter. In both cases, \ccc{TriangulationDSFullCell} defaults to
\ccc{CGAL::Triangulation_ds_full_cell<>}.
\ccIsModel
\ccc{TriangulationDataStructure}.
In addition, the class \ccRefName\ provides the following types and methods:
\ccCreation
\ccCreationVariable{t}
\ccConstructor{XXXXXXX(const Triangulation_data_structure & t2);}
{The copy constructor. Creates a copy of the \ccRefName\ \ccc{t2} passed as
argument. All vertices and full cells are duplicated.}
\begin{ccDebug}
\ccHeading{Validity check} % - - - - - - - - - - - - - - - - - - - - VALIDITY
The \ccc{is_valid} method is only minimally defined in the
\ccc{TriangulationDataStructure} concept, so that we document it more precisely
here, for the model \ccRefName:
\ccMethod{bool is_valid(bool verbose = true) const;}{%
Implements the validity checks required by the concept
\ccc{TriangulationDataStructure}.%
Note that passing all these tests does not guaranty that we have a
triangulation (abstract pure simplicial complex).%
}
\end{ccDebug}
\begin{ccAdvanced}
\ccTypes
\ccNestedType{Full_cell_data}
{A data member of type \ccc{Full_cell_data} is stored in every full cell (models
of the concept \ccc{TriangulationDSFullCell}). It is used to mark
some
full cells, during modifications of the triangulation data structure.}
\ccHeading{Vertex insertion} % - - - - - - - - - - - - - - - - - - INSERTIONS
\ccMethod{template< OutputIterator > Full_cell_handle insert_in_tagged_hole(
Vertex_handle v, Facet f, OutputIterator new_full_cells);}
{A set \ccc{C} of full cells satisfying the same condition as in method
\ccRefName\ccc{::insert_in_hole()} is assumed to be marked. This
method creates new full cells from vertex \ccc{v} to the boundary of \ccc{C}.
The boundary is recognized by checking the mark of the full cells.
This method is used by \ccRefName\ccc{::insert_in_hole()}.
\ccPrecond same as \ccRefName\ccc{::insert_in_hole()}
}
\end{ccAdvanced}
\ccSeeAlso
\ccc{Triangulation_ds_vertex}\\
\ccc{Triangulation_ds_full_cell}\\
\ccc{Triangulation}
\end{ccRefClass}