mirror of https://github.com/CGAL/cgal
Switch to \tparam
This commit is contained in:
parent
656fdc78ed
commit
c7dc4a8bcd
|
|
@ -480,10 +480,12 @@ vertices.
|
||||||
bool is_edge(Vertex_handle va, Vertex_handle vb);
|
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
|
vertices `va` and `vb` is the edge `e=(fr,i)` where
|
||||||
`fr` is a handle to the face incident to `e` and
|
`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,
|
bool is_edge(Vertex_handle va, Vertex_handle vb, Face_handle& fr,
|
||||||
int & i);
|
int & i);
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,9 @@ namespace CGAL {
|
||||||
The class `Delaunay_triangulation_3` represents a three-dimensional
|
The class `Delaunay_triangulation_3` represents a three-dimensional
|
||||||
Delaunay triangulation.
|
Delaunay triangulation.
|
||||||
|
|
||||||
### Parameters ###
|
\tparam DelaunayTriangulationTraits_3 is the geometric traits class.
|
||||||
|
|
||||||
The first template argument must be a model of the
|
\tparam TriangulationDataStructure_3 is the triangulation data structure.
|
||||||
`DelaunayTriangulationTraits_3` concept.
|
|
||||||
|
|
||||||
The second template argument must be a model of the
|
|
||||||
`TriangulationDataStructure_3` concept.
|
|
||||||
It has the default value `Triangulation_data_structure_3<Triangulation_vertex_base_3<DelaunayTriangulationTraits_3>, Triangulation_cell_base_3<DelaunayTriangulationTraits_3> >`.
|
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>` :
|
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);
|
Cell_handle loc, int li, int lj);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Inserts the points in the iterator range \f$ \left[\right.\f$`first`,
|
Inserts the points in the iterator range `[first,last)`. Returns the number of inserted points.
|
||||||
`last`\f$ \left.\right)\f$. Returns the number of inserted points.
|
|
||||||
Note that this function is not guaranteed to insert the 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.
|
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 >
|
template < class PointInputIterator >
|
||||||
|
|
@ -152,15 +147,17 @@ insert(PointInputIterator first, PointInputIterator last);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
||||||
Inserts the points in the iterator range \f$ \left[\right.\f$`first`,
|
Inserts the points in the iterator range `[first,last)`.
|
||||||
`last`\f$ \left.\right)\f$. Returns the number of inserted points.
|
Returns the number of inserted points.
|
||||||
Note that this function is not guaranteed to insert the 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.
|
is used to improve efficiency.
|
||||||
Given a pair `(p,i)`, the vertex `v` storing `p` also stores `i`, that is
|
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,
|
`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.
|
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 >
|
template < class PointWithInfoInputIterator >
|
||||||
|
|
@ -216,11 +213,12 @@ Removes the vertex `v` from the triangulation.
|
||||||
void remove(Vertex_handle v);
|
void remove(Vertex_handle v);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Removes the vertices specified by the iterator range [`first, beyond`)
|
Removes the vertices specified by the iterator range `[first, beyond)`.
|
||||||
of value type `Vertex_handle`.
|
The function `remove(Vertex_handle)` is called over each element of the range.
|
||||||
`remove()` is called over each element of the range.
|
|
||||||
The number of vertices removed is returned.
|
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.
|
\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 >
|
template < typename InputIterator >
|
||||||
int remove(InputIterator first, InputIterator beyond);
|
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
|
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
|
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.
|
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 >
|
template < typename InputIterator >
|
||||||
int remove_cluster(InputIterator first, InputIterator beyond);
|
int remove_cluster(InputIterator first, InputIterator beyond);
|
||||||
|
|
|
||||||
|
|
@ -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
|
A triangulation of \f$ {S}^{(w)}\f$ is <I>regular</I> if the power spheres
|
||||||
of all simplices are regular.
|
of all simplices are regular.
|
||||||
|
|
||||||
### Parameters ###
|
|
||||||
|
|
||||||
The first template argument must be a model of the
|
\tparam RegularTriangulationTraits_3 is the geometric traits class.
|
||||||
`RegularTriangulationTraits_3` concept.
|
|
||||||
|
|
||||||
The second template argument must be a model of the
|
\tparam TriangulationDataStructure_3 is the triangulation data structure.
|
||||||
`TriangulationDataStructure_3` concept.
|
|
||||||
It has the default value `Triangulation_data_structure_3<Triangulation_vertex_base_3<RegularTriangulationTraits_3>, Regular_triangulation_cell_base_3<RegularTriangulationTraits_3> >`.
|
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
|
Equivalent to constructing an empty triangulation with the optional
|
||||||
traits class argument and calling `insert(first,last)`.
|
traits class argument and calling `insert(first,last)`.
|
||||||
|
\tparam InputIterator must be an input iterator with value type `Weighted_point`.
|
||||||
*/
|
*/
|
||||||
template < class InputIterator >
|
template < class InputIterator >
|
||||||
Regular_triangulation_3 (InputIterator first, InputIterator last,
|
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);
|
Cell_handle loc, int li, int lj);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Inserts the weighted points in the range \f$ \left[\right.\f$`first`,
|
Inserts the weighted points in the range `[first,last)`.
|
||||||
`last`\f$ \left.\right)\f$.
|
|
||||||
It returns the difference of the number of vertices between after and
|
It returns the difference of the number of vertices between after and
|
||||||
before the insertions (it may be negative due to hidden points).
|
before the insertions (it may be negative due to hidden points).
|
||||||
Note that this function is not guaranteed to insert the 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.
|
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 >
|
template < class InputIterator >
|
||||||
std::ptrdiff_t
|
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`,
|
Inserts the weighted points in the iterator range `[first,last)`.
|
||||||
`last`\f$ \left.\right)\f$.
|
|
||||||
It returns the difference of the number of vertices between after and
|
It returns the difference of the number of vertices between after and
|
||||||
before the insertions (it may be negative due to hidden points).
|
before the insertions (it may be negative due to hidden points).
|
||||||
Note that this function is not guaranteed to insert the weighted 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.
|
is used to improve efficiency.
|
||||||
Given a pair `(p,i)`, the vertex `v` storing `p` also stores `i`, that is
|
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,
|
`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.
|
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 >
|
template < class WeightedPointWithInfoInputIterator >
|
||||||
std::ptrdiff_t
|
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
|
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
|
a hole: a set of connected cells (resp. facets in dimension 2) which is
|
||||||
star-shaped wrt `p`.
|
star-shaped wrt `p`.
|
||||||
(`begin`, `i`) is a facet (resp. an edge) on the boundary of the hole,
|
(`begin`, `i`) is a facet (resp. an edge) on the boundary of the hole,
|
||||||
|
|
|
||||||
|
|
@ -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
|
`RegularTriangulationCellBase_3`. It is the default face base class
|
||||||
of regular triangulations.
|
of regular triangulations.
|
||||||
|
|
||||||
### Parameters ###
|
|
||||||
|
|
||||||
The template parameters `Traits` has to be a model
|
\tparam Traits must be a model of `RegularTriangulationTraits_3`.
|
||||||
of `RegularTriangulationTraits_3`.
|
|
||||||
|
|
||||||
The template parameter `Cb` has to be a model
|
\tparam Cb must be a model of `TriangulationCellBase_3`.
|
||||||
of `TriangulationCellBase_3`. By default, this parameter is
|
By default, this parameter is instantiated by `Triangulation_cell_base_3<Traits>`.
|
||||||
instantiated by
|
|
||||||
`CGAL::Triangulation_cell_base_3<Traits>`.
|
|
||||||
|
|
||||||
\cgalModels ::RegularTriangulationCellBase_3
|
\cgalModels ::RegularTriangulationCellBase_3
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,9 @@ class `Regular_triangulation_3<RegularTriangulationTraits_3,TriangulationDataStr
|
||||||
It provides `Weighted_point_3`, a class for weighted points, which derives
|
It provides `Weighted_point_3`, a class for weighted points, which derives
|
||||||
from the three dimensional point class `K::Point_3`.
|
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
|
\tparam Weight is optional. If is it not provided, `K::RT` will be used.
|
||||||
`Regular_triangulation_euclidean_traits_3<K,Weight>` is in fact
|
|
||||||
optional: if is it not provided, `K::RT` will be used.
|
|
||||||
|
|
||||||
The class is a model of the concept `RegularTriangulationTraits_3`
|
The class is a model of the concept `RegularTriangulationTraits_3`
|
||||||
but it also contains predicates and constructors on weighted points
|
but it also contains predicates and constructors on weighted points
|
||||||
|
|
@ -21,7 +19,7 @@ that are not required in the
|
||||||
concept `RegularTriangulationTraits_3`.
|
concept `RegularTriangulationTraits_3`.
|
||||||
|
|
||||||
Note that filtered predicates are automatically used if the
|
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`.
|
of that class is set to `true`.
|
||||||
|
|
||||||
\cgalModels ::RegularTriangulationTraits_3
|
\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
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,9 @@ namespace CGAL {
|
||||||
The class `Triangulation_3` represents a 3-dimensional tetrahedralization
|
The class `Triangulation_3` represents a 3-dimensional tetrahedralization
|
||||||
of points.
|
of points.
|
||||||
|
|
||||||
### Parameters ###
|
\tparam TriangulationTraits_3 is the geometric traits class.
|
||||||
|
|
||||||
The first template argument must be a model of the
|
\tparam TriangulationDataStructure_3 is the triangulation data structure.
|
||||||
`TriangulationTraits_3` concept.
|
|
||||||
|
|
||||||
The second template argument must be a model of the
|
|
||||||
`TriangulationDataStructure_3` concept.
|
|
||||||
It has the default value `Triangulation_data_structure_3< Triangulation_vertex_base_3<TriangulationTraits_3>,Triangulation_cell_base_3<TriangulationTraits_3> >`.
|
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 ###
|
### Traversal of the Triangulation ###
|
||||||
|
|
@ -832,11 +828,10 @@ Vertex_handle insert(const Point & p, Locate_type lt,
|
||||||
Cell_handle loc, int li, int lj);
|
Cell_handle loc, int li, int lj);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Inserts the points in the range \f$ \left[\right.\f$`first`,
|
Inserts the points in the range `[first,last)`. Returns the number of inserted points.
|
||||||
`last`\f$ \left.\right)\f$. Returns the number of inserted points.
|
|
||||||
Note that this function is not guaranteed to insert the points
|
Note that this function is not guaranteed to insert the points
|
||||||
following the order of `InputIterator`.
|
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 >
|
template < class InputIterator >
|
||||||
std::ptrdiff_t
|
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
|
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
|
a hole: a set of connected cells (resp. facets in dimension 2) which is
|
||||||
star-shaped wrt `p`.
|
star-shaped wrt `p`.
|
||||||
(`begin`, `i`) is a facet (resp. an edge) on the boundary of the hole,
|
(`begin`, `i`) is a facet (resp. an edge) on the boundary of the hole,
|
||||||
|
|
|
||||||
|
|
@ -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
|
with some additional attributes (a color for example) tuned for a specific
|
||||||
application.
|
application.
|
||||||
|
|
||||||
### Parameters ###
|
|
||||||
|
|
||||||
The first template argument is the geometric traits class
|
\tparam TriangulationTraits_3 is the geometric traits class. It is actually not used by this class.
|
||||||
`TriangulationTraits_3`. 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.
|
`Triangulation_cell_base_3` derives.
|
||||||
It has the default value `Triangulation_ds_cell_base_3<>`.
|
It has the default value `Triangulation_ds_cell_base_3<>`.
|
||||||
|
|
||||||
Note that this model does not store the circumcenter, but computes it
|
Note that this model does not store the circumcenter, but computes it
|
||||||
every time the circumcenter function is called. See
|
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.
|
circumcenter computation.
|
||||||
|
|
||||||
\cgalModels ::TriangulationCellBase_3
|
\cgalModels ::TriangulationCellBase_3
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,9 @@ Note that input/output operators discard this additional information.
|
||||||
All functions modifying the vertices of the cell, invalidate the cached
|
All functions modifying the vertices of the cell, invalidate the cached
|
||||||
circumcenter.
|
circumcenter.
|
||||||
|
|
||||||
### Parameters ###
|
\tparam DelaunayTriangulationTraits_3 is the geometric traits class.
|
||||||
|
|
||||||
The first template argument is the geometric traits class
|
\tparam TriangulationCellBase_3 is a cell base class from which
|
||||||
`DelaunayTriangulationTraits_3`.
|
|
||||||
|
|
||||||
The second template argument is a cell base class from which
|
|
||||||
`Triangulation_cell_base_with_circumcenter_3` derives.
|
`Triangulation_cell_base_with_circumcenter_3` derives.
|
||||||
It has the default value `Triangulation_cell_base_3<DelaunayTriangulationTraits_3>`.
|
It has the default value `Triangulation_cell_base_3<DelaunayTriangulationTraits_3>`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
It provides an easy way to add some user defined information in cells.
|
||||||
Note that input/output operators discard this additional information.
|
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`.
|
to a cell. It has to be `DefaultConstructible` and `Assignable`.
|
||||||
|
|
||||||
The second template argument is the geometric traits class
|
\tparam TriangulationTraits_3 is the geometric traits class.
|
||||||
`TriangulationTraits_3`. It is actually not used by this 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_with_info_3` derives. It has the default value
|
||||||
`Triangulation_cell_base_3<TriangulationTraits_3>`.
|
`Triangulation_cell_base_3<TriangulationTraits_3>`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
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.
|
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>
|
`Delaunay_triangulation_3` is supported for `Tr`.</I>
|
||||||
|
- `Tr::Vertex` has to be a model of the concept `TriangulationHierarchyVertexBase_3`.
|
||||||
`Tr::Vertex` has to be a model of the concept
|
- `Tr::Geom_traits` has to be a model of the concept `DelaunayTriangulationTraits_3`.
|
||||||
`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`.
|
`Triangulation_hierarchy_3` offers exactly the same functionalities as `Tr`.
|
||||||
Most of them (point location, insertion, removal \f$ \ldots\f$ ) are overloaded to
|
Most of them (point location, insertion, removal \f$ \ldots\f$ ) are overloaded to
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,8 @@ requirements in order to match the concept
|
||||||
provided by \cgal, or a user customized vertex base with additional
|
provided by \cgal, or a user customized vertex base with additional
|
||||||
functionalities.
|
functionalities.
|
||||||
|
|
||||||
### Parameters ###
|
\tparam TriangulationVertexBase_3 is is a combinatorial vertex base class from which
|
||||||
|
`Triangulation_hierarchy_vertex_base_3` derives.
|
||||||
It is parameterized by a model of the concept `TriangulationVertexBase_3`.
|
|
||||||
|
|
||||||
\cgalModels ::TriangulationHierarchyVertexBase_3
|
\cgalModels ::TriangulationHierarchyVertexBase_3
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
with some additional attributes (a color for example) tuned for a specific
|
||||||
application.
|
application.
|
||||||
|
|
||||||
### Parameters ###
|
|
||||||
|
|
||||||
The first template argument is the geometric traits class
|
\tparam TriangulationTraits_3 is the geometric traits class
|
||||||
`TriangulationTraits_3` which provides the point type, `Point_3`.
|
which provides the point type `Point_3`.
|
||||||
Users of the geometric triangulations (Section \ref TDS3secdesign and
|
Users of the geometric triangulations are strongly advised to use the same
|
||||||
Chapter \ref chapterTriangulation3) are strongly advised to use the same
|
|
||||||
geometric traits class `TriangulationTraits_3` as the one used for
|
geometric traits class `TriangulationTraits_3` as the one used for
|
||||||
`Triangulation_3`. This way, the point type defined by the base vertex is
|
`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 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.
|
`Triangulation_vertex_base_3` derives.
|
||||||
It has the default value `Triangulation_ds_vertex_base_3<>`.
|
It has the default value `Triangulation_ds_vertex_base_3<>`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
It provides an easy way to add some user defined information in vertices.
|
||||||
Note that input/output operators discard this additional information.
|
Note that input/output operators discard this additional information.
|
||||||
|
|
||||||
### Parameters ###
|
\tparam Info is the information the user would like to add
|
||||||
|
|
||||||
The first template argument is the information the user would like to add
|
|
||||||
to a vertex. It has to be `DefaultConstructible` and `Assignable`.
|
to a vertex. It has to be `DefaultConstructible` and `Assignable`.
|
||||||
|
|
||||||
The second template argument is the geometric traits class
|
\tparam TriangulationTraits_3 is the geometric traits class
|
||||||
`TriangulationTraits_3` which provides the `Point_3`.
|
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
|
`Triangulation_vertex_base_with_info_3` derives. It has the default
|
||||||
value `Triangulation_vertex_base_3<TriangulationTraits_3>`.
|
value `Triangulation_vertex_base_3<TriangulationTraits_3>`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,11 +96,11 @@ dimension 2, each cell has only one facet of index 3, and 3 edges
|
||||||
|
|
||||||
<b>Validity</b>
|
<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
|
<B>(a)-(b)</B> Its underlying combinatorial graph, the triangulation
|
||||||
data structure, is `locally valid`
|
data structure, is *locally valid*
|
||||||
(see Section \ref TDS3secintro of Chapter \ref chapterTDS3)
|
(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
|
<B>(c)</B> Any cell has its vertices ordered according to positive
|
||||||
orientation. See \cgalFigureRef{Triangulation3figorient}.
|
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
|
<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.
|
\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
|
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
|
ensure global validity \cite mnssssu-cgpvg-96, \cite dlpt-ccpps-98 but it is
|
||||||
sufficient for practical cases.
|
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 :
|
fact that these three triangulation classes take the following template parameters :
|
||||||
|
|
||||||
<UL>
|
<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
|
to use as well as the elementary operations on them (predicates and
|
||||||
constructions). The concepts for these parameters are described in more
|
constructions). The concepts for these parameters are described in more
|
||||||
details in Section \ref Triangulation3secTraits.
|
details in Section \ref Triangulation3secTraits.
|
||||||
<LI> the <B>triangulation data structure</B> class, which stores their
|
<LI> the *triangulation data structure* class, which stores their
|
||||||
combinatorial structure, described in Section \ref TDS3secdesign of
|
combinatorial structure, described in Section \ref TDS3secdesign "Software Design" of
|
||||||
Chapter \ref chapterTDS3.
|
Chapter \ref chapterTDS3 "3D Triangulation Data Structure".
|
||||||
<LI> the <B>location policy</B> tag, which is supported only by the Delaunay
|
<LI> the *location policy* tag, which is supported only by the Delaunay
|
||||||
triangulation class, described in Section \ref Triangulation3seclocpol.
|
triangulation class, described in Section \ref Triangulation3seclocpol.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
|
|
@ -399,7 +399,7 @@ My_vertex(const Point&p, Cell_handle c) : Vb(p, c) {}
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
The situation is exactly similar for cell base classes.
|
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
|
\section Triangulation3secexamples Examples
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue