Merge pull request #3743 from afabri/SearchStructures-fix_code_doc-GF

Range and Segment Trees: Sync code and doc
This commit is contained in:
Maxime Gimeno 2019-03-12 17:04:23 +01:00
commit eaace93cf3
12 changed files with 75 additions and 55 deletions

View File

@ -4,13 +4,15 @@ namespace CGAL {
/*!
\ingroup PkgSearchStructuresTraitsClasses
The class `Range_segment_tree_traits_set_2` is a range and segment tree traits class for the
The class `Range_segment_tree_set_traits_2` is a range and segment tree traits class for the
2-dimensional point class from the \cgal kernel. The class is
parameterized with a representation class `R`.
\cgalModels `RangeSegmentTreeTraits_k`
*/
template< typename R >
class Range_segment_tree_traits_set_2 {
class Range_segment_tree_set_traits_2 {
public:
/// \name Types
@ -19,16 +21,16 @@ public:
/*!
*/
Point_2<R> Key;
typedef R::Point_2 Key;
/*!
*/
std::pair<Key, Key> Interval;
typedef std::pair<Key, Key> Interval;
/// @}
}; /* end Range_segment_tree_traits_set_2 */
}; /* end Range_segment_tree_set_traits_2 */
} /* end namespace CGAL */
namespace CGAL {
@ -36,13 +38,15 @@ namespace CGAL {
/*!
\ingroup PkgSearchStructuresTraitsClasses
The class `Range_segment_tree_traits_set_3` is a range and segment tree traits class for the 3-dimensional
The class `Range_segment_tree_set_traits_3` is a range and segment tree traits class for the 3-dimensional
point class from the \cgal kernel.
The class is parameterized with a representation class `R`.
\cgalModels `RangeSegmentTreeTraits_k`
*/
template< typename R >
class Range_segment_tree_traits_set_3 {
class Range_segment_tree_set_traits_3 {
public:
/// \name Types
@ -51,16 +55,16 @@ public:
/*!
*/
Point_3<R> Key;
typedef R::Point_3 Key;
/*!
*/
std::pair<Key, Key> Interval;
typedef std::pair<Key, Key> Interval;
/// @}
}; /* end Range_segment_tree_traits_set_3 */
}; /* end Range_segment_tree_set_traits_3 */
} /* end namespace CGAL */
namespace CGAL {
@ -68,15 +72,17 @@ namespace CGAL {
/*!
\ingroup PkgSearchStructuresTraitsClasses
The class `Range_tree_traits_map_2` is a range tree traits class for the
The class `Range_tree_map_traits_2` is a range tree traits class for the
2-dimensional point class from the \cgal kernel, where data of
type `T` is associated to each key. The class is
parameterized with a representation class `R` and the type of
the associated data `T`.
\cgalModels `RangeSegmentTreeTraits_k`
*/
template< typename R, typename T >
class Range_tree_traits_map_2 {
class Range_tree_map_traits_2 {
public:
/// \name Types
@ -85,16 +91,16 @@ public:
/*!
*/
std::pair<R::Point_2,T> Key;
typedef std::pair<R::Point_2,T> Key;
/*!
*/
std::pair<R::Point_2, R::Point_2 > Interval;
typedef std::pair<R::Point_2, R::Point_2 > Interval;
/// @}
}; /* end Range_tree_traits_map_2 */
}; /* end Range_tree_map_traits_2 */
} /* end namespace CGAL */
namespace CGAL {
@ -102,15 +108,17 @@ namespace CGAL {
/*!
\ingroup PkgSearchStructuresTraitsClasses
The class `Range_tree_traits_map_3` is a range and segment tree traits class for the 3-dimensional
The class `Range_tree_map_traits_3` is a range and segment tree traits class for the 3-dimensional
point class from the \cgal kernel, where data of
type `T` is associated to each key.
The class is parameterized with a representation class `R` and the type of
the associated data `T`.
\cgalModels `RangeSegmentTreeTraits_k`
*/
template< typename R, typename T >
class Range_tree_traits_map_3 {
class Range_tree_map_traits_3 {
public:
/// \name Types
@ -119,16 +127,16 @@ public:
/*!
*/
std::pair<R::Point_3,T> Key;
typedef std::pair<R::Point_3,T> Key;
/*!
*/
std::pair<R::Point_3, R::Point_3> Interval;
typedef std::pair<R::Point_3, R::Point_3> Interval;
/// @}
}; /* end Range_tree_traits_map_3 */
}; /* end Range_tree_map_traits_3 */
} /* end namespace CGAL */
namespace CGAL {
@ -136,15 +144,17 @@ namespace CGAL {
/*!
\ingroup PkgSearchStructuresTraitsClasses
The class `Segment_tree_traits_map_2` is a segment tree traits class for the
The class `Segment_tree_map_traits_2` is a segment tree traits class for the
2-dimensional point class from the \cgal kernel, where data of
type `T` is associated to each interval. The class is
parameterized with a representation class `R` and the type of
the associated data `T`.
\cgalModels `RangeSegmentTreeTraits_k`
*/
template< typename R, typename T >
class Segment_tree_traits_map_2 {
class Segment_tree_map_traits_2 {
public:
/// \name Types
@ -153,16 +163,16 @@ public:
/*!
*/
R::Point_2 Key;
typedef R::Point_2 Key;
/*!
*/
std::pair<std::pair<Key,Key>,T> Interval;
typedef std::pair<std::pair<Key,Key>,T> Interval;
/// @}
}; /* end Segment_tree_traits_map_2 */
}; /* end Segment_tree_map_traits_2 */
} /* end namespace CGAL */
namespace CGAL {
@ -170,15 +180,17 @@ namespace CGAL {
/*!
\ingroup PkgSearchStructuresTraitsClasses
The class `Segment_tree_traits_map_3` is a segment tree traits class for the 3-dimensional
The class `Segment_tree_map_traits_3` is a segment tree traits class for the 3-dimensional
point class from the \cgal kernel, where data of
type `T` is associated to each interval.
The class is parameterized with a representation class `R` and the type of
the associated data `T`.
\cgalModels `RangeSegmentTreeTraits_k`
*/
template< typename R, typename T >
class Segment_tree_traits_map_3 {
class Segment_tree_map_traits_3 {
public:
/// \name Types
@ -187,14 +199,14 @@ public:
/*!
*/
std::pair<R::Point_3 > Key;
typedef std::pair<R::Point_3 > Key;
/*!
*/
std::pair<std::pair<Key, Key>,T> Interval;
typedef std::pair<std::pair<Key, Key>,T> Interval;
/// @}
}; /* end Segment_tree_traits_map_3 */
}; /* end Segment_tree_map_traits_3 */
} /* end namespace CGAL */

View File

@ -8,6 +8,14 @@ type information of the keys and intervals. Further more, they define function o
the keys and intervals, and provide comparison functions that
are needed for window queries.
\cgalHasModel `CGAL::Range_segment_tree_set_traits_2`
\cgalHasModel `CGAL::Range_segment_tree_set_traits_3`
\cgalHasModel `CGAL::Range_tree_map_traits_2`
\cgalHasModel `CGAL::Range_tree_map_traits_3`
\cgalHasModel `CGAL::Segment_tree_map_traits_2`
\cgalHasModel `CGAL::Segment_tree_map_traits_3`
\cgalHeading{Example}
The following piece of code gives an example of how a traits class
@ -122,7 +130,7 @@ typedef unspecified_type high_i;
/*!
function object providing an
`operator()` that takes two arguments argument \f$ a\f$, \f$ b\f$ of type `Key_i` and returns
true if \f$ a<b\f$, false otherwise.
`true` if \f$ a<b\f$, `false` otherwise.
*/
typedef unspecified_type compare_i;

View File

@ -42,12 +42,12 @@ and segment trees in the same data structure.
\cgalCRPSection{Traits Classes}
- `CGAL::Range_segment_tree_traits_set_2<R>`
- `CGAL::Range_segment_tree_traits_set_3<R>`
- `CGAL::Range_tree_traits_map_2<R,T>`
- `CGAL::Range_tree_traits_map_3<R,T>`
- `CGAL::Segment_tree_traits_map_2<R,T>`
- `CGAL::Segment_tree_traits_map_3<R,T>`
- `CGAL::Range_segment_tree_set_traits_2<R>`
- `CGAL::Range_segment_tree_set_traits_3<R>`
- `CGAL::Range_tree_map_traits_2<R,T>`
- `CGAL::Range_tree_map_traits_3<R,T>`
- `CGAL::Segment_tree_map_traits_2<R,T>`
- `CGAL::Segment_tree_map_traits_3<R,T>`
- `CGAL::tree_interval_traits`
- `CGAL::tree_point_traits`

View File

@ -11,8 +11,8 @@ in the cell an operator that computes its circumcenter.
\cgalRefines `TriangulationCellBase_3`
\cgalHasModel CGAL::Delaunay_triangulation_cell_base_3
\cgalHasModel CGAL::Delaunay_triangulation_cell_base_with_circumcenter_3
\cgalHasModel `CGAL::Delaunay_triangulation_cell_base_3`
\cgalHasModel `CGAL::Delaunay_triangulation_cell_base_with_circumcenter_3`
\sa `DelaunayTriangulationTraits_3`
@ -26,7 +26,7 @@ public:
typedef DelaunayTriangulationTraits_3::Point_3 Point;
/// @}
/// \name Access functions
/// \name Access Functions
/// @{
/*!
Returns the circumcenter of the cell.

View File

@ -12,11 +12,11 @@ predicates and constructions on these objects.
\cgalHasModel `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended)
\cgalHasModel `CGAL::Exact_predicates_exact_constructions_kernel` (recommended for Voronoi)
\cgalHasModel CGAL::Filtered_kernel
\cgalHasModel CGAL::Cartesian
\cgalHasModel CGAL::Simple_cartesian
\cgalHasModel CGAL::Homogeneous
\cgalHasModel CGAL::Simple_homogeneous
\cgalHasModel `CGAL::Filtered_kernel`
\cgalHasModel `CGAL::Cartesian`
\cgalHasModel `CGAL::Simple_cartesian`
\cgalHasModel `CGAL::Homogeneous`
\cgalHasModel `CGAL::Simple_homogeneous`
In addition to the requirements described for the traits class of
`CGAL::Triangulation_3`, the geometric traits class of a

View File

@ -19,7 +19,7 @@ circumcenter by calling `invalidate_weighted_circumcenter_cache()`.
\cgalRefines `RegularTriangulationCellBase_3`
\cgalHasModel CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3
\cgalHasModel `CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3`
\sa `RegularTriangulationTraits_3`

View File

@ -35,7 +35,7 @@ and an operator to compute its weighted circumcenter.
\cgalRefines `TriangulationCellBase_3`
\cgalHasModel CGAL::Regular_triangulation_cell_base_3
\cgalHasModel `CGAL::Regular_triangulation_cell_base_3`
\sa `RegularTriangulationTraits_3`

View File

@ -9,7 +9,7 @@ by adding a geometric point member.
\cgalRefines `TriangulationDSVertexBase_3`
\cgalHasModel CGAL::Regular_triangulation_vertex_base_3
\cgalHasModel `CGAL::Regular_triangulation_vertex_base_3`
\sa `RegularTriangulationCellBase_3`

View File

@ -8,7 +8,7 @@ and provides an additional information storage.
\cgalRefines `TriangulationCellBase_3`
\cgalHasModel CGAL::Triangulation_cell_base_with_info_3
\cgalHasModel `CGAL::Triangulation_cell_base_with_info_3`
*/

View File

@ -10,8 +10,8 @@ structure apply.
\cgalRefines `TriangulationDSCellBase_3`
\cgalHasModel CGAL::Triangulation_cell_base_3
\cgalHasModel CGAL::Triangulation_cell_base_with_info_3
\cgalHasModel `CGAL::Triangulation_cell_base_3`
\cgalHasModel `CGAL::Triangulation_cell_base_with_info_3`
\sa `TriangulationVertexBase_3`

View File

@ -8,7 +8,7 @@ and provides an additional information storage.
\cgalRefines `TriangulationVertexBase_3`
\cgalHasModel CGAL::Triangulation_vertex_base_with_info_3
\cgalHasModel `CGAL::Triangulation_vertex_base_with_info_3`
*/

View File

@ -9,8 +9,8 @@ for the triangulation data structure.
\cgalRefines `TriangulationDSVertexBase_3`
\cgalHasModel CGAL::Triangulation_vertex_base_3
\cgalHasModel CGAL::Triangulation_vertex_base_with_info_3
\cgalHasModel `CGAL::Triangulation_vertex_base_3`
\cgalHasModel `CGAL::Triangulation_vertex_base_with_info_3`
\sa `TriangulationCellBase_3`