mirror of https://github.com/CGAL/cgal
84 lines
3.0 KiB
TeX
84 lines
3.0 KiB
TeX
\begin{ccRefClass}{Triangulation_ds_full_cell<TriangulationDataStructure, TDSFullCellStoragePolicy>}
|
|
|
|
\ccDefinition
|
|
|
|
The class \ccRefName\ serves as the default full cell template parameter in the
|
|
class \ccc{Triangulation_data_structure<Dimensionality, TriangulationDSVertex,
|
|
TriangulationDSFullCell>}.
|
|
|
|
This class does not provide any geometric capabilities but only combinatorial
|
|
(adjacency) information. Thus, if the \ccc{Triangulation_data_structure} is
|
|
used as a parameter of an (embedded) \ccc{Triangulation}, then its full cell template
|
|
parameter has to fulfill additional geometric requirements, i.e. it has to be
|
|
a model of the refined concept \ccc{TriangulationFullCell}.
|
|
|
|
This class can be used directly or can serve as a base to derive other classes
|
|
with some additional attributes tuned for a specific application.
|
|
|
|
\ccInclude{CGAL/Triangulation_ds_full_cell.h}
|
|
|
|
\ccParameters
|
|
|
|
The first template parameter, \ccc{TriangulationDataStructure}, must be a model of the
|
|
\ccc{TriangulationDataStructure} concept.
|
|
%It defaults to \ccc{void}, which is used to break some dependency cycles.
|
|
|
|
The second parameter, \ccc{TDSFullCellStoragePolicy}, indicates whether or not
|
|
the full cell should additionally store the mirror indices (the indices
|
|
of the mirror vertices). This improves speed a little, but takes
|
|
more space:
|
|
|
|
The class template \ccRefName\ accepts that no second parameter be specified.
|
|
It also accepts the tag \ccc{CGAL::Default} as second parameter. Both cases are
|
|
equivalent to setting \ccc{TDSFullCellStoragePolicy} to
|
|
\ccc{CGAL::TDS_full_cell_default_storage_policy}.
|
|
|
|
When the second parameter is specified, its possible ``values''
|
|
are:\begin{itemize}
|
|
|
|
\item \ccc{CGAL::Default}, which is the {default} value. In that case, the
|
|
policy \ccc{CGAL::TDS_full_cell_default_storage_policy} is used.
|
|
|
|
\item \ccc{CGAL::TDS_full_cell_default_storage_policy}. In that case, the mirror
|
|
indices are {not stored}.
|
|
|
|
\item \ccc{CGAL::TDS_full_cell_mirror_storage_policy}. In that case, the mirror
|
|
indices are stored.
|
|
\end{itemize}
|
|
See the user manual for how to choose the second option.
|
|
|
|
\ccIsModel
|
|
|
|
\ccc{TriangulationDSFullCell}
|
|
|
|
\ccCreationVariable{c}
|
|
|
|
\begin{ccDebug}
|
|
\ccHeading{Validity check}
|
|
|
|
The \ccc{is_valid} method is only minimally defined in the
|
|
\ccc{TriangulationDSFullCell} concept, so that we document it more precisely
|
|
here, for the model \ccRefName:
|
|
|
|
\ccMethod{bool is_valid(bool verbose=false) const;}{
|
|
Implements the validity checks required by the concept
|
|
\ccc{TriangulationDSFullCell}. In addition, it is checked that there is no
|
|
\ccc{NULL} handle to vertices in the middle of non-\ccc{NULL} ones, that is,
|
|
that the internal memory layout is not corrupted.%
|
|
}
|
|
\end{ccDebug}
|
|
|
|
\begin{ccAdvanced}
|
|
\ccHeading{Rebind mechanism}
|
|
In case of derivation from that class, the nested class
|
|
\ccc{Rebind_TDS} need to be provided in the derived class.
|
|
\end{ccAdvanced}
|
|
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccc{Triangulation_ds_vertex<TriangulationDataStructure>}\\
|
|
\ccc{Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>>}
|
|
|
|
\end{ccRefClass}
|