Clean-up \cgalModifXXX

This commit is contained in:
Clement Jamin 2014-05-19 16:54:37 +02:00
parent a55a810fe4
commit 84d3517cdd
8 changed files with 7 additions and 88 deletions

View File

@ -4,14 +4,12 @@ namespace CGAL {
/*!
\ingroup PkgTriangulationsTriangulationClasses
\cgalModifBegin
The class `Triangulation` is used to store and query the full cells and vertices of
a triangulationin dimension \f$ d\f$(see the
\ref Chapter_Triangulations "User Manual" for
a definition of "triangulation"). A special vertex, named
<I>infinite vertex</I>, is used to triangulate the outside of the convex
hull of the points in so called <I>infinite cells</I>.
\cgalModifEnd
Parameters
--------------
@ -120,12 +118,10 @@ iterator over all vertices (including the infinite one)
typedef Tds::Vertex_iterator
Vertex_iterator;
\cgalModifBegin
/*!
iterator over finite vertices
*/
typedef unspecified_type Finite_vertex_iterator;
\cgalModifEnd
/*!
handle to a full cell
@ -140,12 +136,10 @@ typedef
Tds::Full_cell_iterator
Full_cell_iterator;
\cgalModifBegin
/*!
iterator over finite full cells
*/
typedef unspecified_type Finite_full_cell_iterator;
\cgalModifEnd
/*!
iterator over all facets (including the infinite ones)
@ -153,12 +147,10 @@ iterator over all facets (including the infinite ones)
typedef Tds::Facet_iterator
Facet_iterator;
\cgalModifBegin
/*!
iterator over finite facets
*/
typedef unspecified_type Finite_facet_iterator;
\cgalModifEnd
/*!
Size type (an unsigned integral

View File

@ -36,10 +36,8 @@ defined by the points in range `[start,end)`.
If the simplex is positively
oriented, then the positive side of sphere corresponds geometrically
to its bounded side.
\cgalModifBegin
\pre If `Dimension`=`CGAL::``Dimension_tag<D>`,
then `std::distance(start,end)=D+1`.
\cgalModifEnd
The points in range
`[start,end)` must be affinely independent, i.e., the simplex must
not be flat.

View File

@ -3,11 +3,9 @@
\ingroup PkgTriangulationsConcepts
\cgalConcept
\cgalModifBegin
The concept `FullCellData` describes the requirements on the type which
is used to mark some full cells, during modifications of the triangulation data
structure.
\cgalModifEnd
\sa `TriangulationDataStructure`
\sa `TriangulationDSFullCell`

View File

@ -10,12 +10,10 @@ It gives access to a handle to a full cell `c` containing the face
`c`. It must hold that `f` is a <I>proper</I> face of full cell
`c`, i.e., the dimension of `f` is strictly less than
the dimension of `c`.
\cgalModifBegin
The dimension of a face is implicitely set when
`TriangulationDSFace::set_index` is called. For example, if
`TriangulationDSFace::set_index` is called two times to set the
first two vertices (`i = 0` and `i = 1`), then the dimension is 1.
\cgalModifEnd
\cgalHasModel `CGAL::Triangulation_face<TriangulationDataStructure>`
@ -32,11 +30,8 @@ public:
/// @{
/*!
\cgalModifBegin
The `Triangulation_data_structure` in which the `TriangulationDSFace` is
defined/used.
Must be a model of the `TriangulationDataStructure` concept.
\cgalModifEnd
defined/used. Must be a model of the `TriangulationDataStructure` concept.
*/
typedef unspecified_type Triangulation_data_structure;

View File

@ -98,12 +98,8 @@ in the concept `TriangulationDataStructure::FullCell`.
*/
typedef unspecified_type Full_cell;
/*!
\cgalModifBegin
/*!
A model of the concept `FullCellData`.
\cgalModifEnd
*/
typedef unspecified_type Full_cell_data;
@ -745,22 +741,14 @@ bool is_valid(bool verbose=false) const;
///
/// @{
/*!
\cgalModifBegin
Writes (possibly) non-combinatorial information about vertex `v` to the stream
`os`.
\cgalModifEnd
*/
template<class TriangulationDataStructure>
std::ostream& operator<<(std::ostream & os, const Triangulation_ds_vertex<TriangulationDataStructure> & v);
/*!
\cgalModifBegin
Reads from stream `is` the vertex information written by `operator<<`.
\cgalModifEnd
*/
template<class TriangulationDataStructure>
std::istream& operator>>(std::istream & is, Triangulation_ds_vertex<TriangulationDataStructure> & v);
@ -1026,23 +1014,15 @@ bool is_valid(bool verbose=false) const;
/// @{
/*!
\cgalModifBegin
Writes (possibly) non-combinatorial information about full cell `c` to the stream
`os`.
\cgalModifEnd
*/
template<class TriangulationDataStructure>
std::ostream& operator<<(std::ostream & os, const Triangulation_ds_full_cell<TriangulationDataStructure> & c);
/*!
\cgalModifBegin
Reads from stream `is` the full cell information written
by `operator<<`.
\cgalModifEnd
*/
template<class TriangulationDataStructure>
std::istream& operator>>(std::istream & is, Triangulation_ds_full_cell<TriangulationDataStructure> & c);

View File

@ -9,11 +9,9 @@ It brings the geometric ingredient to the
definition of a triangulation, while the combinatorial ingredient is brought by
the second template parameter, `TriangulationDataStructure`.
\cgalModifBegin
\cgalRefines `SpatialSortingTraits_d` If a range of points is inserted, the
traits must refine `SpatialSortingTraits_d` (this operation is optimized using
spatial sorting). This is not required if the points are inserted one by one.
\cgalModifEnd
\cgalHasModel `CGAL::Cartesian_d<FT, Dim, LA>`
\cgalHasModel `CGAL::Epick_d<Dim>` (recommended)
@ -28,7 +26,6 @@ public:
/// @{
/*!
\cgalModifBegin
A type representing the dimension of the `Orientation_d` predicate
(but not necessarily the one of `Point_d`). If \f$ n \f$ is the number of
points required by the `Orientation_d` predicate, then
@ -36,7 +33,6 @@ points required by the `Orientation_d` predicate, then
dimensions.
It can be static (`Dimension`=`CGAL::``Dimension_tag<int dim>`) or
dynamic (`Dimension`=`CGAL::``Dynamic_dimension_tag`).
\cgalModifEnd
*/
typedef unspecified_type Dimension;
@ -50,12 +46,10 @@ typedef unspecified_type Point_d;
A predicate object that must provide the
templated operator
`template<typename ForwardIterator> Orientation operator()(ForwardIterator start, ForwardIterator end)`.
\cgalModifBegin
The operator returns the orientation of the simplex defined by the points
in the range `[start, end)`; the value can be
`CGAL::POSITIVE`, `CGAL::NEGATIVE` or `CGAL::COPLANAR`.
\pre If `Dimension`=`CGAL::``Dimension_tag<D>`, then `std::distance(start,end)=D+1`.
\cgalModifEnd
*/
typedef unspecified_type Orientation_d;
@ -66,13 +60,11 @@ the templated operator
The operator returns `true` if and only if point `p` is
contained in the affine space spanned by the points in the range `[start, end)`. That affine space is also called the <I>affine hull</I> of the points
in the range.
\cgalModifBegin
\pre If `Dimension`=`CGAL::``Dimension_tag<D>`,
then `std::distance(start,end)=D+1`.
The points in the range
must be affinely independent. Note that in the CGAL kernels, this predicate
works also with affinely dependent points.
\cgalModifEnd
\f$ 2\leq k\leq D\f$.
*/
@ -105,12 +97,10 @@ the range `R=[start, end)` can be oriented in two different ways,
the operator
returns an object that allow to orient that flat so that `R=[start, end)`
defines a positive simplex.
\cgalModifBegin
\pre If `Dimension`=`CGAL::``Dimension_tag<D>`,
then `std::distance(start,end)=D+1`.
The points in range
`[start,end)` must be affinely independent.
\cgalModifEnd
\f$ 2\leq k\leq D\f$.
*/
typedef unspecified_type Construct_flat_orientation_d;

View File

@ -34,10 +34,8 @@ represent the triangulations of a set of points \f$ A\f$ in
viewed as a partition of the convex hull of \f$ A\f$ into simplices whose
vertices are the points of \f$ A\f$. Together with the unbounded full cells having
the convex hull boundary as its frontier, the triangulation forms a
partition of \f$ \mathbb{R}^d\f$.
\cgalModifBegin
partition of \f$ \mathbb{R}^d\f$.
See the \ref Chapter_Triangulations "User Manual" for more details.
\cgalModifEnd
In order to deal only with full dimensional simplices (full cells),
which is convenient for many

View File

@ -30,22 +30,18 @@ The sets in \f$ S\f$ (which are subsets of \f$ V\f$) are called
<I>faces</I> or <I>simplices</I> (the
singular of which is <I>simplex</I>).
A simplex \f$ s\in S\f$ is <I>maximal</I> if it is not a proper subset of some other
set in \f$ S\f$.
\cgalModifBegin
set in \f$ S\f$.
A simplex having \f$ d+1 \f$ vertices is said of dimension \f$ d \f$.
The simplicial complex is <I>pure</I> if all the maximal simplices
have the same dimension.
<!--- cardinality, i.e., they have the same number of vertices.--->
\cgalModifEnd
In the sequel, we will call these maximal simplices <I>full cells</I>.
A <I>face</I> of a simplex is a subset of it.
A <I>proper face</I> of a simplex is a strict subset of it.
\cgalModifBegin
A complex has <i>no boundaries</i> if any proper face of a simplex is also a
proper face of another simplex. A pure complex is <i>manifold</i> if all faces
of dimension \f$ d-1 \f$ are proper faces of exactly two simplices.
\cgalModifEnd
If the vertices are embedded into Euclidean space \f$ \mathbb{R}^d\f$,
we deal with
@ -72,11 +68,9 @@ The class `CGAL::Triangulation_data_structure<Dimensionality, TriangulationDSVer
class are not embedded in Euclidean space but are only of combinatorial
nature.
\cgalModifBegin
The class `CGAL::Triangulation<TriangulationTraits, TriangulationDataStructure>`
describes an embedded triangulation that has as vertices a given set of points
and which fills the convex hull of these points.
\cgalModifEnd
Methods are
provided for the insertion of points in the triangulation, the
traversal of various elements of the triangulation, as well as the localization of a
@ -85,10 +79,8 @@ The convex hull of the points is part of the triangulation, the fact
that there is no boundary is ensured by adding an infinite vertex and
infinite full cells to triangulate the outside of the convex hull.
\cgalModifBegin
See Chapter \ref Chapter_3D_Triangulations "3D Triangulations" for more details
about infinite vertices and cells.
\cgalModifEnd
The class `CGAL::Delaunay_triangulation<DelaunayTriangulationTraits, TriangulationDataStructure>` adds further
constraints to a triangulation, in that all its simplices must have the
@ -124,11 +116,9 @@ which \cgal provides one model class:
A `TriangulationDataStructure` can represent an abstract pure complex
such that any facet is incident to exactly two full cells.
\cgalModifBegin
A `TriangulationDataStructure` has a <!--- property called the --->
<I>maximal dimension</I> which is a
\cgalModifEnd
<I>maximal dimension</I> which is a
positive integer equal to the maximum dimension a full cell can have.
This maximal dimension can be chosen by the user at the creation of a `TriangulationDataStructure` and can then be queried using the method `tds.maximal_dimension()`.
A `TriangulationDataStructure` also knows the <I>current dimension</I> of its full cells,
@ -149,7 +139,6 @@ always exactly \f$ d+1\f$ neighbors.
Two full cells \f$ \sigma\f$ and \f$ \sigma'\f$ sharing a facet are called
<I>neighbors</I>.
\cgalModifBegin
Possible values of \f$d\f$ (the <I>current dimension</I> of the triangulation) include
<BLOCKQUOTE>
<DL>
@ -165,8 +154,7 @@ triangulation of the \f$ 0\f$-sphere.
<DT><B>\f$ 0< d \le D\f$</B><DD> This corresponds to a standard triangulation of
the sphere \f$ \mathcal S^d\f$.
</DL>
</BLOCKQUOTE>
\cgalModifEnd
</BLOCKQUOTE>
## The class `Triangulation_data_structure` ##
@ -187,10 +175,8 @@ of its neighbors have the following meaning: the \f$ i\f$-th neighbor of \f$ \si
is the unique neighbor of \f$ \sigma\f$ that does not contain the \f$ i\f$-th vertex of
\f$ \sigma\f$; in other words, it is the neighbor of \f$ \sigma\f$ <I>opposite</I> to
the \f$ i\f$-th vertex of \f$ \sigma\f$ (Figure \cgalFigureRef{triangulationfigfullcell}).
\cgalModifBegin
Faces of dimension between 0 and \f$ d-1 \f$ can be accessed as
subfaces of a full cell.
\cgalModifEnd
\cgalFigureBegin{triangulationfigfullcell,simplex-structure.png}
Indexing the vertices and neighbors of a full cell \f$ c\f$ in dimension \f$ d=2\f$.
@ -214,8 +200,6 @@ on-the-fly, which is the default case. Please refer to the
documentation of that class template for specific details.
--->
\cgalModifBegin
\cgalModifEnd
###Template parameters###
The `Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>`
@ -250,7 +234,6 @@ concepts: `Triangulation_ds_vertex<TriangulationDataStructure>` and
can see, take the `TriangulationDataStructure` as a template parameter in order to get access to
some nested types in `TriangulationDataStructure`.
\cgalModifBegin
The default values are `CGAL::Triangulation_ds_vertex<TDS>`
and `CGAL::Triangulation_ds_full_cell<TDS>`
where `TDS` is the current class `Triangulation_data_structure<Dimensionality, TriangulationDSVertex, TriangulationDSFullCell>`
@ -263,7 +246,6 @@ which is documented in those two concept's reference manual pages.
This mechanism can be used to provide a custom vertex or full cell
class. The user is encouraged to read the documentation of the \cgal
`Triangulation_2` or `Triangulation_3` package.
\cgalModifEnd
## Examples ##
@ -273,8 +255,6 @@ class. The user is encouraged to read the documentation of the \cgal
The following examples shows how to construct a triangulation data structure by
inserting vertices. Its main interest is that it demonstrates most of the API
to insert new vertices into the triangulation.
\cgalModifBegin
\cgalModifEnd
<!---
Therefore, the reader will make
the best use of this example by reading it slowly, together with the reference
@ -308,7 +288,6 @@ Barycentric subdivision in dimension \f$ d=2\f$.
# Triangulations #
\cgalModifBegin
The class `CGAL::Triangulation<TriangulationTraits, TriangulationDataStructure>`
maintains a geometric
triangulation in Euclidean space. More precisely, it
@ -317,7 +296,6 @@ full cells) of the convex hull of the points (the embedded vertices) of the
triangulation. A special vertex at infinity is added to the convex
hull facets to create infinite full cells and make the triangulation
homeomorphic to a sphere of one dimension higher.
\cgalModifEnd
Methods are provided for the insertion of points in the triangulation, the
contraction of faces, the traversal of various elements of the triangulation
@ -327,7 +305,6 @@ Infinite full cells outside the convex hull are each incident to
a finite facet on the convex hull of the triangulation and to a unique
<I>vertex at infinity</I>.
\cgalModifBegin
The ordering of the vertices of a full cell defines an orientation of
that full cell.
As long as no <I>advanced</I> class method is called, it is guaranteed
@ -349,7 +326,6 @@ In a triangulation, we can distinguish three dimensions:
the triangulation.
</UL>
\cgalModifEnd
## Implementation ##
@ -362,16 +338,12 @@ The template parameter `TriangulationTraits` must be a model of the concept
`TriangulationTraits` which provides the geometric `Point` type as well
as various geometric predicates used by the `Triangulation` class.
\cgalModifBegin
`TriangulationTraits::Dimension` must match
the maximal dimension of the `TriangulationDataStructure`.
\cgalModifEnd
\cgalModifBegin
The template parameter `TriangulationDataStructure` must be a model of the concept
`TriangulationDataStructure` which provides the triangulation data
structure as described in the previous section.
\cgalModifEnd
## Examples ##
@ -384,10 +356,8 @@ ask the triangulation to construct the set of edges
(\f$ 1\f$ dimensional faces) incident to the vertex at infinity. It is easy to see that
these edges are in bijection with the vertices on the convex hull of the
points. This gives us a handy way to count the convex hull vertices
\cgalModifBegin
(include files <tt>triangulation1.cpp</tt> and
<tt>triangulation2.cpp</tt> are given and commented below).
\cgalModifEnd
\cgalExample{triangulation.cpp}
@ -416,12 +386,10 @@ full cells:
\cgalExample{triangulation2.cpp}
\cgalModifBegin
One important difference between the two examples above is that the first uses
<I>little</I> memory but traverses <I>all</I> the full cells, while the second
visits <I>only</I> the infinite full cells but stores handles to them into the
<I>potentially big</I> array <tt>infinite_full_cells</tt>.
\cgalModifEnd
# Delaunay Triangulations #