From f9e528555db9c1c7483318b371505b465912f99b Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Wed, 13 Mar 2024 14:26:37 +0100 Subject: [PATCH] Add AABBRayIntersectionGeomTraits_2.h and fix \sa --- .../AABBRayIntersectionGeomTraits_2.h | 66 +++++++++++++++++++ .../AABB_indexed_triangle_2_example.cpp | 2 - AABB_tree/include/CGAL/AABB_traits_2.h | 2 +- AABB_tree/include/CGAL/AABB_traits_3.h | 3 +- 4 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h new file mode 100644 index 00000000000..8e286e9699b --- /dev/null +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits_2.h @@ -0,0 +1,66 @@ +/*! +\ingroup PkgAABBTreeConcepts +\cgalConcept + +The concept `AABBRayIntersectionGeomTraits_3` is a refinement of the +concept `AABBGeomTraits`. In addition to the types required by +`AABBGeomTraits` it also requires types and functors necessary to +define the Intersection_distance functor. + +\cgalRefines{AABBGeomTraits} + +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the concept `Kernel`} +\cgalHasModelsEnd + +\sa `CGAL::AABB_traits` +\sa `CGAL::AABB_tree` +\sa `AABBPrimitive` + +*/ +class AABBRayIntersectionGeomTraits_3 { +public: + /*! + Type of a 3D ray. + */ + typedef unspecified_type Ray_3; + + /*! + Type of a 3D vector. + */ + typedef unspecified_type Vector_3; + + /*! + A functor object to construct the source point of a ray. Provides the operator: + `Point_3 operator()(const Ray_3&);` + */ + typedef unspecified_type Construct_source_3; + + /*! + */ + Construct_source_3 construct_source_3_object(); + + /*! + A model of `CartesianConstIterator3`. + */ + typedef unspecified_type Cartesian_const_iterator_3; + + /*! + A model of `ConstructCartesianConstIterator3`. + */ + typedef unspecified_type Construct_cartesian_const_iterator_3; + + /*! + */ + Construct_source_3 construct_cartesian_const_iterator_3_object(); + + /*! + A functor object to construct a vector giving the direction of a ray. Provides the operator: + `Vector_3 operator()(const Ray_3&);` + */ + typedef unspecified_type Construct_vector_3; + + /*! + */ + Construct_source_3 construct_vector_3_object(); +}; diff --git a/AABB_tree/examples/AABB_tree/AABB_indexed_triangle_2_example.cpp b/AABB_tree/examples/AABB_tree/AABB_indexed_triangle_2_example.cpp index 98696e9e418..dec085855c9 100644 --- a/AABB_tree/examples/AABB_tree/AABB_indexed_triangle_2_example.cpp +++ b/AABB_tree/examples/AABB_tree/AABB_indexed_triangle_2_example.cpp @@ -1,5 +1,3 @@ -// Author(s) : Camille Wormser, Pierre Alliez - #include #include #include diff --git a/AABB_tree/include/CGAL/AABB_traits_2.h b/AABB_tree/include/CGAL/AABB_traits_2.h index f053513dab5..21009163d9d 100644 --- a/AABB_tree/include/CGAL/AABB_traits_2.h +++ b/AABB_tree/include/CGAL/AABB_traits_2.h @@ -141,7 +141,7 @@ class AABB_tree; /// member function `bbox()` that returns the bounding box of the primitive. /// /// If the argument `GeomTraits` is a model of the concept \ref -/// AABBRayIntersectionGeomTraits, this class is also a model of \ref +/// AABBRayIntersectionGeomTraits_2, this class is also a model of \ref /// AABBRayIntersectionTraits. /// /// \sa `AABBTraits` diff --git a/AABB_tree/include/CGAL/AABB_traits_3.h b/AABB_tree/include/CGAL/AABB_traits_3.h index 2bc1ec3b945..5614b484ad4 100644 --- a/AABB_tree/include/CGAL/AABB_traits_3.h +++ b/AABB_tree/include/CGAL/AABB_traits_3.h @@ -215,7 +215,8 @@ public: /// Point query type. typedef typename GeomTraits::Point_3 Point_3; - typedef Point_3 Point; // AF: because the AABB_tree dimension agnostic + /// Poin type + typedef Point_3 Point; // because the AABB_tree is dimension agnostic /// additional types for the search tree, required by the RangeSearchTraits concept /// \bug This is not documented for now in the AABBTraits concept.