Switch to \tparam

This commit is contained in:
Andreas Fabri 2012-11-21 14:04:46 +01:00
parent 656fdc78ed
commit c7dc4a8bcd
14 changed files with 78 additions and 106 deletions

View File

@ -480,10 +480,12 @@ vertices.
bool is_edge(Vertex_handle va, Vertex_handle vb);
/*!
as above. In addition, if `true` is returned, the edge with
\brief as above.\ In addition, if `true` is returned, the edge with
vertices `va` and `vb` is the edge `e=(fr,i)` where
`fr` is a handle to the face incident to `e` and
on the right side of `e` oriented from `va` to `vb`.
on the right side of `e` oriented from `va` to `vb`.\ \pre toto
\details the details.
*/
bool is_edge(Vertex_handle va, Vertex_handle vb, Face_handle& fr,
int & i);

View File

@ -7,13 +7,9 @@ namespace CGAL {
The class `Delaunay_triangulation_3` represents a three-dimensional
Delaunay triangulation.
### Parameters ###
\tparam DelaunayTriangulationTraits_3 is the geometric traits class.
The first template argument must be a model of the
`DelaunayTriangulationTraits_3` concept.
The second template argument must be a model of the
`TriangulationDataStructure_3` concept.
\tparam TriangulationDataStructure_3 is the triangulation data structure.
It has the default value `Triangulation_data_structure_3<Triangulation_vertex_base_3<DelaunayTriangulationTraits_3>, Triangulation_cell_base_3<DelaunayTriangulationTraits_3> >`.
The third template argument is a tag which must be a `Location_policy<Tag>` :
@ -138,12 +134,11 @@ Vertex_handle insert(const Point & p, Locate_type lt,
Cell_handle loc, int li, int lj);
/*!
Inserts the points in the iterator range \f$ \left[\right.\f$`first`,
`last`\f$ \left.\right)\f$. Returns the number of inserted points.
Inserts the points in the iterator range `[first,last)`. Returns the number of inserted points.
Note that this function is not guaranteed to insert the points
following the order of `PointInputIterator`, as `spatial_sort`
following the order of `PointInputIterator`, as `spatial_sort()`
is used to improve efficiency.
\pre The `value_type` of `first` and `last` is `Point`.
\tparam PointInputIterator must be an input iterator with the value type `Point`.
*/
template < class PointInputIterator >
@ -152,15 +147,17 @@ insert(PointInputIterator first, PointInputIterator last);
/*!
Inserts the points in the iterator range \f$ \left[\right.\f$`first`,
`last`\f$ \left.\right)\f$. Returns the number of inserted points.
Inserts the points in the iterator range `[first,last)`.
Returns the number of inserted points.
Note that this function is not guaranteed to insert the points
following the order of `PointWithInfoInputIterator`, as `spatial_sort`
following the order of `PointWithInfoInputIterator`, as `spatial_sort()`
is used to improve efficiency.
Given a pair `(p,i)`, the vertex `v` storing `p` also stores `i`, that is
`v.point() == p` and `v.info() == i`. If several pairs have the same point,
only one vertex is created, and one of the objects of type `Vertex::Info` will be stored in the vertex.
\pre `Vertex` must be model of the concept `TriangulationVertexBaseWithInfo_3`. The `value_type` of `first` and `last` is `std::pair<Point,Vertex::Info>`.
\pre `Vertex` must be model of the concept `TriangulationVertexBaseWithInfo_3`.
\tparam PointWithInfoInputIterator must be an input iterator with the value type `std::pair<Point,Vertex::Info>`.
*/
template < class PointWithInfoInputIterator >
@ -216,11 +213,12 @@ Removes the vertex `v` from the triangulation.
void remove(Vertex_handle v);
/*!
Removes the vertices specified by the iterator range [`first, beyond`)
of value type `Vertex_handle`.
`remove()` is called over each element of the range.
Removes the vertices specified by the iterator range `[first, beyond)`.
The function `remove(Vertex_handle)` is called over each element of the range.
The number of vertices removed is returned.
\pre (i) all vertices of the range are finite vertices of the triangulation; and (ii) no vertices are repeated in the range.
\tparam InputIterator must be an input iterator with value type `Vertex_handle`.
*/
template < typename InputIterator >
int remove(InputIterator first, InputIterator beyond);
@ -230,6 +228,8 @@ This function has exactly the same result and the same preconditions as `remove(
The difference is in the implementation and efficiency. This version does not re-triangulate the hole after each
point removal but only after removing all vertices. This is more efficient if (and only if) the removed points
are organized in a small number of connected components of the Delaunay triangulation.
\tparam InputIterator must be an input iterator with value type `Vertex_handle`.
*/
template < typename InputIterator >
int remove_cluster(InputIterator first, InputIterator beyond);

View File

@ -27,13 +27,10 @@ the <I>power sphere</I>. A sphere \f$ {z}^{(w)}\f$ is said to be
A triangulation of \f$ {S}^{(w)}\f$ is <I>regular</I> if the power spheres
of all simplices are regular.
### Parameters ###
The first template argument must be a model of the
`RegularTriangulationTraits_3` concept.
\tparam RegularTriangulationTraits_3 is the geometric traits class.
The second template argument must be a model of the
`TriangulationDataStructure_3` concept.
\tparam TriangulationDataStructure_3 is the triangulation data structure.
It has the default value `Triangulation_data_structure_3<Triangulation_vertex_base_3<RegularTriangulationTraits_3>, Regular_triangulation_cell_base_3<RegularTriangulationTraits_3> >`.
*/
@ -76,6 +73,7 @@ Regular_triangulation_3
/*!
Equivalent to constructing an empty triangulation with the optional
traits class argument and calling `insert(first,last)`.
\tparam InputIterator must be an input iterator with value type `Weighted_point`.
*/
template < class InputIterator >
Regular_triangulation_3 (InputIterator first, InputIterator last,
@ -125,14 +123,14 @@ Vertex_handle insert(const Weighted_point & p, Locate_type lt,
Cell_handle loc, int li, int lj);
/*!
Inserts the weighted points in the range \f$ \left[\right.\f$`first`,
`last`\f$ \left.\right)\f$.
Inserts the weighted points in the range `[first,last)`.
It returns the difference of the number of vertices between after and
before the insertions (it may be negative due to hidden points).
Note that this function is not guaranteed to insert the points
following the order of `InputIterator`, as `spatial_sort`
following the order of `InputIterator`, as `spatial_sort()`
is used to improve efficiency.
\pre The `value_type` of `first` and `last` is `Weighted_point`.
\tparam InputIterator must be an input iterator with value type `Weighted_point`.
*/
template < class InputIterator >
std::ptrdiff_t
@ -140,18 +138,17 @@ insert(InputIterator first, InputIterator last);
/*!
Inserts the weighted points in the iterator range \f$ \left[\right.\f$`first`,
`last`\f$ \left.\right)\f$.
Inserts the weighted points in the iterator range `[first,last)`.
It returns the difference of the number of vertices between after and
before the insertions (it may be negative due to hidden points).
Note that this function is not guaranteed to insert the weighted points
following the order of `WeightedPointWithInfoInputIterator`, as `spatial_sort`
following the order of `WeightedPointWithInfoInputIterator`, as `spatial_sort()`
is used to improve efficiency.
Given a pair `(p,i)`, the vertex `v` storing `p` also stores `i`, that is
`v.point() == p` and `v.info() == i`. If several pairs have the same point,
only one vertex is created, one of the objects of type `Vertex::Info` will be stored in the vertex.
\pre `Vertex` must be model of the concept `TriangulationVertexBaseWithInfo_3`. The `value_type` of `first` and `last` is `std::pair<Weighted_point,Vertex::Info>`.
\pre `Vertex` must be model of the concept `TriangulationVertexBaseWithInfo_3`.
\tparam (WeightedPointWithInfoInputIterator must be an input iterator with value type `std::pair<Weighted_point,Vertex::Info>`.
*/
template < class WeightedPointWithInfoInputIterator >
std::ptrdiff_t
@ -168,7 +165,7 @@ The following methods, which already exist in `Triangulation_3`, are overloaded
/*!
Creates a new vertex by starring a hole. It takes an iterator range
[`cell_begin`; `cell_end`[ of `Cell_handle`s which specifies
`[cell_begin,cell_end)` of `Cell_handle`s which specifies
a hole: a set of connected cells (resp. facets in dimension 2) which is
star-shaped wrt `p`.
(`begin`, `i`) is a facet (resp. an edge) on the boundary of the hole,

View File

@ -8,15 +8,11 @@ The class `Regular_triangulation_cell_base_3` is a model of the concept
`RegularTriangulationCellBase_3`. It is the default face base class
of regular triangulations.
### Parameters ###
The template parameters `Traits` has to be a model
of `RegularTriangulationTraits_3`.
\tparam Traits must be a model of `RegularTriangulationTraits_3`.
The template parameter `Cb` has to be a model
of `TriangulationCellBase_3`. By default, this parameter is
instantiated by
`CGAL::Triangulation_cell_base_3<Traits>`.
\tparam Cb must be a model of `TriangulationCellBase_3`.
By default, this parameter is instantiated by `Triangulation_cell_base_3<Traits>`.
\cgalModels ::RegularTriangulationCellBase_3

View File

@ -9,11 +9,9 @@ class `Regular_triangulation_3<RegularTriangulationTraits_3,TriangulationDataStr
It provides `Weighted_point_3`, a class for weighted points, which derives
from the three dimensional point class `K::Point_3`.
The first argument `K` must be a model of the `Kernel` concept.
\tparam K must be a model of the `Kernel` concept.
The second argument `Weight` of the class
`Regular_triangulation_euclidean_traits_3<K,Weight>` is in fact
optional: if is it not provided, `K::RT` will be used.
\tparam Weight is optional. If is it not provided, `K::RT` will be used.
The class is a model of the concept `RegularTriangulationTraits_3`
but it also contains predicates and constructors on weighted points
@ -21,7 +19,7 @@ that are not required in the
concept `RegularTriangulationTraits_3`.
Note that filtered predicates are automatically used if the
boolean `Has_filtered_predicates` in the kernel provided as template parameter
Boolean `Has_filtered_predicates` in the kernel provided as template parameter
of that class is set to `true`.
\cgalModels ::RegularTriangulationTraits_3
@ -52,7 +50,7 @@ Weighted_point_3;
/// @}
/// \name Types for predicate functors
/// \name Types for Predicate Functors
/// @{
/*!
@ -142,7 +140,7 @@ typedef Hidden_type Does_simplex_intersect_dual_support_3;
/// @}
/// \name Types for constructor functors
/// \name Types for Constructor Functors
/// @{
/*!

View File

@ -7,13 +7,9 @@ namespace CGAL {
The class `Triangulation_3` represents a 3-dimensional tetrahedralization
of points.
### Parameters ###
\tparam TriangulationTraits_3 is the geometric traits class.
The first template argument must be a model of the
`TriangulationTraits_3` concept.
The second template argument must be a model of the
`TriangulationDataStructure_3` concept.
\tparam TriangulationDataStructure_3 is the triangulation data structure.
It has the default value `Triangulation_data_structure_3< Triangulation_vertex_base_3<TriangulationTraits_3>,Triangulation_cell_base_3<TriangulationTraits_3> >`.
### Traversal of the Triangulation ###
@ -832,11 +828,10 @@ Vertex_handle insert(const Point & p, Locate_type lt,
Cell_handle loc, int li, int lj);
/*!
Inserts the points in the range \f$ \left[\right.\f$`first`,
`last`\f$ \left.\right)\f$. Returns the number of inserted points.
Inserts the points in the range `[first,last)`. Returns the number of inserted points.
Note that this function is not guaranteed to insert the points
following the order of `InputIterator`.
\pre The `value_type` of `first` and `last` is `Point`.
\tparam InputIterator must be an input iterator with value type `Point`.
*/
template < class InputIterator >
std::ptrdiff_t
@ -921,7 +916,7 @@ Vertex_handle insert_outside_affine_hull(const Point & p);
/*!
Creates a new vertex by starring a hole. It takes an iterator range
[`cell_begin`; `cell_end`[ of `Cell_handle`s which specifies
`[cell_begin,cell_end)` of `Cell_handle`s which specifies
a hole: a set of connected cells (resp. facets in dimension 2) which is
star-shaped wrt `p`.
(`begin`, `i`) is a facet (resp. an edge) on the boundary of the hole,

View File

@ -11,18 +11,16 @@ This class can be used directly or can serve as a base to derive other classes
with some additional attributes (a color for example) tuned for a specific
application.
### Parameters ###
The first template argument is the geometric traits class
`TriangulationTraits_3`. It is actually not used by this class.
\tparam TriangulationTraits_3 is the geometric traits class. It is actually not used by this class.
The second template argument is a combinatorial cell base class from which
\tparam TriangulationDSCellBase_3 is a combinatorial cell base class from which
`Triangulation_cell_base_3` derives.
It has the default value `Triangulation_ds_cell_base_3<>`.
Note that this model does not store the circumcenter, but computes it
every time the circumcenter function is called. See
`CGAL::Triangulation_cell_base_with_circumcenter_3` for a way to cache the
`Triangulation_cell_base_with_circumcenter_3` for a way to cache the
circumcenter computation.
\cgalModels ::TriangulationCellBase_3

View File

@ -13,12 +13,9 @@ Note that input/output operators discard this additional information.
All functions modifying the vertices of the cell, invalidate the cached
circumcenter.
### Parameters ###
\tparam DelaunayTriangulationTraits_3 is the geometric traits class.
The first template argument is the geometric traits class
`DelaunayTriangulationTraits_3`.
The second template argument is a cell base class from which
\tparam TriangulationCellBase_3 is a cell base class from which
`Triangulation_cell_base_with_circumcenter_3` derives.
It has the default value `Triangulation_cell_base_3<DelaunayTriangulationTraits_3>`.

View File

@ -9,15 +9,14 @@ The class `Triangulation_cell_base_with_info_3` is a model of the concept
It provides an easy way to add some user defined information in cells.
Note that input/output operators discard this additional information.
### Parameters ###
The first template argument is the information the user would like to add
\tparam Info is the information the user would like to add
to a cell. It has to be `DefaultConstructible` and `Assignable`.
The second template argument is the geometric traits class
`TriangulationTraits_3`. It is actually not used by this class.
\tparam TriangulationTraits_3 is the geometric traits class.
It is actually not used by this class.
The third template argument is a cell base class from which
\tparam TriangulationCellBase_3 is a cell base class from which
`Triangulation_cell_base_with_info_3` derives. It has the default value
`Triangulation_cell_base_3<TriangulationTraits_3>`.

View File

@ -14,16 +14,11 @@ with a data structure which allows fast point location queries. As proved
in \cite cgal:d-dh-02, this structure has an optimal behavior when it is built
for Delaunay triangulations. It can however be used for other triangulations.
### Parameters ###
It is templated by a parameter which must be instantiated by one of the \cgal triangulation classes. <I>In the current implementation, only
\tparam Tr must be instantiated by one of the \cgal triangulation classes. <I>In the current implementation, only
`Delaunay_triangulation_3` is supported for `Tr`.</I>
`Tr::Vertex` has to be a model of the concept
`TriangulationHierarchyVertexBase_3`.
`Tr::Geom_traits` has to be a model of the concept
`DelaunayTriangulationTraits_3`.
- `Tr::Vertex` has to be a model of the concept `TriangulationHierarchyVertexBase_3`.
- `Tr::Geom_traits` has to be a model of the concept `DelaunayTriangulationTraits_3`.
`Triangulation_hierarchy_3` offers exactly the same functionalities as `Tr`.
Most of them (point location, insertion, removal \f$ \ldots\f$ ) are overloaded to

View File

@ -19,9 +19,8 @@ requirements in order to match the concept
provided by \cgal, or a user customized vertex base with additional
functionalities.
### Parameters ###
It is parameterized by a model of the concept `TriangulationVertexBase_3`.
\tparam TriangulationVertexBase_3 is is a combinatorial vertex base class from which
`Triangulation_hierarchy_vertex_base_3` derives.
\cgalModels ::TriangulationHierarchyVertexBase_3

View File

@ -12,17 +12,15 @@ This class can be used directly or can serve as a base to derive other classes
with some additional attributes (a color for example) tuned for a specific
application.
### Parameters ###
The first template argument is the geometric traits class
`TriangulationTraits_3` which provides the point type, `Point_3`.
Users of the geometric triangulations (Section \ref TDS3secdesign and
Chapter \ref chapterTriangulation3) are strongly advised to use the same
\tparam TriangulationTraits_3 is the geometric traits class
which provides the point type `Point_3`.
Users of the geometric triangulations are strongly advised to use the same
geometric traits class `TriangulationTraits_3` as the one used for
`Triangulation_3`. This way, the point type defined by the base vertex is
the same as the point type defined by the geometric traits class.
The second template argument is a combinatorial vertex base class from which
\tparam TriangulationDSVertexBase_3 is a combinatorial vertex base class from which
`Triangulation_vertex_base_3` derives.
It has the default value `Triangulation_ds_vertex_base_3<>`.

View File

@ -9,15 +9,13 @@ The class `Triangulation_vertex_base_with_info_3` is a model of the concept
It provides an easy way to add some user defined information in vertices.
Note that input/output operators discard this additional information.
### Parameters ###
The first template argument is the information the user would like to add
\tparam Info is the information the user would like to add
to a vertex. It has to be `DefaultConstructible` and `Assignable`.
The second template argument is the geometric traits class
`TriangulationTraits_3` which provides the `Point_3`.
\tparam TriangulationTraits_3 is the geometric traits class
which provides the `Point_3`.
The third template argument is a vertex base class from which
\tparam TriangulationVertexBase_3 is a vertex base class from which
`Triangulation_vertex_base_with_info_3` derives. It has the default
value `Triangulation_vertex_base_3<TriangulationTraits_3>`.

View File

@ -96,11 +96,11 @@ dimension 2, each cell has only one facet of index 3, and 3 edges
<b>Validity</b>
A triangulation of \f$ \R^3\f$ is said to be `locally valid` iff
A triangulation of \f$ \R^3\f$ is said to be *locally valid* iff
<B>(a)-(b)</B> Its underlying combinatorial graph, the triangulation
data structure, is `locally valid`
(see Section \ref TDS3secintro of Chapter \ref chapterTDS3)
data structure, is *locally valid*
(see Section \ref TDS3secintro "Introduction" of Chapter \ref chapterTDS3 "3D Triangulation Data Structure")
<B>(c)</B> Any cell has its vertices ordered according to positive
orientation. See \cgalFigureRef{Triangulation3figorient}.
@ -117,7 +117,7 @@ When all the points are collinear, this condition becomes:
<B>(c-1D)</B> For any two adjacent edges \f$ (u,v)\f$ and \f$ (v,w)\f$, \f$ u\f$ and
\f$ w\f$ lie on opposite sides of the common vertex \f$ v\f$ on the line.
The `is_valid()` method provided in `Triangulation_3` checks
The method `Triangulation_3::is_valid()` checks
the local validity of a given triangulation. This does not always
ensure global validity \cite mnssssu-cgpvg-96, \cite dlpt-ccpps-98 but it is
sufficient for practical cases.
@ -211,14 +211,14 @@ the geometry and the combinatorics is reflected in the software design by the
fact that these three triangulation classes take the following template parameters :
<UL>
<LI> the <B>geometric traits</B> class, which provides the type of points
<LI> the *geometric traits* class, which provides the type of points
to use as well as the elementary operations on them (predicates and
constructions). The concepts for these parameters are described in more
details in Section \ref Triangulation3secTraits.
<LI> the <B>triangulation data structure</B> class, which stores their
combinatorial structure, described in Section \ref TDS3secdesign of
Chapter \ref chapterTDS3.
<LI> the <B>location policy</B> tag, which is supported only by the Delaunay
<LI> the *triangulation data structure* class, which stores their
combinatorial structure, described in Section \ref TDS3secdesign "Software Design" of
Chapter \ref chapterTDS3 "3D Triangulation Data Structure".
<LI> the *location policy* tag, which is supported only by the Delaunay
triangulation class, described in Section \ref Triangulation3seclocpol.
</UL>
@ -399,7 +399,7 @@ My_vertex(const Point&p, Cell_handle c) : Vb(p, c) {}
\endcode
The situation is exactly similar for cell base classes.
Section \ref TDS3secdesign provides more detailed information.
Section \ref TDS3secdesign "Software Design" provides more detailed information.
\section Triangulation3secexamples Examples