From c0db92d0e906cc78495e70c75bfef06c4e063768 Mon Sep 17 00:00:00 2001 From: albert-github Date: Wed, 5 Jul 2023 12:13:40 +0200 Subject: [PATCH] issue #7395 Improvement of layout of model relations Consistent implementation for the `AABB_tree` in respect to `Has Model` and `Is Model Of` --- AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h | 2 +- AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h | 11 ++++++----- .../AABB_tree/Concepts/AABBPrimitiveWithSharedData.h | 7 ++++--- .../Concepts/AABBRayIntersectionGeomTraits.h | 2 +- .../AABB_tree/Concepts/AABBRayIntersectionTraits.h | 3 ++- AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h | 3 ++- .../include/CGAL/AABB_face_graph_triangle_primitive.h | 2 +- .../CGAL/AABB_halfedge_graph_segment_primitive.h | 4 ++-- .../include/CGAL/AABB_polyhedron_segment_primitive.h | 2 +- .../include/CGAL/AABB_polyhedron_triangle_primitive.h | 2 +- AABB_tree/include/CGAL/AABB_primitive.h | 4 ++-- AABB_tree/include/CGAL/AABB_segment_primitive.h | 2 +- AABB_tree/include/CGAL/AABB_traits.h | 5 ++--- AABB_tree/include/CGAL/AABB_triangle_primitive.h | 2 +- .../CGAL/AABB_triangulation_3_triangle_primitive.h | 2 +- Documentation/doc/resources/1.8.13/BaseDoxyfile.in | 10 ++++++++++ Documentation/doc/resources/1.9.6/BaseDoxyfile.in | 10 ++++++++++ 17 files changed, 48 insertions(+), 25 deletions(-) diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h index 2f1fdc3e5c6b..75823eb238ae 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h @@ -11,7 +11,7 @@ and the primitives stored in the AABB tree. \cgalRefines{SearchGeomTraits_3} -\cgalHasModel All models of the concept `Kernel` +\cgalHasModelsBare{All models of the concept `Kernel`} \sa `CGAL::AABB_traits` \sa `CGAL::AABB_tree` diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h index 11195b5808ec..4a987a58cbb2 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h @@ -12,11 +12,12 @@ The concept `AABBPrimitive` describes the requirements for the primitives stored The `Primitive` type can be, e.g., a wrapper around a `Handle`. Assume for instance that the input objects are the triangle faces of a mesh stored as a `CGAL::Polyhedron_3`. The `Datum` would be a `Triangle_3` and the `Id` would be a polyhedron `Face_handle`. Method `datum()` can return either a `Triangle_3` constructed on the fly from the face handle or a `Triangle_3` stored internally. This provides a way for the user to trade memory for efficiency. -\cgalHasModel `CGAL::AABB_primitive` -\cgalHasModel `CGAL::AABB_segment_primitive` -\cgalHasModel `CGAL::AABB_triangle_primitive` -\cgalHasModel `CGAL::AABB_halfedge_graph_segment_primitive` -\cgalHasModel `CGAL::AABB_face_graph_triangle_primitive` +\cgalHasModelsBegin CGAL::AABB_primitive +\cgalHasModels CGAL::AABB_segment_primitive +\cgalHasModels CGAL::AABB_triangle_primitive +\cgalHasModels CGAL::AABB_halfedge_graph_segment_primitive +\cgalHasModels CGAL::AABB_face_graph_triangle_primitive +\cgalHasModelsEnd */ class AABBPrimitive { diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h index 3c47d53d5529..8ec9a103acdc 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h @@ -21,9 +21,10 @@ The `Datum` would be a `Triangle_3` and the `Id` a `std::size_t`. The shared dat `std::vector`. The method `datum(const Shared_data&)` then returns a triangle from the vector. -\cgalHasModel `CGAL::AABB_primitive` -\cgalHasModel `CGAL::AABB_halfedge_graph_segment_primitive` -\cgalHasModel `CGAL::AABB_face_graph_triangle_primitive` +\cgalHasModelsBegin CGAL::AABB_primitive +\cgalHasModels CGAL::AABB_halfedge_graph_segment_primitive +\cgalHasModels CGAL::AABB_face_graph_triangle_primitive +\cgalHasModelsEnd */ class AABBPrimitiveWithSharedData { diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h index a90c498a7ec3..f47f1e9464bc 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h @@ -9,7 +9,7 @@ define the Intersection_distance functor. \cgalRefines{AABBGeomTraits} -\cgalHasModel All models of the concept `Kernel` +\cgalHasModelsBare{All models of the concept `Kernel`} \sa `CGAL::AABB_traits` \sa `CGAL::AABB_tree` diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h index 215cbd659249..87d139973b5c 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h @@ -7,7 +7,8 @@ The concept `AABBRayIntersectionTraits` is a refinement of the concept `AABBTraits` it also requires function objects to calculate the distance of an intersection along a ray. -\cgalHasModel `CGAL::AABB_traits` +\cgalHasModelsBegin CGAL::AABB_traits +\cgalHasModelsEnd \sa `CGAL::AABB_tree` \sa `AABBPrimitive` diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h index c7f0e806faf6..f5e5846322e3 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h @@ -5,7 +5,8 @@ The concept `AABBTraits` provides the geometric primitive types and methods for the class `CGAL::AABB_tree`. -\cgalHasModel `CGAL::AABB_traits` +\cgalHasModelsBegin CGAL::AABB_traits +\cgalHasModelsEnd \cgalRefines{SearchGeomTraits_3} diff --git a/AABB_tree/include/CGAL/AABB_face_graph_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_face_graph_triangle_primitive.h index 6d12a85adefa..5422c84b2ae6 100644 --- a/AABB_tree/include/CGAL/AABB_face_graph_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_face_graph_triangle_primitive.h @@ -33,7 +33,7 @@ namespace CGAL { * while the AABB tree holding the primitive is in use. * The triangle type of the primitive (`Datum`) is `CGAL::Kernel_traits< boost::property_traits< VertexPointPMap >::%value_type >::%Kernel::Triangle_3`. * - * \cgalModels `AABBPrimitiveWithSharedData` + * \cgalModels{AABBPrimitiveWithSharedData} * *\tparam FaceGraph is a model of the face graph concept. *\tparam VertexPointPMap is a property map with `boost::graph_traits::%vertex_descriptor` diff --git a/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h b/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h index fe85c35d3662..0ac0476616eb 100644 --- a/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h +++ b/AABB_tree/include/CGAL/AABB_halfedge_graph_segment_primitive.h @@ -41,8 +41,8 @@ namespace CGAL { * of `VertexPointPMap` (using the `Kernel_traits` mechanism). * The segment type of the primitive (`Datum`) is `CGAL::Kernel_traits< boost::property_traits< VertexPointPMap >::%value_type >::%Kernel::Segment_3`. * - * \cgalModels `AABBPrimitive` if `OneHalfedgeGraphPerTree` is `CGAL::Tag_false`, - * and `AABBPrimitiveWithSharedData` if `OneHalfedgeGraphPerTree` is `CGAL::Tag_true`. + * \cgalModelsBare{AABBPrimitive if `OneHalfedgeGraphPerTree` is `CGAL::Tag_false`, + * AABBPrimitiveWithSharedData if `OneHalfedgeGraphPerTree` is `CGAL::Tag_true`} * * \tparam HalfedgeGraph is a model of the halfedge graph concept. * as key type and a \cgal Kernel `Point_3` as value type. diff --git a/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h b/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h index 2ace80acf226..7b8b72697f9a 100644 --- a/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h +++ b/AABB_tree/include/CGAL/AABB_polyhedron_segment_primitive.h @@ -42,7 +42,7 @@ namespace CGAL { /// AABB tree is built should not be deleted while the AABB tree /// is in use. /// - /// \cgalModels `AABBPrimitive` + /// \cgalModels{AABBPrimitive} /// \tparam GeomTraits must provide a \c %Point_3 /// type, used as \c Point, and a \c %Segment_3 type, used as \c /// Datum and constructible from two arguments of type \c diff --git a/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h index b45ae54039cb..647ae48b4156 100644 --- a/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_polyhedron_triangle_primitive.h @@ -35,7 +35,7 @@ namespace CGAL { /// the polyhedron from which the AABB tree is built should not be /// deleted while the AABB tree is in use. /// - /// \cgalModels `AABBPrimitive` + /// \cgalModels{AABBPrimitive} /// \tparam GeomTraits must provides a \c %Point_3 /// type, used as \c Point, and a \c %Triangle_3 type, used as \c /// Datum and constructible from three arguments of type \c diff --git a/AABB_tree/include/CGAL/AABB_primitive.h b/AABB_tree/include/CGAL/AABB_primitive.h index b0e9abdaf387..d602a349ee0e 100644 --- a/AABB_tree/include/CGAL/AABB_primitive.h +++ b/AABB_tree/include/CGAL/AABB_primitive.h @@ -53,8 +53,8 @@ struct AABB_primitive_base * The two property maps which are template parameters of the class enable to get the datum and the reference point of * the primitive from the identifier. The last template parameter controls whether the primitive class holds a copy of the datum. * - * \cgalModels `AABBPrimitive` if `ExternalPropertyMaps` is `CGAL::Tag_false`. - * \cgalModels `AABBPrimitiveWithSharedData` if `ExternalPropertyMaps` is `CGAL::Tag_true`. + * \cgalModelsBare{AABBPrimitive if `ExternalPropertyMaps` is `CGAL::Tag_false`, + * AABBPrimitiveWithSharedData if `ExternalPropertyMaps` is `CGAL::Tag_true`} * * \tparam ObjectPropertyMap is a model of `ReadablePropertyMap` with `Id` as * `key_type`. It must be a model of `CopyConstructible`, `DefaultConstructible`, and `CopyAssignable`. diff --git a/AABB_tree/include/CGAL/AABB_segment_primitive.h b/AABB_tree/include/CGAL/AABB_segment_primitive.h index a4627c8592ea..f13523ba40ca 100644 --- a/AABB_tree/include/CGAL/AABB_segment_primitive.h +++ b/AABB_tree/include/CGAL/AABB_segment_primitive.h @@ -54,7 +54,7 @@ namespace internal { * The iterator from which the primitive is built should not be invalided * while the AABB tree holding the primitive is in use. * - * \cgalModels `AABBPrimitive` + * \cgalModels{AABBPrimitive} * * \tparam GeomTraits is a traits class providing the nested type `Point_3` and `Segment_3`. * It also provides the functor `Construct_source_3` that has an operator taking a `Segment_3` diff --git a/AABB_tree/include/CGAL/AABB_traits.h b/AABB_tree/include/CGAL/AABB_traits.h index b2eb87dc8f6a..f44739077303 100644 --- a/AABB_tree/include/CGAL/AABB_traits.h +++ b/AABB_tree/include/CGAL/AABB_traits.h @@ -149,9 +149,8 @@ class AABB_tree; /// computations, and it handles points as query type for distance /// queries. /// -/// \cgalModels AABBTraits -/// \cgalModels AABBRayIntersectionTraits - +/// \cgalModels{AABBTraits,AABBRayIntersectionTraits} +/// /// \tparam GeomTraits must be a model of the concept \ref AABBGeomTraits, /// and provide the geometric types as well as the intersection tests and computations. /// \tparam Primitive provide the type of primitives stored in the AABB_tree. diff --git a/AABB_tree/include/CGAL/AABB_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_triangle_primitive.h index b1b1bd1fe797..1fc1b140c582 100644 --- a/AABB_tree/include/CGAL/AABB_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_triangle_primitive.h @@ -55,7 +55,7 @@ namespace internal { * The iterator from which the primitive is built should not be invalided * while the AABB tree holding the primitive is in use. * - * \cgalModels `AABBPrimitive` + * \cgalModels{AABBPrimitive} * * \tparam GeomTraits is a traits class providing the nested type `Point_3` and `Triangle_3`. * It also provides the functor `Construct_vertex_3` that has an operator taking a `Triangle_3` diff --git a/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h b/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h index e573dc71f49b..f45a005b99e7 100644 --- a/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h +++ b/AABB_tree/include/CGAL/AABB_triangulation_3_triangle_primitive.h @@ -28,7 +28,7 @@ namespace CGAL { // the TriangleMesh from which the AABB tree is built should not be // deleted while the AABB tree is in use. // - // \cgalModels `AABBPrimitive` + // \cgalModels{AABBPrimitive} // \tparam GeomTraits must provides a \c %Point_3 // type, used as \c Point, and a \c %Triangle_3 type, used as \c // Datum and constructible from three arguments of type \c diff --git a/Documentation/doc/resources/1.8.13/BaseDoxyfile.in b/Documentation/doc/resources/1.8.13/BaseDoxyfile.in index ae2cc84f6c17..7486ae587d78 100644 --- a/Documentation/doc/resources/1.8.13/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.8.13/BaseDoxyfile.in @@ -136,8 +136,18 @@ ALIASES = "cgal=%CGAL" \ "cgalRefinesBare{1}=
@cgalRefines
\1
" \ "cgalRefinesBare{2}=
@cgalRefines
@c \1
\2
" \ "cgalModels=\xrefitem models \"Is Model Of\" \"Is Model Relationships\"" \ + "cgalModelsHeader=Is Model Of" \ + "cgalModels{1}=
@cgalModelsHeader
@c \1
" \ + "cgalModels{2}=
@cgalModelsHeader
@c \1
@c \2
" \ + "cgalModelsBare{1}=
@cgalModelsHeader
\1
" \ + "cgalModelsBare{2}=
@cgalModelsHeader
@c \1
\2
" \ "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" \ "cgalHasModel=\xrefitem hasModels \"Has Models\" \"Has Model Relationships\"" \ + "cgalHasModelsHeader=Has Models" \ + "cgalHasModelsBegin=
@cgalHasModelsHeader
`" \ + "cgalHasModels=`
`" \ + "cgalHasModelsEnd=`
" \ + "cgalHasModelsBare{1}=
@cgalHasModels
\1
" \ "cgalDebugBegin=\htmlonly
Debugging Support
\endhtmlonly \n" \ "cgalDebugEnd=\htmlonly
\endhtmlonly" \ "cgalDebugFunction=This is a function for debugging purpose." \ diff --git a/Documentation/doc/resources/1.9.6/BaseDoxyfile.in b/Documentation/doc/resources/1.9.6/BaseDoxyfile.in index 1cfd0a6ffd9f..3813f3748daf 100644 --- a/Documentation/doc/resources/1.9.6/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.9.6/BaseDoxyfile.in @@ -145,8 +145,18 @@ ALIASES = "cgal=%CGAL" \ "cgalRefinesBare{1}=
@cgalRefines
\1
" \ "cgalRefinesBare{2}=
@cgalRefines
@c \1
\2
" \ "cgalModels=\xrefitem models \"Is Model Of\" \"Is Model Relationships\"" \ + "cgalModelsHeader=Is Model Of" \ + "cgalModels{1}=
@cgalModelsHeader
@c \1
" \ + "cgalModels{2}=
@cgalModelsHeader
@c \1
@c \2
" \ + "cgalModelsBare{1}=
@cgalModelsHeader
\1
" \ + "cgalModelsBare{2}=
@cgalModelsHeader
@c \1
\2
" \ "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" \ "cgalHasModel=\xrefitem hasModels \"Has Models\" \"Has Model Relationships\"" \ + "cgalHasModelsHeader=Has Models" \ + "cgalHasModelsBegin=
@cgalHasModelsHeader
`" \ + "cgalHasModels=`
`" \ + "cgalHasModelsEnd=`
" \ + "cgalHasModelsBare{1}=
@cgalHasModelsHeader
\1
" \ "cgalDebugBegin=\htmlonly[block]
Debugging Support
\endhtmlonly ^^" \ "cgalDebugEnd=\htmlonly[block]
\endhtmlonly" \ "cgalDebugFunction=This is a function for debugging purpose." \