diff --git a/.github/workflows/build_doc.yml b/.github/workflows/build_doc.yml index 85158cfc285..b629c1870cf 100644 --- a/.github/workflows/build_doc.yml +++ b/.github/workflows/build_doc.yml @@ -60,7 +60,7 @@ jobs: content: 'rocket' }) - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 name: "checkout branch" if: steps.get_round.outputs.result != 'stop' with: diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 0af6e276e6e..78d96aa94db 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: | .github/install.sh diff --git a/.github/workflows/cmake-all.yml b/.github/workflows/cmake-all.yml index d0507b4d430..b9e7226c62d 100644 --- a/.github/workflows/cmake-all.yml +++ b/.github/workflows/cmake-all.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: sudo apt-get install -y libboost-dev libboost-program-options-dev libmpfr-dev libeigen3-dev - name: configure all @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: sudo bash -e .github/install.sh - name: configure all diff --git a/.github/workflows/delete_doc.yml b/.github/workflows/delete_doc.yml index 38f5ab445ac..0910e74ef3b 100644 --- a/.github/workflows/delete_doc.yml +++ b/.github/workflows/delete_doc.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: delete directory run: | set -x diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index 123458ebe04..a98dfba56b8 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -9,7 +9,7 @@ jobs: batch_1: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: .github/install.sh - name: run1 @@ -17,7 +17,7 @@ jobs: batch_2: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: .github/install.sh - name: run2 @@ -25,7 +25,7 @@ jobs: batch_3: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: .github/install.sh - name: run3 @@ -33,7 +33,7 @@ jobs: batch_4: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: install dependencies run: .github/install.sh - name: run4 diff --git a/.github/workflows/list_workflow_last_run.yml b/.github/workflows/list_workflow_last_run.yml index 79b1d2c0634..d12b758e62b 100644 --- a/.github/workflows/list_workflow_last_run.yml +++ b/.github/workflows/list_workflow_last_run.yml @@ -12,7 +12,7 @@ messages: ${{ steps.cat_output.outputs.message }} steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: run script run: | chmod +x ./Scripts/developer_scripts/list_cgal_workflows_last_run.sh diff --git a/.github/workflows/reuse.yml b/.github/workflows/reuse.yml index 8b0bba4260e..c55ba6df40d 100644 --- a/.github/workflows/reuse.yml +++ b/.github/workflows/reuse.yml @@ -10,7 +10,7 @@ jobs: reuse: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: REUSE version uses: fsfe/reuse-action@v2 with: diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h index 5c7a45edb67..ca49f3ab247 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBGeomTraits.h @@ -11,7 +11,9 @@ and the primitives stored in the AABB tree. \cgalRefines{SearchGeomTraits_3} -\cgalHasModel All models of the concept `Kernel` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the concept `Kernel`} +\cgalHasModelsEnd \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 11195b5808e..3abb0cf153b 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitive.h @@ -12,11 +12,13 @@ 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 +\cgalHasModels{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 3c47d53d552..416cc785468 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBPrimitiveWithSharedData.h @@ -21,9 +21,11 @@ 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 +\cgalHasModels{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 a90c498a7ec..c34d88be491 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionGeomTraits.h @@ -9,7 +9,9 @@ define the Intersection_distance functor. \cgalRefines{AABBGeomTraits} -\cgalHasModel All models of the concept `Kernel` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the concept `Kernel`} +\cgalHasModelsEnd \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 3b186c9ff22..7b8b6dd4ec4 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h @@ -7,7 +7,9 @@ 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 +\cgalHasModels{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 c6f74462f55..3c101a2211b 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h @@ -5,7 +5,9 @@ The concept `AABBTraits` provides the geometric primitive types and methods for the class `CGAL::AABB_tree`. -\cgalHasModel `CGAL::AABB_traits` +\cgalHasModelsBegin +\cgalHasModels{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 6d12a85adef..5422c84b2ae 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 62484d59653..13568227319 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,10 @@ 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`. + * \cgalModelsBareBegin + * \cgalModelsBare{`AABBPrimitive` if `OneHalfedgeGraphPerTree` is `CGAL::Tag_false`} + * \cgalModelsBare{`AABBPrimitiveWithSharedData` if `OneHalfedgeGraphPerTree` is `CGAL::Tag_true`} + * \cgalModelsBareEnd * * \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 2ace80acf22..7b8b72697f9 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 b45ae54039c..647ae48b415 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 b0e9abdaf38..4c58b83f4db 100644 --- a/AABB_tree/include/CGAL/AABB_primitive.h +++ b/AABB_tree/include/CGAL/AABB_primitive.h @@ -53,8 +53,10 @@ public: * 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`. + * \cgalModelsBareBegin + * \cgalModelsBare{`AABBPrimitive` if `ExternalPropertyMaps` is `CGAL::Tag_false`} + * \cgalModelsBare{`AABBPrimitiveWithSharedData` if `ExternalPropertyMaps` is `CGAL::Tag_true`} + * \cgalModelsBareEnd * * \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 a4627c8592e..f13523ba40c 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 f5c1c1240a1..f7d52f9968c 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 b1b1bd1fe79..1fc1b140c58 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 e573dc71f49..f45a005b99e 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/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h b/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h index c68ff917daa..e31759b1f3d 100644 --- a/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h +++ b/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/Concepts/AdvancingFrontSurfaceReconstructionTraits_3.h @@ -11,7 +11,9 @@ together with a few geometric predicates and constructions on these objects. \cgalRefines{DelaunayTriangulationTraits_3} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the concept `Kernel`} +\cgalHasModelsEnd */ class AdvancingFrontSurfaceReconstructionTraits_3 { diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Algebraic_foundations.txt b/Algebraic_foundations/doc/Algebraic_foundations/Algebraic_foundations.txt index 890716d2c09..80a69b1719a 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Algebraic_foundations.txt +++ b/Algebraic_foundations/doc/Algebraic_foundations/Algebraic_foundations.txt @@ -169,8 +169,8 @@ Every \cgal `Kernel` comes with two real number types (number types embeddable into the real numbers). One of them is a `FieldNumberType`, and the other a `RingNumberType`. The coordinates of the basic kernel objects (points, vectors, etc.) come -from one of these types (the `FieldNumberType` in case of Cartesian -kernels, and the `RingNumberType` for Homogeneous kernels). +from one of these types (the `FieldNumberType` in case of %Cartesian +kernels, and the `RingNumberType` for %Homogeneous kernels). The concept `FieldNumberType` combines the requirements of the concepts `Field` and `RealEmbeddable`, while @@ -277,4 +277,3 @@ subsequent chapters. */ } /* namespace CGAL */ - diff --git a/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Algebraic_structure_traits.h b/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Algebraic_structure_traits.h index ebc96162957..4b83632b1a4 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Algebraic_structure_traits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Algebraic_structure_traits.h @@ -5,7 +5,7 @@ namespace CGAL { An instance of `Algebraic_structure_traits` is a model of `AlgebraicStructureTraits`, where T is the associated type. -\cgalModels `AlgebraicStructureTraits` +\cgalModels{AlgebraicStructureTraits} */ template< typename T > @@ -22,7 +22,7 @@ namespace CGAL { Tag indicating that a type is a model of the `EuclideanRing` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `EuclideanRing` \sa `AlgebraicStructureTraits` @@ -38,7 +38,7 @@ struct Euclidean_ring_tag : public Unique_factorization_domain_tag { Tag indicating that a type is a model of the `Field` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `Field` \sa `AlgebraicStructureTraits` @@ -54,7 +54,7 @@ struct Field_tag : public Integral_domain_tag { Tag indicating that a type is a model of the `FieldWithKthRoot` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `FieldWithKthRoot` \sa `AlgebraicStructureTraits` @@ -70,7 +70,7 @@ struct Field_with_kth_root_tag : public Field_with_sqrt_tag { Tag indicating that a type is a model of the `FieldWithRootOf` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `FieldWithRootOf` \sa `AlgebraicStructureTraits` @@ -86,7 +86,7 @@ struct Field_with_root_of_tag : public Field_with_kth_root_tag { Tag indicating that a type is a model of the `FieldWithSqrt` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `FieldWithSqrt` \sa `AlgebraicStructureTraits` @@ -102,7 +102,7 @@ struct Field_with_sqrt_tag : public Field_tag { Tag indicating that a type is a model of the `IntegralDomain` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `IntegralDomain` \sa `AlgebraicStructureTraits` @@ -118,7 +118,7 @@ struct Integral_domain_tag : public Integral_domain_without_division_tag { Tag indicating that a type is a model of the `IntegralDomainWithoutDivision` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `IntegralDomainWithoutDivision` @@ -133,7 +133,7 @@ struct Integral_domain_without_division_tag { Tag indicating that a type is a model of the `UniqueFactorizationDomain` concept. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `UniqueFactorizationDomain` \sa `AlgebraicStructureTraits` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Fraction_traits.h b/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Fraction_traits.h index d54d382dfd9..025487d3248 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Fraction_traits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Fraction_traits.h @@ -6,7 +6,7 @@ namespace CGAL { An instance of `Fraction_traits` is a model of `FractionTraits`, where `T` is the associated type. -\cgalModels `FractionTraits` +\cgalModels{FractionTraits} */ template< typename T > diff --git a/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Real_embeddable_traits.h b/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Real_embeddable_traits.h index 90953f33c91..5c4966645e7 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Real_embeddable_traits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/CGAL/Real_embeddable_traits.h @@ -6,7 +6,7 @@ namespace CGAL { An instance of `Real_embeddable_traits` is a model of `RealEmbeddableTraits`, where T is the associated type. -\cgalModels `RealEmbeddableTraits` +\cgalModels{RealEmbeddableTraits} */ template< typename T > diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits.h index 48c92909b80..13c87daede5 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/AlgebraicStructureTraits.h @@ -28,7 +28,9 @@ algebraic operations within that structure. \sa `CGAL::Field_with_kth_root_tag` \sa `CGAL::Field_with_root_of_tag` -\cgalHasModel `CGAL::Algebraic_structure_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Algebraic_structure_traits} +\cgalHasModelsEnd */ diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h index 8609a9a9cbe..488293969f8 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldNumberType.h @@ -5,20 +5,22 @@ The concept `FieldNumberType` combines the requirements of the concepts `Field` and `RealEmbeddable`. A model of `FieldNumberType` can be used as a template parameter -for Cartesian kernels. +for %Cartesian kernels. \cgalRefines{Field,RealEmbeddable} -\cgalHasModel float -\cgalHasModel double -\cgalHasModel `CGAL::Gmpq` -\cgalHasModel `CGAL::Interval_nt` -\cgalHasModel `CGAL::Interval_nt_advanced` -\cgalHasModel `CGAL::Lazy_exact_nt` -\cgalHasModel `CGAL::Quotient` -\cgalHasModel `leda_rational` -\cgalHasModel `leda_bigfloat` -\cgalHasModel `leda_real` +\cgalHasModelsBegin +\cgalHasModels{float} +\cgalHasModels{double} +\cgalHasModels{CGAL::Gmpq} +\cgalHasModels{CGAL::Interval_nt} +\cgalHasModels{CGAL::Interval_nt_advanced} +\cgalHasModels{CGAL::Lazy_exact_nt} +\cgalHasModels{CGAL::Quotient} +\cgalHasModels{leda_rational} +\cgalHasModels{leda_bigfloat} +\cgalHasModels{leda_real} +\cgalHasModelsEnd \sa `RingNumberType` \sa `Kernel` @@ -32,4 +34,3 @@ public: /// @} }; /* end FieldNumberType */ - diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h index eaa438e6c90..d4f0b88f916 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FractionTraits.h @@ -8,7 +8,9 @@ A model of `FractionTraits` is associated with a type `Type`. In case the associated type is a `Fraction`, a model of `FractionTraits` provides the relevant functionality for decomposing and re-composing as well as the numerator and denominator type. -\cgalHasModel `CGAL::Fraction_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Fraction_traits} +\cgalHasModelsEnd \sa `FractionTraits_::Decompose` \sa `FractionTraits_::Compose` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromIntConstructible.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromIntConstructible.h index 58d2190329a..779b96188a7 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromIntConstructible.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FromIntConstructible.h @@ -6,9 +6,11 @@ A model of the concept `FromIntConstructible` is required to be constructible from int. -\cgalHasModel int -\cgalHasModel long -\cgalHasModel double +\cgalHasModelsBegin +\cgalHasModels{int} +\cgalHasModels{long} +\cgalHasModels{double} +\cgalHasModelsEnd */ diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits.h index 379390e11e7..4a40e131286 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddableTraits.h @@ -7,7 +7,9 @@ A model of `RealEmbeddableTraits` is associated to a number type `Type` and reflects the properties of this type with respect to the concept `RealEmbeddable`. -\cgalHasModel `CGAL::Real_embeddable_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Real_embeddable_traits} +\cgalHasModelsEnd */ class RealEmbeddableTraits { diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h index a2b6c5036f0..ded0c0728c6 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RingNumberType.h @@ -6,23 +6,25 @@ The concept `RingNumberType` combines the requirements of the concepts `IntegralDomainWithoutDivision` and `RealEmbeddable`. A model of `RingNumberType` can be used as a template parameter -for Homogeneous kernels. +for homogeneous kernels. \cgalRefines{IntegralDomainWithoutDivision,RealEmbeddable} -\cgalHasModel \cpp built-in number types -\cgalHasModel `CGAL::Gmpq` -\cgalHasModel `CGAL::Gmpz` -\cgalHasModel `CGAL::Interval_nt` -\cgalHasModel `CGAL::Interval_nt_advanced` -\cgalHasModel `CGAL::Lazy_exact_nt` -\cgalHasModel `CGAL::MP_Float` -\cgalHasModel `CGAL::Gmpzf` -\cgalHasModel `CGAL::Quotient` -\cgalHasModel `leda_integer` -\cgalHasModel `leda_rational` -\cgalHasModel `leda_bigfloat` -\cgalHasModel `leda_real` +\cgalHasModelsBegin +\cgalHasModelsBare{\cpp built-in number types} +\cgalHasModels{CGAL::Gmpq} +\cgalHasModels{CGAL::Gmpz} +\cgalHasModels{CGAL::Interval_nt} +\cgalHasModels{CGAL::Interval_nt_advanced} +\cgalHasModels{CGAL::Lazy_exact_nt} +\cgalHasModels{CGAL::MP_Float} +\cgalHasModels{CGAL::Gmpzf} +\cgalHasModels{CGAL::Quotient} +\cgalHasModels{leda_integer} +\cgalHasModels{leda_rational} +\cgalHasModels{leda_bigfloat} +\cgalHasModels{leda_real} +\cgalHasModelsEnd \sa `FieldNumberType` @@ -32,4 +34,3 @@ class RingNumberType { public: }; /* end RingNumberType */ - diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_1.h index a3e31bea51d..05b59d29f72 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_1.h @@ -27,7 +27,7 @@ approximation of an algebraic real root is a slightly modified (filtered) version of the one presented in \cgalCite{abbott-qir-06}. The method has quadratic convergence. -\cgalModels `AlgebraicKernel_d_1` +\cgalModels{AlgebraicKernel_d_1} \sa `AlgebraicKernel_d_1` \sa `Polynomial_d` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_2.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_2.h index c4b643bfab9..35472409ffb 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_2.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_d_2.h @@ -47,7 +47,7 @@ above. `ROOT` should be one of the integer types. See also the documentation of `Sqrt_extension`. \cgalAdvancedEnd -\cgalModels `AlgebraicKernel_d_2` +\cgalModels{AlgebraicKernel_d_2} \sa `AlgebraicKernel_d_1` \sa `AlgebraicKernel_d_2` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpq_d_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpq_d_1.h index 204f5b233fc..dc0f525aeeb 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpq_d_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpq_d_1.h @@ -12,7 +12,7 @@ rational univariate polynomial root isolation. It is a model of the isolate integer polynomials, the operations of this kernel have the overhead of converting the polynomials to integer. -\cgalModels `AlgebraicKernel_d_1` +\cgalModels{AlgebraicKernel_d_1} \sa `Algebraic_kernel_rs_gmpz_d_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpz_d_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpz_d_1.h index 029066a0119..7f4e7eb0966 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpz_d_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/CGAL/Algebraic_kernel_rs_gmpz_d_1.h @@ -10,7 +10,7 @@ This univariate algebraic kernel uses the Rs library to perform integer univariate polynomial root isolation. It is a model of the `AlgebraicKernel_d_1` concept. -\cgalModels `AlgebraicKernel_d_1` +\cgalModels{AlgebraicKernel_d_1} \sa `Algebraic_kernel_rs_gmpz_d_1` diff --git a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h index c9c2f475f8e..b895e7665b9 100644 --- a/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h +++ b/Algebraic_kernel_d/doc/Algebraic_kernel_d/Concepts/AlgebraicKernel_d_1.h @@ -8,8 +8,10 @@ algebraic functionalities on univariate polynomials of general degree \f$ d\f$. \cgalRefines{CopyConstructible,Assignable} -\cgalHasModel `CGAL::Algebraic_kernel_rs_gmpz_d_1` -\cgalHasModel `CGAL::Algebraic_kernel_rs_gmpq_d_1` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Algebraic_kernel_rs_gmpz_d_1} +\cgalHasModels{CGAL::Algebraic_kernel_rs_gmpq_d_1} +\cgalHasModelsEnd \sa `AlgebraicKernel_d_2` diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_face_base_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_face_base_2.h index fe8988c8f71..6e2c29329cc 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_face_base_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_face_base_2.h @@ -16,7 +16,7 @@ if `Alpha_shape_face_base_2` is intended to be used with an alpha-shape class ba \link Tag_true `Tag_true`\endlink, triggers exact comparisons between alpha values. See the description provided in the documentation of `Alpha_shape_2` for more details. The default value is \link Tag_false `Tag_false`\endlink. -\cgalModels `AlphaShapeFace_2` +\cgalModels{AlphaShapeFace_2} \sa `Triangulation_face_base_2` \sa `Regular_triangulation_face_base_2` diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_vertex_base_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_vertex_base_2.h index 2c0602ce512..f440c0b2d4d 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_vertex_base_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/CGAL/Alpha_shape_vertex_base_2.h @@ -17,7 +17,7 @@ if `Alpha_shape_vertex_base_2` is intended to be used with an alpha-shape class \link Tag_true `Tag_true`\endlink, triggers exact comparisons between alpha values. See the description provided in the documentation of `Alpha_shape_2` for more details. The default value is \link Tag_false `Tag_false`\endlink. -\cgalModels `AlphaShapeVertex_2` +\cgalModels{AlphaShapeVertex_2} \sa `Triangulation_vertex_base_2` \sa `Regular_triangulation_vertex_base_2` diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h index 57b30f90d2f..a3bcacd1fc2 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeFace_2.h @@ -9,7 +9,9 @@ The concept `AlphaShapeFace_2` describes the requirements for the base face of a RegularTriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_2TriangulationFaceBase_2 if the underlying triangulation of the alpha shape is a periodic triangulation} -\cgalHasModel `CGAL::Alpha_shape_face_base_2` (templated with the appropriate triangulation face base class). +\cgalHasModelsBegin +\cgalHasModels{CGAL::Alpha_shape_face_base_2 (templated with the appropriate triangulation face base class)} +\cgalHasModelsEnd */ class AlphaShapeFace_2 { diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h index a6f1c1fca18..669fdf61f19 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeTraits_2.h @@ -9,8 +9,10 @@ class of the underlying Delaunay triangulation of a basic alpha shape. \cgalRefines{DelaunayTriangulationTraits_2 if the underlying triangulation of the alpha shape is a Delaunay triangulation, Periodic_2DelaunayTriangulationTraits_2 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation} -\cgalHasModel All models of `Kernel`. -\cgalHasModel Projection traits such as `CGAL::Projection_traits_xy_3`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModelsBare{Projection traits such as `CGAL::Projection_traits_xy_3`} +\cgalHasModelsEnd \sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel) */ diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h index 5015af963f6..649ed3970d0 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/AlphaShapeVertex_2.h @@ -9,7 +9,9 @@ The concept `AlphaShapeVertex_2` describes the requirements for the base vertex RegularTriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_2TriangulationVertexBase_2 if the underlying triangulation of the alpha shape is a periodic triangulation} -\cgalHasModel `CGAL::Alpha_shape_vertex_base_2` (templated with the appropriate triangulation vertex base class). +\cgalHasModelsBegin +\cgalHasModelsBare{`CGAL::Alpha_shape_vertex_base_2` (templated with the appropriate triangulation vertex base class)} +\cgalHasModelsEnd */ class AlphaShapeVertex_2 { public: diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h index 62d404c3c38..b88db2cd67b 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/Concepts/WeightedAlphaShapeTraits_2.h @@ -9,8 +9,10 @@ of the underlying regular triangulation of a weighted alpha shape. \cgalRefines{RegularTriangulationTraits_2 if the underlying triangulation of the alpha shape is a regular triangulation.} -\cgalHasModel All models of `Kernel`. -\cgalHasModel Projection traits such as `CGAL::Projection_traits_xy_3`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`,} +\cgalHasModelsBare{Projection traits such as `CGAL::Projection_traits_xy_3`} +\cgalHasModelsEnd \sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel) */ diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_cell_base_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_cell_base_3.h index 5a92d16b0dc..a64151eb764 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_cell_base_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_cell_base_3.h @@ -19,7 +19,7 @@ provided in the documentation of `Alpha_shape_3` for more details. The default v must be \link Tag_true `Tag_true`\endlink if the underlying triangulation of the alpha shape to be used is a regular triangulation and \link Tag_false `Tag_false`\endlink otherwise. The default is \link Tag_false `Tag_false`\endlink. -\cgalModels `AlphaShapeCell_3` +\cgalModels{AlphaShapeCell_3} \sa `Delaunay_triangulation_cell_base_3` \sa `Regular_triangulation_cell_base_3` diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_vertex_base_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_vertex_base_3.h index 0ba47d5cb6f..ad88466cd48 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_vertex_base_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Alpha_shape_vertex_base_3.h @@ -19,7 +19,7 @@ provided in the documentation of `Alpha_shape_3` for more details. The default v must be \link Tag_true `Tag_true`\endlink if the underlying triangulation of the alpha shape to be used is a regular triangulation and \link Tag_false `Tag_false`\endlink otherwise. The default is \link Tag_false `Tag_false`\endlink. -\cgalModels `AlphaShapeVertex_3` +\cgalModels{AlphaShapeVertex_3} \sa `Triangulation_vertex_base_3` \sa `Regular_triangulation_vertex_base_3` diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_cell_base_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_cell_base_3.h index fc558a82d75..b7fcb067dee 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_cell_base_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_cell_base_3.h @@ -13,7 +13,7 @@ to the `Alpha_shape_3` class. By default, it is instantiated with `Delaunay_triangulation_cell_base_3`, which is appropriate for basic alpha shapes. -\cgalModels `FixedAlphaShapeCell_3` +\cgalModels{FixedAlphaShapeCell_3} \sa `Alpha_shape_cell_base_3` \sa `Delaunay_triangulation_cell_base_3` diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_vertex_base_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_vertex_base_3.h index 4b237a562f2..0d4e36a13c4 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_vertex_base_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/CGAL/Fixed_alpha_shape_vertex_base_3.h @@ -13,7 +13,7 @@ to the `Alpha_shape_3` class. By default, it is instantiated with `Triangulation_vertex_base_3`, which is appropriate for basic alpha shapes. -\cgalModels `FixedAlphaShapeVertex_3` +\cgalModels{FixedAlphaShapeVertex_3} \sa `Alpha_shape_vertex_base_3` \sa `Triangulation_vertex_base_3` diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h index 570b419998e..fa4ba33da2d 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeCell_3.h @@ -9,7 +9,9 @@ The concept `AlphaShapeCell_3` describes the requirements for the base cell of a RegularTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_3TriangulationDSCellBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} -\cgalHasModel `CGAL::Alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class). +\cgalHasModelsBegin +\cgalHasModelsBare{`CGAL::Alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class)} +\cgalHasModelsEnd \sa `CGAL::Alpha_status` diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h index 6d9fbcbe430..cff0a2f3c52 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeTraits_3.h @@ -10,7 +10,9 @@ of the underlying Delaunay triangulation of a basic alpha shape. \cgalRefines{DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, Periodic_3DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel) */ diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h index 6e23176c2d9..3c81217e2ab 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/AlphaShapeVertex_3.h @@ -9,7 +9,9 @@ The concept `AlphaShapeVertex_3` describes the requirements for the base vertex RegularTriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a regular triangulation. Periodic_3TriangulationDSVertexBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} -\cgalHasModel `CGAL::Alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class). +\cgalHasModelsBegin +\cgalHasModelsBare{`CGAL::Alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class)} +\cgalHasModelsEnd \sa `CGAL::Alpha_status` diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h index 1fd4060952f..8d4a59f29ee 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeCell_3.h @@ -9,7 +9,9 @@ The concept `FixedAlphaShapeCell_3` describes the requirements for the base cell RegularTriangulationCellBase_3 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_3TriangulationDSCellBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} -\cgalHasModel `CGAL::Fixed_alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class). +\cgalHasModelsBegin +\cgalHasModelsBare{`CGAL::Fixed_alpha_shape_cell_base_3` (templated with the appropriate triangulation cell base class)} +\cgalHasModelsEnd */ class FixedAlphaShapeCell_3 { public: diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h index d6b3aa7f35f..4c0d409f524 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeTraits_3.h @@ -10,7 +10,9 @@ of the underlying Delaunay triangulation of a basic alpha shape with a fixed val \cgalRefines{DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a Delaunay triangulation, Periodic_3DelaunayTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic Delaunay triangulation} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModelsEnd \sa CGAL::Exact_predicates_inexact_constructions_kernel (recommended kernel) */ diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h index 59d9593e5fc..dd4db3fecea 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedAlphaShapeVertex_3.h @@ -9,7 +9,9 @@ The concept `FixedAlphaShapeVertex_3` describes the requirements for the base ve RegularTriangulationVertexBase_3 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_3TriangulationDSVertexBase_3 if the underlying triangulation of the alpha shape is a periodic triangulation} -\cgalHasModel `CGAL::Fixed_alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class). +\cgalHasModelsBegin +\cgalHasModelsBare{`CGAL::Fixed_alpha_shape_vertex_base_3` (templated with the appropriate triangulation vertex base class)} +\cgalHasModelsEnd */ class FixedAlphaShapeVertex_3 { diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h index e84810fdc78..73d46de6261 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/FixedWeightedAlphaShapeTraits_3.h @@ -9,7 +9,9 @@ for the geometric traits class of the underlying regular triangulation of a weig \cgalRefines{RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_3RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic regular triangulation} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel) */ diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h index f0c11a972c7..f91afc7cdb2 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Concepts/WeightedAlphaShapeTraits_3.h @@ -10,7 +10,9 @@ of the underlying regular triangulation of a weighted alpha shape. \cgalRefines{RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a regular triangulation, Periodic_3RegularTriangulationTraits_3 if the underlying triangulation of the alpha shape is a periodic regular triangulation} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended kernel) */ diff --git a/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapOracle.h b/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapOracle.h index 85c697f40a8..49244706c9b 100644 --- a/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapOracle.h +++ b/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapOracle.h @@ -9,10 +9,12 @@ The concept `AlphaWrapOracle` defines the requirements for an Alpha Wrap Ora that answers a number of queries over the input of the algorithm. The oracle is the template parameter of the class `CGAL::Alpha_wraps_3_::Alpha_wrap_3`. -\cgalHasModel `CGAL::Alpha_wraps_3_::Point_set_oracle` -\cgalHasModel `CGAL::Alpha_wraps_3_::Segment_soup_oracle` -\cgalHasModel `CGAL::Alpha_wraps_3_::Triangle_mesh_oracle` -\cgalHasModel `CGAL::Alpha_wraps_3_::Triangle_soup_oracle` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Alpha_wraps_3_::Point_set_oracle} +\cgalHasModels{CGAL::Alpha_wraps_3_::Segment_soup_oracle} +\cgalHasModels{CGAL::Alpha_wraps_3_::Triangle_mesh_oracle} +\cgalHasModels{CGAL::Alpha_wraps_3_::Triangle_soup_oracle} +\cgalHasModelsEnd */ template diff --git a/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapTraits_3.h b/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapTraits_3.h index 63428d4b889..c4d7308d511 100644 --- a/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapTraits_3.h +++ b/Alpha_wrap_3/doc/Alpha_wrap_3/Concepts/AlphaWrapTraits_3.h @@ -11,7 +11,9 @@ you require Kernel. Stitch_borders doesn't even have clear geometric traits requ The concept `AlphaWrapTraits_3` defines the requirements for the geometric traits class of an alpha wrap oracle. -\cgalHasModel Any 3D %kernel is a model of this traits concept. +\cgalHasModelsBegin +\cgalHasModelsBare{Any 3D %kernel is a model of this traits concept} +\cgalHasModelsEnd */ class AlphaWrapTraits_3 diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h index 13d9c23d806..1a8f0f595f2 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_2.h @@ -46,7 +46,7 @@ ag.incident_edges(ag.infinite_vertex()); ag.incident_edges(ag.infinite_vertex(), f); \endcode -\cgalModels `DelaunayGraph_2` +\cgalModels{DelaunayGraph_2} \sa `CGAL::Apollonius_graph_traits_2` \sa `CGAL::Apollonius_graph_filtered_traits_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h index 155a7b240cb..a8c3dfc63f0 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h @@ -37,7 +37,7 @@ The default values for the template parameters are as follows: `FK = CGAL::Simple_cartesian >`, `FM = CM`. -\cgalModels `ApolloniusGraphTraits_2` +\cgalModels{ApolloniusGraphTraits_2} \sa `Kernel` \sa `ApolloniusGraphTraits_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_hierarchy_vertex_base_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_hierarchy_vertex_base_2.h index c09d6255ab5..7e05e28f2a3 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_hierarchy_vertex_base_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_hierarchy_vertex_base_2.h @@ -11,7 +11,7 @@ vertex base required by the `Apollonius_graph_hierarchy_vertex_base_2` is templated by a class `Agvb` which must be a model of the `ApolloniusGraphVertexBase_2` concept. -\cgalModels `ApolloniusGraphHierarchyVertexBase_2` +\cgalModels{ApolloniusGraphHierarchyVertexBase_2} \sa `CGAL::Apollonius_graph_vertex_base_2` \sa `CGAL::Triangulation_data_structure_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h index 3fe29ef740b..dd854386881 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h @@ -20,7 +20,7 @@ default value for `Method_tag` is `CGAL::Integral_domain_without_division_tag`. The way the predicates are evaluated is discussed in \cgalCite{cgal:ke-ppawv-02}, \cgalCite{cgal:ke-rctac-03}. -\cgalModels `ApolloniusGraphTraits_2` +\cgalModels{ApolloniusGraphTraits_2} \sa `CGAL::Apollonius_graph_2` \sa `CGAL::Apollonius_graph_filtered_traits_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_vertex_base_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_vertex_base_2.h index 3bf702d3afd..6593f480422 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_vertex_base_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_vertex_base_2.h @@ -24,7 +24,7 @@ discarded. By default `StoreHidden` is set to `true`. By default this parameter is instantiated by `Triangulation_ds_vertex_base_2<>`. -\cgalModels `ApolloniusGraphVertexBase_2` +\cgalModels{ApolloniusGraphVertexBase_2} \sa `CGAL::Triangulation_data_structure_2` \sa `CGAL::Apollonius_graph_hierarchy_vertex_base_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_site_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_site_2.h index 162a6e46259..8d55878c7e8 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_site_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_site_2.h @@ -8,7 +8,7 @@ The class `Apollonius_site_2` is a model for the concept `ApolloniusSite_2`. It is parametrized by a template parameter `K` which must be a model of the `Kernel` concept. -\cgalModels `ApolloniusSite_2` +\cgalModels{ApolloniusSite_2} \cgalHeading{Types} diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h index cca93a7c829..914bf0feedf 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphDataStructure_2.h @@ -27,7 +27,9 @@ We only describe the additional requirements with respect to the \cgalRefines{TriangulationDataStructure_2} -\cgalHasModel `CGAL::Triangulation_data_structure_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_data_structure_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `ApolloniusGraphVertexBase_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h index a2ed0353ddd..76d3320b2dd 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphHierarchyVertexBase_2.h @@ -19,7 +19,9 @@ next and previous level graphs. `ApolloniusGraphHierarchyVertexBase_2` does not introduce any types in addition to those of `ApolloniusGraphVertexBase_2`. -\cgalHasModel `CGAL::Apollonius_graph_hierarchy_vertex_base_2 >` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Apollonius_graph_hierarchy_vertex_base_2 >} +\cgalHasModelsEnd \sa `ApolloniusGraphDataStructure_2` \sa `CGAL::Apollonius_graph_hierarchy_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h index 5fa6db8c6e6..f14497d3ec6 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphTraits_2.h @@ -12,8 +12,10 @@ it provides a type `Site_2`, which must be a model of the concept constructions for sites and several function object types for the predicates. -\cgalHasModel `CGAL::Apollonius_graph_traits_2` -\cgalHasModel `CGAL::Apollonius_graph_filtered_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Apollonius_graph_traits_2} +\cgalHasModels{CGAL::Apollonius_graph_filtered_traits_2} +\cgalHasModelsEnd \sa `CGAL::Apollonius_graph_2` \sa `CGAL::Apollonius_graph_traits_2` diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h index 201d7e9e91a..f6246b21112 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Concepts/ApolloniusGraphVertexBase_2.h @@ -12,7 +12,9 @@ sites. The container stores the hidden sites related to the vertex. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel `CGAL::Apollonius_graph_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Apollonius_graph_vertex_base_2} +\cgalHasModelsEnd \sa `ApolloniusGraphDataStructure_2` \sa `CGAL::Apollonius_graph_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt index 5254543120c..b4bff8ed2db 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt @@ -117,8 +117,8 @@ special type of objects. They must, however, supply the relevant traits class, which mainly involves algebraic computations. A traits class also encapsulates the number types used to represent coordinates of geometric objects and to carry out algebraic operations on them. It -encapsulates the type of coordinate system used (e.g., Cartesian and -Homogeneous), and the geometric or algebraic computation methods +encapsulates the type of coordinate system used (e.g., %Cartesian and +homogeneous), and the geometric or algebraic computation methods themselves. The precise minimal sets of requirements the actual traits classes must conform to are organized as a hierarchy of concepts; see Section \ref aos_sec-geom_traits. @@ -4780,7 +4780,7 @@ or line segments. The \link Arr_conic_traits_2::Curve_2 `Curve_2`\endlink and the derived \link Arr_conic_traits_2::X_monotone_curve_2 `X_monotone_curve_2`\endlink classes also support basic access functions such as `source()`, -`target()`, and `orientation()`. +`target()`, and `%orientation()`. \cgalFigureBegin{aos_fig-conics,conics.png} @@ -5067,7 +5067,7 @@ substitute the template parameters `RatKernel`, `AlgKernel`, and the same requirements of the corresponding types used to instantiate the `Arr_conic_traits_2` class template. Here, the use of the `CORE_algebraic_number_traits` class is also recommended with -Cartesian kernels instantiated with the `Rational` and `Algebraic` +%Cartesian kernels instantiated with the `Rational` and `Algebraic` number types defined by this class. The examples given in this manual use the type definitions listed below. These types are defined in the header file `arr_Bezier.h`. diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_Bezier_curve_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_Bezier_curve_traits_2.h index b013c2be1ad..7976f939c74 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_Bezier_curve_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_Bezier_curve_traits_2.h @@ -52,8 +52,7 @@ the `Are_mergeable_2` operation does not enforce the input curves to have the same direction as a precondition. Moreover, `Arr_Bezier_curve_traits_2` supports the merging of curves of opposite directions. -\cgalModels `ArrangementTraits_2` -\cgalModels `ArrangementDirectionalXMonotoneTraits_2` +\cgalModels{ArrangementTraits_2,ArrangementDirectionalXMonotoneTraits_2} */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_algebraic_segment_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_algebraic_segment_traits_2.h index 165e9cbd587..069d91859ee 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_algebraic_segment_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_algebraic_segment_traits_2.h @@ -22,7 +22,7 @@ the types `leda::integer` and `CORE::BigInt` are supported as well as any instance of `CGAL::Sqrt_extension` that is instantiated with one of the integral types above. -\cgalModels `ArrangementTraits_2` +\cgalModels{ArrangementTraits_2} */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_bounded_planar_topology_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_bounded_planar_topology_traits_2.h index 06cafbd5e13..f839b4967ef 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_bounded_planar_topology_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_bounded_planar_topology_traits_2.h @@ -21,7 +21,7 @@ namespace CGAL { * `Arr_default_dcel`. * * - * \cgalModels `ArrangementBasicTopologyTraits` + * \cgalModels{ArrangementBasicTopologyTraits} * * \sa `Arr_default_dcel` * \sa `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circle_segment_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circle_segment_traits_2.h index 43b7d56bcf8..303a00ded01 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circle_segment_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circle_segment_traits_2.h @@ -32,8 +32,7 @@ namespace CGAL { * same direction as a precondition. Moreover, `Arr_circle_segment_traits_2` * supports the merging of curves of opposite directions. * - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementDirectionalXMonotoneTraits_2` + * \cgalModels{ArrangementTraits_2,ArrangementDirectionalXMonotoneTraits_2} * */ template< typename Kernel > @@ -168,7 +167,7 @@ public: /*! The `Point_2` number-type nested within the traits class represents - * a Cartesian point whose coordinates are algebraic numbers of type + * a %Cartesian point whose coordinates are algebraic numbers of type * `CoordNT`. */ class Point_2 { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_arc_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_arc_traits_2.h index f8307dbca1b..014e1f5ec21 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_arc_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_arc_traits_2.h @@ -8,7 +8,7 @@ This class is a traits class for \cgal arrangements, built on top of a model of concept `CircularKernel`. It provides curves of type `CGAL::Circular_arc_2`. -\cgalModels `ArrangementTraits_2` +\cgalModels{ArrangementTraits_2} */ template< typename CircularKernel > diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_line_arc_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_line_arc_traits_2.h index 90abb7e19e2..c7bc38001fc 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_line_arc_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_circular_line_arc_traits_2.h @@ -12,7 +12,7 @@ of both types It uses the std::variant. -\cgalModels `ArrangementTraits_2` +\cgalModels{ArrangementTraits_2} */ template< typename CircularKernel > diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_conic_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_conic_traits_2.h index fe6e70de9c5..d53d7b3bb21 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_conic_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_conic_traits_2.h @@ -80,9 +80,7 @@ namespace CGAL { * to have the same direction as a precondition. Moreover, `Arr_conic_traits_2` * supports the merging of curves of opposite directions. * - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementLandmarkTraits_2` - * \cgalModels `ArrangementDirectionalXMonotoneTraits_2` + * \cgalModels{ArrangementTraits_2,ArrangementLandmarkTraits_2,ArrangementDirectionalXMonotoneTraits_2} * * \cgalHeading{Types} */ @@ -274,7 +272,7 @@ public: */ Point_2(const Algebraic& hx, const Algebraic& hy, const Algebraic& hz); - /*! constructs from Cartesian coordinates. + /*! constructs from %Cartesian coordinates. */ Point_2(const Algebraic& x, const Algebraic& y);: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_consolidated_curve_data_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_consolidated_curve_data_traits_2.h index bbf6205037d..2ed18e6be6b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_consolidated_curve_data_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_consolidated_curve_data_traits_2.h @@ -21,7 +21,7 @@ both resulting subcurves. In case two (or more) \f$ x\f$-monotone curves overlap, their data sets are consolidated, and are inserted into the set of the \f$ x\f$-monotone curve that represents the overlap. -\cgalModels `ArrangementTraits_2` +\cgalModels{ArrangementTraits_2} */ template< typename Traits, typename Data > diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_curve_data_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_curve_data_traits_2.h index a0d7d72ce42..e75623e8cd7 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_curve_data_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_curve_data_traits_2.h @@ -49,7 +49,7 @@ namespace CGAL { * `d1` and `d2`. The \f$ x\f$-monotone curve that represents the overlap is * associated with the output of this functor. * - * \cgalModels `ArrangementTraits_2` + * \cgalModels{ArrangementTraits_2} */ template class Arr_curve_data_traits_2 : public Tr { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_dcel_base.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_dcel_base.h index 8f9202a3a13..9fa8f5f4d96 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_dcel_base.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_dcel_base.h @@ -16,7 +16,7 @@ must be instantiated with models of the concepts `ArrangementDcelVertex`, `ArrangementDcelHalfedge`, and `ArrangementDcelFace` respectively. -\cgalModels `ArrangementDcel` +\cgalModels{ArrangementDcel} */ template< typename V, typename H, typename F > @@ -29,7 +29,7 @@ public: The basic \dcel face type. Serves as a basis class for an extended face record with auxiliary data fields. -\cgalModels `ArrangementDcelFace` +\cgalModels{ArrangementDcelFace} */ class Arr_face_base { @@ -43,7 +43,7 @@ The basic \dcel halfedge type. Serves as a basis class for an extended halfedge record with auxiliary data fields. The `Curve` parameter is the type of \f$ x\f$-monotone curves associated with the vertices. -\cgalModels `ArrangementDcelHalfedge` +\cgalModels{ArrangementDcelHalfedge} */ template< typename Curve > @@ -58,7 +58,7 @@ The basic \dcel vertex type. Serves as a basis class for an extended vertex record with auxiliary data fields. The `Point` parameter is the type of points associated with the vertices. -\cgalModels `ArrangementDcelVertex` +\cgalModels{ArrangementDcelVertex} */ template< typename Point > diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_dcel.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_dcel.h index 8da592fa207..453a7f05092 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_dcel.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_dcel.h @@ -12,7 +12,7 @@ the base vertex and halfedge types, respectively. Thus, the default \dcel records store no other information, except for the topological incidence relations and the geometric data attached to vertices and edges. -\cgalModels `ArrangementDcelWithRebind` +\cgalModels{ArrangementDcelWithRebind} \sa `Arr_dcel_base` */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_overlay_traits.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_overlay_traits.h index 6419b1af7ae..5b5677b7458 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_overlay_traits.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_default_overlay_traits.h @@ -10,7 +10,7 @@ of type `Arrangement` that store no auxiliary data with their \dcel records, whe \dcel data as well. This class simply gives empty implementation for all traits-class functions. -\cgalModels `OverlayTraits` +\cgalModels{OverlayTraits} \sa `overlay` @@ -43,7 +43,7 @@ it uses the functor `OvlFaceData`, which accepts a `FaceData_A` object and a `FaceData_B` object and computes a corresponding `FaceData_R` object, in order to set the auxiliary data of the overlay face. -\cgalModels `OverlayTraits` +\cgalModels{OverlayTraits} \sa `overlay` \sa `CGAL::Arr_face_extended_dcel` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_extended_dcel.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_extended_dcel.h index b06910d1e14..b36aa2a7eb7 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_extended_dcel.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_extended_dcel.h @@ -33,7 +33,7 @@ The default values follow: -\cgalModels `ArrangementDcelWithRebind` +\cgalModels{ArrangementDcelWithRebind} \sa `Arr_dcel_base` @@ -57,7 +57,7 @@ The `Arr_extended_face` class-template extends the face topological-features of \dcel. It is parameterized by a face base-type `FaceBase` and a data type `FData` used to extend the face base-type. -\cgalModels `ArrangementDcelFace` +\cgalModels{ArrangementDcelFace} \sa `Arr_dcel_base` @@ -109,7 +109,7 @@ The `Arr_extended_halfedge` class-template extends the halfedge topological-feat the \dcel. It is parameterized by a halfedge base-type `HalfedgeBase` and a data type `HData` used to extend the halfedge base-type. -\cgalModels `ArrangementDcelHalfedge` +\cgalModels{ArrangementDcelHalfedge} \sa `Arr_dcel_base` @@ -162,7 +162,7 @@ topological-features of the \dcel. It is parameterized by a vertex base-type `VertexBase` and a data type `VData` used to extend the vertex base-type. -\cgalModels `ArrangementDcelVertex` +\cgalModels{ArrangementDcelVertex} \sa `Arr_dcel_base` @@ -235,7 +235,7 @@ as follows: -\cgalModels `ArrangementDcelWithRebind` +\cgalModels{ArrangementDcelWithRebind} \sa `Arr_dcel_base` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h index ae70704f3b5..bcb0d5c378f 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h @@ -19,10 +19,7 @@ existing faces might be removed, the notification mechanism is used to dynamically maintain the mapping of face handles to indices. -\cgalModels DefaultConstructible -\cgalModels CopyConstructible -\cgalModels Assignable -\cgalModels `ReadablePropertyMap` +\cgalModels{DefaultConstructible,CopyConstructible,Assignable,ReadablePropertyMap} \sa `Arr_observer` \sa `Arr_vertex_index_map` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_geodesic_arc_on_sphere_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_geodesic_arc_on_sphere_traits_2.h index c6c4c608690..d34b40072a9 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_geodesic_arc_on_sphere_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_geodesic_arc_on_sphere_traits_2.h @@ -39,9 +39,7 @@ namespace CGAL { * normalized vector \f$(x,y)\f$ in the \f$xy\f$-plane that bisects the * identification curve. - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementLandmarkTraits_2` - * \cgalModels `ArrangementSphericalBoundaryTraits_2` + * \cgalModels{ArrangementTraits_2,ArrangementLandmarkTraits_2,ArrangementSphericalBoundaryTraits_2} */ template @@ -52,9 +50,7 @@ namespace CGAL { * not-necessarily normalized 3D direction extended with information that * specifies the location of the point pre-image in the parameter space. * - * \cgalModels `Assignable` - * \cgalModels `DefaultConstructible` - * \cgalModels `CopyConstructible` + * \cgalModels{Assignable,DefaultConstructible,CopyConstructible} */ class Point_2 { public: @@ -118,9 +114,7 @@ namespace CGAL { * intersect the identified left and right sides of the boundary of the * parameter space. * - * \cgalModels `Assignable` - * \cgalModels `DefaultConstructible` - * \cgalModels `CopyConstructible` + * \cgalModels{Assignable,DefaultConstructible,CopyConstructible} */ class X_monotone_curve_2 { public: @@ -287,10 +281,7 @@ namespace CGAL { /*! Construction functor of a point. * - * \cgalModels `Assignable` - * \cgalModels `CopyConstructible` - * \cgalModels `AdaptableUnaryFunction` - * \cgalModels `AdaptableTernaryFunction` + * \cgalModels{Assignable,CopyConstructible,AdaptableUnaryFunction,AdaptableTernaryFunction} */ /*! */ @@ -325,11 +316,7 @@ namespace CGAL { /*! Construction functor of \f$x\f$-monotone geodesic arcs. * - * \cgalModels `Assignable` - * \cgalModels `CopyConstructible` - * \cgalModels `AdaptableUnaryFunction` - * \cgalModels `AdaptableBinaryFunction` - * \cgalModels `AdaptableTernaryFunction` + * \cgalModels{Assignable,CopyConstructible,AdaptableUnaryFunction,AdaptableBinaryFunction,AdaptableTernaryFunction} */ class Construct_x_monotone_curve_2 { public: @@ -393,11 +380,7 @@ namespace CGAL { /*! Construction functor of geodesic arcs. * - * \cgalModels `Assignable` - * \cgalModels `CopyConstructible` - * \cgalModels `AdaptableUnaryFunction` - * \cgalModels `AdaptableBinaryFunction` - * \cgalModels `AdaptableTernaryFunction` + * \cgalModels{Assignable,CopyConstructible,AdaptableUnaryFunction,AdaptableBinaryFunction,AdaptableTernaryFunction} */ class Construct_curve_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_landmarks_point_location.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_landmarks_point_location.h index 96796cf5213..2567ed62d7c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_landmarks_point_location.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_landmarks_point_location.h @@ -47,8 +47,7 @@ when the application frequently issues point-location queries on a rather static arrangement that the changes applied to it are mainly insertions of curves and not deletions of them. -\cgalModels `ArrangementPointLocation_2` -\cgalModels `ArrangementVerticalRayShoot_2` +\cgalModels{ArrangementPointLocation_2,ArrangementVerticalRayShoot_2} \sa `ArrangementPointLocation_2` \sa `ArrangementVerticalRayShoot_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_line_arc_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_line_arc_traits_2.h index b1b230c0393..909792816a7 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_line_arc_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_line_arc_traits_2.h @@ -8,7 +8,7 @@ This class is a traits class for \cgal arrangements, built on top of a model of concept `CircularKernel`. It provides curves of type `CGAL::Line_arc_2`. -\cgalModels `ArrangementTraits_2` +\cgalModels{ArrangementTraits_2} */ template< typename CircularKernel > diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h index c46342987f8..7f1d5825c01 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h @@ -21,9 +21,7 @@ namespace CGAL { * we can find out its actual type and convert it to the respective kernel * object (say, to a `Kernel::Ray_2`). * - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementLandmarkTraits_2` - * \cgalModels `ArrangementOpenBoundaryTraits_2` + * \cgalModels{ArrangementTraits_2,ArrangementLandmarkTraits_2,ArrangementOpenBoundaryTraits_2} */ template< typename Kernel > class Arr_linear_traits_2 { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_naive_point_location.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_naive_point_location.h index b79e948e3e7..8c08d593518 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_naive_point_location.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_naive_point_location.h @@ -13,8 +13,7 @@ The query time is therefore linear in the complexity of the arrangement. Naturally, this point-location strategy could turn into a heavy time-consuming process when applied to dense arrangements. -\cgalModels `ArrangementPointLocation_2` -\cgalModels `ArrangementVerticalRayShoot_2` +\cgalModels{ArrangementPointLocation_2,ArrangementVerticalRayShoot_2} \sa `ArrangementPointLocation_2` \sa `ArrangementVerticalRayShoot_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_basic_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_basic_traits_2.h index 2a97525dc22..e85664bdb76 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_basic_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_basic_traits_2.h @@ -21,7 +21,7 @@ instantiations for the kernel. Using other (inexact) number types `Simple_cartesian`) is also possible, at the user's own risk. -\cgalModels `ArrangementLandmarkTraits_2` +\cgalModels{ArrangementLandmarkTraits_2} */ template< typename Kernel > diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_traits_2.h index c5b1ad7bf9b..32a67f5162d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_non_caching_segment_traits_2.h @@ -32,9 +32,7 @@ the `Are_mergeable_2` operation does not enforce the input curves to have the same direction as a precondition. Moreover, `Arr_non_caching_segment_traits_2` supports the merging of curves of opposite directions. -\cgalModels `ArrangementTraits_2` -\cgalModels `ArrangementLandmarkTraits_2` -\cgalModels `ArrangementDirectionalXMonotoneTraits_2` +\cgalModels{ArrangementTraits_2,ArrangementLandmarkTraits_2,ArrangementDirectionalXMonotoneTraits_2} \sa `Arr_segment_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polycurve_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polycurve_traits_2.h index 78787314913..a1bb1b331d1 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polycurve_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polycurve_traits_2.h @@ -72,10 +72,9 @@ namespace CGAL { * set the macro `CGAL_ALWAYS_LEFT_TO_RIGHT` to 1 before any \cgal header is * included. * - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementDirectionalXMonotoneTraits_2` - * \cgalModels `ArrangementApproximateTraits_2` (if the type that substitutes - * the template parameter `SubcurveTraits_2` models the concept as well) + * \cgalModels{ArrangementTraits_2,ArrangementDirectionalXMonotoneTraits_2, + * ArrangementApproximateTraits_2 (if the type that substitutes + * the template parameter `SubcurveTraits_2` models the concept as well)} * * \sa `Arr_algebraic_segment_traits_2` * \sa `Arr_Bezier_curve_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polyline_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polyline_traits_2.h index 9c86561f925..8f63945a3af 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polyline_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_polyline_traits_2.h @@ -77,12 +77,9 @@ namespace CGAL { * the macro `CGAL_ALWAYS_LEFT_TO_RIGHT` to 1 before any \cgal header is * included. * - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementDirectionalXMonotoneTraits_2` - * \cgalModels `ArrangementConstructXMonotoneCurveTraits_2` - * \cgalModels `ArrangementConstructCurveTraits_2` - * \cgalModels `ArrangementApproximateTraits_2` (if the type that substitutes - * the template parameter `SegmentTraits_2` models the concept as well) + * \cgalModels{ArrangementTraits_2,ArrangementDirectionalXMonotoneTraits_2,`ArrangementConstructXMonotoneCurveTraits_2` + * ArrangementConstructCurveTraits_2,ArrangementApproximateTraits_2 (if the type that substitutes + * the template parameter `SegmentTraits_2` models the concept as well)} * * \sa `Arr_polycurve_traits_2` * \sa `Arr_Bezier_curve_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h index b773cddf170..7c121ebf897 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h @@ -52,9 +52,7 @@ namespace CGAL { to have the same direction as a precondition. Moreover, `Arr_rational_function_traits_2` supports the merging of curves of opposite directions. - \cgalModels `ArrangementTraits_2` - \cgalModels `ArrangementDirectionalXMonotoneTraits_2` - \cgalModels `ArrangementOpenBoundaryTraits_2` + \cgalModels{ArrangementTraits_2,ArrangementDirectionalXMonotoneTraits_2,ArrangementOpenBoundaryTraits_2} */ template< typename AlgebraicKernel_d_1 > class Arr_rational_function_traits_2 { @@ -134,10 +132,7 @@ Functor to construct a `Curve_2`. To enable caching the class is not default constructible and must be obtained via the function `construct_curve_2_object()`, which is a member of the traits. -\cgalModels `Assignable` -\cgalModels `CopyConstructible` -\cgalModels `AdaptableBinaryFunction` -\cgalModels `AdaptableUnaryFunction` +\cgalModels{Assignable,CopyConstructible,AdaptableBinaryFunction,AdaptableUnaryFunction} */ class Construct_curve_2 { @@ -289,10 +284,7 @@ Functor to construct a `X_monotone_curve_2`. To enable caching the class is not default constructible and must be obtained via the function `construct_x_monotone_curve_2_object()`, which is a member of the traits. -\cgalModels `Assignable` -\cgalModels `CopyConstructible` -\cgalModels `AdaptableBinaryFunction` -\cgalModels `AdaptableUnaryFunction` +\cgalModels{Assignable,CopyConstructible,AdaptableBinaryFunction,AdaptableUnaryFunction} */ class Construct_x_monotone_curve_2 { @@ -460,7 +452,7 @@ const Algebraic_real_1& lower, const Algebraic_real_1& upper); const The `Curve_2` class nested within the traits is used to represent rational functions which may be restricted to a certain x-range. -\cgalModels `ArrTraits::Curve_2` +\cgalModels{ArrTraits::Curve_2} */ class Curve_2 { @@ -531,7 +523,7 @@ Algebraic_real_1 right_x() const; /*! -\cgalModels `ArrTraits::Point_2` +\cgalModels{ArrTraits::Point_2} */ class Point_2 { @@ -633,7 +625,7 @@ The `X_monotone_curve_2` class nested within the traits is used to represent \f$ x\f$-monotone parts of rational functions. In particular, such an \f$ x\f$-monotone curve may not contain a vertical asymptote in its interior \f$ x\f$-range. -\cgalModels `ArrTraits::XMonotoneCurve_2` +\cgalModels{ArrTraits::XMonotoneCurve_2} */ class X_monotone_curve_2 { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_segment_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_segment_traits_2.h index 3d7d3ab5826..9036308edaa 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_segment_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_segment_traits_2.h @@ -52,9 +52,7 @@ namespace CGAL { * same direction as a precondition. Moreover, `Arr_segment_traits_2` supports * the merging of curves of opposite directions. * - * \cgalModels `ArrangementTraits_2` - * \cgalModels `ArrangementLandmarkTraits_2` - * \cgalModels `ArrangementDirectionalXMonotoneTraits_2` + * \cgalModels{ArrangementTraits_2,ArrangementLandmarkTraits_2,ArrangementDirectionalXMonotoneTraits_2} */ template class Arr_segment_traits_2 : public Kernel { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_spherical_topology_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_spherical_topology_traits_2.h index 3969c0a92cc..5c1775e331f 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_spherical_topology_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_spherical_topology_traits_2.h @@ -21,7 +21,7 @@ namespace CGAL { * `Arr_default_dcel`. * * - * \cgalModels `ArrangementBasicTopologyTraits` + * \cgalModels{ArrangementBasicTopologyTraits} * * \sa `Arr_default_dcel` * \sa `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_trapezoid_ric_point_location.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_trapezoid_ric_point_location.h index b8187252b1c..d51ad4cbced 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_trapezoid_ric_point_location.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_trapezoid_ric_point_location.h @@ -26,8 +26,7 @@ is relatively large. This strategy supports arbitrary subdivisions, including unbounded ones. -\cgalModels `ArrangementPointLocation_2` -\cgalModels `ArrangementVerticalRayShoot_2` +\cgalModels{ArrangementPointLocation_2,ArrangementVerticalRayShoot_2} \sa `ArrangementPointLocation_2` \sa `ArrangementVerticalRayShoot_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_triangulation_point_location.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_triangulation_point_location.h index 4ad6dfeb8eb..5106f32ec36 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_triangulation_point_location.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_triangulation_point_location.h @@ -15,8 +15,7 @@ namespace CGAL { * (especially when the number of modifications applied to the arrangement is * high) and provided only for educational purposes. * - * \cgalModels `ArrangementPointLocation_2` - * \cgalModels `ArrangementVerticalRayShoot_2` + * \cgalModels{ArrangementPointLocation_2,ArrangementVerticalRayShoot_2} * * \sa `ArrangementPointLocation_2` * \sa `ArrangementVerticalRayShoot_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_unb_planar_topology_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_unb_planar_topology_traits_2.h index 4c7c69fa5ae..06efe81c731 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_unb_planar_topology_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_unb_planar_topology_traits_2.h @@ -21,7 +21,7 @@ namespace CGAL { * `Arr_default_dcel`. * * - * \cgalModels `ArrangementBasicTopologyTraits` + * \cgalModels{ArrangementBasicTopologyTraits} * * \sa `Arr_default_dcel` * \sa `CGAL::Arr_geodesic_arc_on_sphere_traits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h index 992a9862b9b..1c915a6b23c 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h @@ -19,10 +19,7 @@ existing vertices might be removed, the notification mechanism is used to dynamically maintain the mapping of vertex handles to indices. -\cgalModels DefaultConstructible -\cgalModels CopyConstructible -\cgalModels Assignable -\cgalModels `ReadablePropertyMap` +\cgalModels{DefaultConstructible,CopyConstructible,Assignable,ReadablePropertyMap} \sa `Arr_observer` \sa `Arr_face_index_map` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_walk_along_line_point_location.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_walk_along_line_point_location.h index e6141a6779d..60ec6272ffd 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_walk_along_line_point_location.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_walk_along_line_point_location.h @@ -23,8 +23,7 @@ It is therefore recommended to use the "walk" point-location strategy for arrangements that are constantly changing, especially if the number of issued queries is not large. -\cgalModels `ArrangementPointLocation_2` -\cgalModels `ArrangementVerticalRayShoot_2` +\cgalModels{ArrangementPointLocation_2,ArrangementVerticalRayShoot_2} \sa `ArrangementPointLocation_2` \sa `ArrangementVerticalRayShoot_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_text_formatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_text_formatter.h index fa5d3ff9698..4695aa5cfb5 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_text_formatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_text_formatter.h @@ -18,8 +18,7 @@ defined by the `Arrangement` template-parameter, as well as the `VertexData`, `HalfedgeData` and `FaceData` types, can all be written to an input stream using the `<<` operator and read from an input stream using the `>>` operator. -\cgalModels `ArrangementInputFormatter` -\cgalModels `ArrangementOutputFormatter` +\cgalModels{ArrangementInputFormatter,ArrangementOutputFormatter} \sa `PkgArrangementOnSurface2Read` \sa `PkgArrangementOnSurface2Write` @@ -50,8 +49,7 @@ The `Arr_face_extended_text_formatter` class assumes that the nested `Point_2` a defined by the `Arrangement` template-parameter and that the `FaceData` type can all be written to an input stream using the `<<` operator and read from an input stream using the `>>` operator. -\cgalModels `ArrangementInputFormatter` -\cgalModels `ArrangementOutputFormatter` +\cgalModels{ArrangementInputFormatter,ArrangementOutputFormatter} \sa `PkgArrangementOnSurface2Read` \sa `PkgArrangementOnSurface2Write` @@ -81,8 +79,7 @@ defined by the `Arrangement` template-parameter can both be written to an input stream using the `<<` operator and read from an input stream using the `>>` operator. -\cgalModels `ArrangementInputFormatter` -\cgalModels `ArrangementOutputFormatter` +\cgalModels{ArrangementInputFormatter,ArrangementOutputFormatter} \sa `PkgArrangementOnSurface2Read` \sa `PkgArrangementOnSurface2Write` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_with_history_text_formatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_with_history_text_formatter.h index 9c02ec33400..564b6534b34 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_with_history_text_formatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/IO/Arr_with_history_text_formatter.h @@ -15,8 +15,7 @@ the base arrangement, while the derived class is responsible for reading and writing the set of curves inducing the arrangement and maintaining the relations between these curves and the edges they induce. -\cgalModels `ArrangementWithHistoryInputFormatter` -\cgalModels `ArrangementWithHistoryOutputFormatter` +\cgalModels{ArrangementWithHistoryInputFormatter,ArrangementWithHistoryOutputFormatter} \sa `PkgArrangementOnSurface2Read` \sa `PkgArrangementOnSurface2Write` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h index 956aad8144f..3a43a08c1a2 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Approximate_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementApproximateTraits_2::Approximate_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementApproximateTraits_2::Approximate_2} + * \cgalHasModelsEnd */ class Approximate_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h index 66e4e53e898..8c9f51309ab 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--AreMergeable_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementXMonotoneTraits_2::Are_mergeable_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementXMonotoneTraits_2::Are_mergeable_2} + * \cgalHasModelsEnd */ class AreMergeable_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h index 01f854b6426..ad6f44f179a 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXNearBoundary_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableTernaryFunction} * - * \cgalHasModel ArrangementOpenBoundaryTraits_2::Compare_x_near_boundary_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementOpenBoundaryTraits_2::Compare_x_near_boundary_} + * \cgalHasModelsEnd */ class CompareXNearBoundary_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h index 3a31719bb75..28208660fec 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundaryOfCurveEnd_2.h @@ -5,9 +5,11 @@ namespace ArrTraits { * * \cgalRefines{AdaptableFunctor} * - * \cgalHasModel ArrangementHorizontalSideTraits_2::Compare_x_on_boundary_2 - * \cgalHasModel ArrangementOpenBoundaryTraits_2::Compare_x_on_boundary_2 - * \cgalHasModel ArrangementSphericalBoundaryTraits_2::Compare_x_on_boundary_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementHorizontalSideTraits_2::Compare_x_on_boundary_2} + * \cgalHasModels{ArrangementOpenBoundaryTraits_2::Compare_x_on_boundary_2} + * \cgalHasModels{ArrangementSphericalBoundaryTraits_2::Compare_x_on_boundary_2} + * \cgalHasModelsEnd */ class CompareXOnBoundaryOfCurveEnd_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h index 4339c3f369d..af30ebbfb93 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXOnBoundary_2.h @@ -5,9 +5,11 @@ namespace ArrTraits { * * \cgalRefines{AdaptableFunctor} * - * \cgalHasModel ArrangementClosedBottomTraits_2::Compare_x_on_boundary_2 - * \cgalHasModel ArrangementClosedTopTraits_2::Compare_x_on_boundary_2 - * \cgalHasModel ArrangementIdentifiedHorizontalTraits_2::Compare_x_on_boundary_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementClosedBottomTraits_2::Compare_x_on_boundary_2} + * \cgalHasModels{ArrangementClosedTopTraits_2::Compare_x_on_boundary_2} + * \cgalHasModels{ArrangementIdentifiedHorizontalTraits_2::Compare_x_on_boundary_2} + * \cgalHasModelsEnd */ class CompareXOnBoundary_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h index 413311319d6..466869d5a01 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareX_2.h @@ -4,7 +4,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Compare_x_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Compare_x_2} + * \cgalHasModelsEnd */ class CompareX_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h index a485ec1a623..db282c6d238 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareXy_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Compare_xy_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Compare_xy_2} + * \cgalHasModelsEnd */ class CompareXy_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h index 5f50c695cea..f49c04d0ec1 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXLeft_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableTernaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Compare_y_at_x_left_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Compare_y_at_x_left_2} + * \cgalHasModelsEnd */ class CompareYAtXLeft_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h index 670752239a7..62fe93cdc3a 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtXRight_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableTernaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Compare_y_at_x_right_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Compare_y_at_x_right_2} + * \cgalHasModelsEnd */ class CompareYAtXRight_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h index 53bfaa49591..bc8d1d81573 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYAtX_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Compare_y_at_x_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Compare_y_at_x_2} + * \cgalHasModelsEnd */ class CompareYAtX_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h index f4bc83bd1a9..cb11491e316 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYNearBoundary_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableTernaryFunction} * - * \cgalHasModel ArrangementOpenBoundaryTraits_2::Compare_y_near_boundary_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementOpenBoundaryTraits_2::Compare_y_near_boundary_2} + * \cgalHasModelsEnd */ class CompareYNearBoundary_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h index 117023bc832..206458c178b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--CompareYOnBoundary_2.h @@ -5,10 +5,12 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementClosedLeftTraits_2::Compare_y_on_boundary_2 - * \cgalHasModel ArrangementClosedRightTraits_2::Compare_y_on_boundary_2 - * \cgalHasModel ArrangementIdentifiedVerticalTraits_2::Compare_y_on_boundary_2 - * \cgalHasModel ArrangementSphericalBoundaryTraits_2::Compare_y_on_boundary_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementClosedLeftTraits_2::Compare_y_on_boundary_2} + * \cgalHasModels{ArrangementClosedRightTraits_2::Compare_y_on_boundary_2} + * \cgalHasModels{ArrangementIdentifiedVerticalTraits_2::Compare_y_on_boundary_2} + * \cgalHasModels{ArrangementSphericalBoundaryTraits_2::Compare_y_on_boundary_2} + * \cgalHasModelsEnd */ class CompareYOnBoundary_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h index 72620babd22..12a1109a33b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructCurve_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementConstructCurveTraits_2::Construct_curve_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementConstructCurveTraits_2::Construct_curve_2} + * \cgalHasModelsEnd */ class ConstructCurve_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h index e5c4146c9fa..85d379693bf 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMaxVertex_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableUnaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Construct_max_vertex_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Construct_max_vertex_2} + * \cgalHasModelsEnd */ class ConstructMaxVertex_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h index 472c793d9f4..f9f8f3b99ac 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructMinVertex_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableUnaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Construct_min_vertex_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Construct_min_vertex_2} + * \cgalHasModelsEnd */ class ConstructMinVertex_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h index 6fc6381803a..39c1e7b42e5 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ConstructXMonotoneCurve_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementConstructXMonotoneCurveTraits_2::Construct_x_monotone_curve_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementConstructXMonotoneCurveTraits_2::Construct_x_monotone_curve_2} + * \cgalHasModelsEnd */ class ConstructXMonotoneCurve_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h index d923f9b27db..5268f489519 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Curve_2.h @@ -6,7 +6,9 @@ namespace ArrTraits { * represents a general planar curve. * * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - * \cgalHasModel ArrangementTraits_2::Curve_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementTraits_2::Curve_2} + * \cgalHasModelsEnd */ class Curve_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h index 41cf7e2f6c6..ed6d47ed592 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Equal_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Equal_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Equal_2} + * \cgalHasModelsEnd */ class Equal_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h index bdf32267331..7f0c1a50fcd 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Intersect_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementXMonotoneTraits_2::Intersect_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementXMonotoneTraits_2::Intersect_2} + * \cgalHasModelsEnd */ class Intersect_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h index 47bba6ea744..351ae415352 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnXIdentification_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableUnaryFunction} * - * \cgalHasModel ArrangementIdentifiedHorizontalTraits_2::Is_on_x_identification_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementIdentifiedHorizontalTraits_2::Is_on_x_identification_2} + * \cgalHasModelsEnd */ class IsOnXIdentification_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h index d9a69236ee8..5ca8c772233 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsOnYIdentification_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableUnaryFunction} * - * \cgalHasModel ArrangementIdentifiedVerticalTraits_2::Is_on_y_identification_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementIdentifiedVerticalTraits_2::Is_on_y_identification_2} + * \cgalHasModelsEnd */ class IsOnYIdentification_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h index 1831b790c56..e6894c911cf 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--IsVertical_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{AdaptableUnaryFunction} * - * \cgalHasModel ArrangementBasicTraits_2::Is_vertical_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Is_vertical_2} + * \cgalHasModelsEnd */ class IsVertical_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h index 32c5efccb0b..3f125aea2f6 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--MakeXMonotone_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementTraits_2::Make_x_monotone_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementTraits_2::Make_x_monotone_2} + * \cgalHasModelsEnd */ class MakeXMonotone_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h index 8e61d8c7500..0ff9c3ff392 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Merge_2.h @@ -5,7 +5,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementXMonotoneTraits_2::Merge_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementXMonotoneTraits_2::Merge_2} + * \cgalHasModelsEnd */ class Merge_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h index a37db7c40f6..3f0c55da195 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInX_2.h @@ -5,9 +5,11 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementVerticalSideTraits_2::Parameter_space_in_x_2 - * \cgalHasModel ArrangementOpenBoundaryTraits_2::Parameter_space_in_x_2 - * \cgalHasModel ArrangementSphericalBoundaryTraits_2::Parameter_space_in_x_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementVerticalSideTraits_2::Parameter_space_in_x_2} + * \cgalHasModels{ArrangementOpenBoundaryTraits_2::Parameter_space_in_x_2} + * \cgalHasModels{ArrangementSphericalBoundaryTraits_2::Parameter_space_in_x_2} + * \cgalHasModelsEnd */ class ParameterSpaceInX_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h index 0844ee649a4..c598003b214 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--ParameterSpaceInY_2.h @@ -5,9 +5,11 @@ namespace ArrTraits { * * \cgalRefines{AdaptableBinaryFunction} * - * \cgalHasModel ArrangementHorizontalSideTraits_2::Parameter_space_in_y_2 - * \cgalHasModel ArrangementOpenBoundaryTraits_2::Parameter_space_in_y_2 - * \cgalHasModel ArrangementSphericalBoundaryTraits_2::Parameter_space_in_y_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementHorizontalSideTraits_2::Parameter_space_in_y_2} + * \cgalHasModels{ArrangementOpenBoundaryTraits_2::Parameter_space_in_y_2} + * \cgalHasModels{ArrangementSphericalBoundaryTraits_2::Parameter_space_in_y_2} + * \cgalHasModelsEnd */ class ParameterSpaceInY_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h index 78273b88947..337ccf35ae5 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Point_2.h @@ -7,7 +7,9 @@ namespace ArrTraits { * * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * - * \cgalHasModel ArrangementBasicTraits_2::Point_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::Point_2} + * \cgalHasModelsEnd */ class Point_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h index 45210b92d0c..68a833aa549 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--Split_2.h @@ -4,7 +4,9 @@ namespace ArrTraits { * * \cgalRefines{Functor} * - * \cgalHasModel ArrangementXMonotoneTraits_2::Split_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementXMonotoneTraits_2::Split_2} + * \cgalHasModelsEnd */ class Split_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h index 6b23acac29d..3b61bb2dca4 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrTraits--XMonotoneCurve_2.h @@ -6,7 +6,9 @@ namespace ArrTraits { * * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * - * \cgalHasModel ArrangementBasicTraits_2::X_monotone_curve_2 + * \cgalHasModelsBegin + * \cgalHasModels{ArrangementBasicTraits_2::X_monotone_curve_2} + * \cgalHasModelsEnd */ class XMonotoneCurve_2 { public: diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h index b92f249431b..7dfd9a01f6b 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementApproximateTraits_2.h @@ -8,14 +8,16 @@ point. \cgalRefines{ArrangementBasicTraits_2} -\cgalHasModel `CGAL::Arr_conic_traits_2` -\cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` -\cgalHasModel `CGAL::Arr_linear_traits_2` -\cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` -\cgalHasModel `CGAL::Arr_segment_traits_2` -\cgalHasModel `CGAL::Arr_polycurve_traits_2` -\cgalHasModel `CGAL::Arr_polyline_traits_2` -\cgalHasModel `CGAL::Arr_rational_function_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_conic_traits_2} +\cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} +\cgalHasModels{CGAL::Arr_linear_traits_2} +\cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} +\cgalHasModels{CGAL::Arr_segment_traits_2} +\cgalHasModels{CGAL::Arr_polycurve_traits_2} +\cgalHasModels{CGAL::Arr_polyline_traits_2} +\cgalHasModels{CGAL::Arr_rational_function_traits_2} +\cgalHasModelsEnd \sa `ArrangementConstructXMonotoneCurveTraits_2`, `ArrangementXMonotoneTraits_2`, and diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTopologyTraits.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTopologyTraits.h index 750182554c3..e30fada356a 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTopologyTraits.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTopologyTraits.h @@ -9,7 +9,9 @@ * represent the arrangement cells (i.e., vertices, edges, and facets) and the * incident relations between them. * - * \cgalHasModel `CGAL::Arr_spherical_topology_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_spherical_topology_traits_2} + * \cgalHasModelsEnd */ class ArrangementBasicTopologyTraits { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h index 4b8cbbbf7c2..3771c0af1e0 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementBasicTraits_2.h @@ -27,21 +27,23 @@ * * \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} * - * \cgalHasModel `CGAL::Arr_segment_traits_2` - * \cgalHasModel `CGAL::Arr_non_caching_segment_basic_traits_2` - * \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_polyline_traits_2` - * \cgalHasModel `CGAL::Arr_circle_segment_traits_2` - * \cgalHasModel `CGAL::Arr_line_arc_traits_2` - * \cgalHasModel `CGAL::Arr_circular_arc_traits_2` - * \cgalHasModel `CGAL::Arr_circular_line_arc_traits_2` - * \cgalHasModel `CGAL::Arr_conic_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` - * \cgalHasModel `CGAL::Arr_Bezier_curve_traits_2` - * \cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` - * \cgalHasModel `CGAL::Arr_curve_data_traits_2` - * \cgalHasModel `CGAL::Arr_consolidated_curve_data_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_segment_traits_2} + * \cgalHasModels{CGAL::Arr_non_caching_segment_basic_traits_2} + * \cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_polyline_traits_2} + * \cgalHasModels{CGAL::Arr_circle_segment_traits_2} + * \cgalHasModels{CGAL::Arr_line_arc_traits_2} + * \cgalHasModels{CGAL::Arr_circular_arc_traits_2} + * \cgalHasModels{CGAL::Arr_circular_line_arc_traits_2} + * \cgalHasModels{CGAL::Arr_conic_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModels{CGAL::Arr_Bezier_curve_traits_2} + * \cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} + * \cgalHasModels{CGAL::Arr_curve_data_traits_2} + * \cgalHasModels{CGAL::Arr_consolidated_curve_data_traits_2} + * \cgalHasModelsEnd */ class ArrangementBasicTraits_2 { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h index afc3942cba8..570967c2932 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructCurveTraits_2.h @@ -7,13 +7,15 @@ * * \cgalRefines{ArrangementTraits_2} * - * \cgalHasModel `CGAL::Arr_conic_traits_2` - * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` - * \cgalHasModel `CGAL::Arr_segment_traits_2` - * \cgalHasModel `CGAL::Arr_polyline_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_conic_traits_2} + * \cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} + * \cgalHasModels{CGAL::Arr_segment_traits_2} + * \cgalHasModels{CGAL::Arr_polyline_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementConstructXMonotoneCurveTraits_2`, and * `ArrangementTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h index 394f98f5a3b..6d0a822280e 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementConstructXMonotoneCurveTraits_2.h @@ -7,13 +7,15 @@ * * \cgalRefines{ArrangementBasicTraits_2} * - * \cgalHasModel `CGAL::Arr_conic_traits_2` - * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` - * \cgalHasModel `CGAL::Arr_segment_traits_2` - * \cgalHasModel `CGAL::Arr_polyline_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_conic_traits_2} + * \cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} + * \cgalHasModels{CGAL::Arr_segment_traits_2} + * \cgalHasModels{CGAL::Arr_polyline_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementApproximateTraits_2`, * `ArrangementXMonotoneTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcel.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcel.h index f685263e31e..b0cb67e12e9 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcel.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcel.h @@ -14,10 +14,12 @@ * `ArrangementDcelHalfedge`, `ArrangementDcelFace`, `ArrangementDcelOuterCcb`, * `ArrangementDcelInnerCcb`, and `ArrangementDcelIsolatedVertex` respectively.) * - * \cgalHasModel `CGAL::Arr_dcel_base` - * \cgalHasModel `CGAL::Arr_default_dcel` - * \cgalHasModel `CGAL::Arr_face_extended_dcel` - * \cgalHasModel `CGAL::Arr_extended_dcel` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_dcel_base} + * \cgalHasModels{CGAL::Arr_default_dcel} + * \cgalHasModels{CGAL::Arr_face_extended_dcel} + * \cgalHasModels{CGAL::Arr_extended_dcel} + * \cgalHasModelsEnd * * \sa `ArrangementDcelVertex` * \sa `ArrangementDcelHalfedge` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h index 88e4fff19f0..f263a1aae0d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementDcelWithRebind.h @@ -10,9 +10,11 @@ Instantiate a dcel class with many different possible types without ad-hoc limit \cgalRefines{ArrangementDcel} -\cgalHasModel `CGAL::Arr_default_dcel` -\cgalHasModel `CGAL::Arr_face_extended_dcel` -\cgalHasModel `CGAL::Arr_extended_dcel` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_default_dcel} +\cgalHasModels{CGAL::Arr_face_extended_dcel} +\cgalHasModels{CGAL::Arr_extended_dcel} +\cgalHasModelsEnd */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h index e659a3be297..e28c300acea 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementHorizontalSideTraits_2.h @@ -11,10 +11,12 @@ * * \cgalRefines{ArrangementBasicTraits_2} * - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` - * \cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` - * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} + * \cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementVerticalSideTraits_2` */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementInputFormatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementInputFormatter.h index 09e87373c1e..286b02727ad 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementInputFormatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementInputFormatter.h @@ -5,9 +5,11 @@ * functions that enable reading an arrangement from an input stream using a * specific format. * - * \cgalHasModel `CGAL::Arr_text_formatter` - * \cgalHasModel `CGAL::Arr_face_extended_text_formatter` - * \cgalHasModel `CGAL::Arr_extended_dcel_text_formatter` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_text_formatter} + * \cgalHasModels{CGAL::Arr_face_extended_text_formatter} + * \cgalHasModels{CGAL::Arr_extended_dcel_text_formatter} + * \cgalHasModelsEnd * */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h index cc66b479fbe..75c1a6bd241 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementLandmarkTraits_2.h @@ -11,14 +11,16 @@ * * \cgalRefines{ArrangementApproximateTraits_2,ArrangementConstructXMonotoneCurveTraits_2} * - * \cgalHasModel `CGAL::Arr_conic_traits_2` - * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` - * \cgalHasModel `CGAL::Arr_segment_traits_2` - * \cgalHasModel `CGAL::Arr_polycurve_traits_2` - * \cgalHasModel `CGAL::Arr_polyline_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_conic_traits_2} + * \cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} + * \cgalHasModels{CGAL::Arr_segment_traits_2} + * \cgalHasModels{CGAL::Arr_polycurve_traits_2} + * \cgalHasModels{CGAL::Arr_polyline_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementXMonotoneTraits_2` and * `ArrangementTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h index 8190767e71c..7cce69c075d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOpenBoundaryTraits_2.h @@ -39,11 +39,13 @@ * * \cgalRefines{ArrangementBasicTraits_2} * - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` - * \cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` - * \cgalHasModel `CGAL::Arr_curve_data_traits_2` - * \cgalHasModel `CGAL::Arr_consolidated_curve_data_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} + * \cgalHasModels{CGAL::Arr_curve_data_traits_2} + * \cgalHasModels{CGAL::Arr_consolidated_curve_data_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementBasicTraits_2` * \sa `ArrangementXMonotoneTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOutputFormatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOutputFormatter.h index 0418ee873b5..bb1846ad8f5 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOutputFormatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementOutputFormatter.h @@ -6,9 +6,11 @@ A model for the `ArrangementOutputFormatter` concept supports a set of functions that enable writing an arrangement to an output stream using a specific format. -\cgalHasModel `CGAL::Arr_text_formatter` -\cgalHasModel `CGAL::Arr_face_extended_text_formatter` -\cgalHasModel `CGAL::Arr_extended_dcel_text_formatter` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_text_formatter} +\cgalHasModels{CGAL::Arr_face_extended_text_formatter} +\cgalHasModels{CGAL::Arr_extended_dcel_text_formatter} +\cgalHasModelsEnd */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h index b2fa1c3aae4..5840d853bfe 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h @@ -10,10 +10,12 @@ containing it. In the general case, the query point is contained inside an arrangement face, but in degenerate situations it may lie on an edge or coincide with an arrangement vertex. -\cgalHasModel `CGAL::Arr_naive_point_location` -\cgalHasModel `CGAL::Arr_walk_along_line_point_location` -\cgalHasModel `CGAL::Arr_trapezoid_ric_point_location` -\cgalHasModel `CGAL::Arr_landmarks_point_location` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_naive_point_location} +\cgalHasModels{CGAL::Arr_walk_along_line_point_location} +\cgalHasModels{CGAL::Arr_trapezoid_ric_point_location} +\cgalHasModels{CGAL::Arr_landmarks_point_location} +\cgalHasModelsEnd \sa `CGAL::Arr_naive_point_location` \sa `CGAL::Arr_walk_along_line_point_location` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h index 87ff1eb159c..25fde7ef42d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementSphericalBoundaryTraits_2.h @@ -11,7 +11,9 @@ * \cgalRefines{ArrangementBasicTraits_2,ArrangementIdentifiedVerticalTraits_2, * ArrangementContractedBottomTraits_2,ArrangementContractedTopTraits_2} * - * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementOpenBoundaryTraits_2` * \sa `ArrangementBasicTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopologyTraits.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopologyTraits.h index 2ea883dee11..bf0c5121709 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopologyTraits.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTopologyTraits.h @@ -20,9 +20,11 @@ * * At this point we do not expose all the requirements of this concept. * - * \cgalHasModel `CGAL::Arr_bounded_planar_topology_traits_2` - * \cgalHasModel `CGAL::Arr_unb_planar_topology_traits_2` - * \cgalHasModel `CGAL::Arr_spherical_topology_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_bounded_planar_topology_traits_2} + * \cgalHasModels{CGAL::Arr_unb_planar_topology_traits_2} + * \cgalHasModels{CGAL::Arr_spherical_topology_traits_2} + * \cgalHasModelsEnd * * \sa `Arrangement_on_surface_2` */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h index 05bac54d5a2..e7f2288b560 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementTraits_2.h @@ -30,20 +30,22 @@ that accept such curves, such as `intsert()`. \cgalRefines{ArrangementXMonotoneTraits_2} -\cgalHasModel `CGAL::Arr_segment_traits_2` -\cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` -\cgalHasModel `CGAL::Arr_linear_traits_2` -\cgalHasModel `CGAL::Arr_polyline_traits_2` -\cgalHasModel `CGAL::Arr_circle_segment_traits_2` -\cgalHasModel `CGAL::Arr_line_arc_traits_2` -\cgalHasModel `CGAL::Arr_circular_arc_traits_2` -\cgalHasModel `CGAL::Arr_circular_line_arc_traits_2` -\cgalHasModel `CGAL::Arr_conic_traits_2` -\cgalHasModel `CGAL::Arr_rational_function_traits_2` -\cgalHasModel `CGAL::Arr_Bezier_curve_traits_2` -\cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` -\cgalHasModel `CGAL::Arr_curve_data_traits_2` -\cgalHasModel `CGAL::Arr_consolidated_curve_data_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_segment_traits_2} +\cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} +\cgalHasModels{CGAL::Arr_linear_traits_2} +\cgalHasModels{CGAL::Arr_polyline_traits_2} +\cgalHasModels{CGAL::Arr_circle_segment_traits_2} +\cgalHasModels{CGAL::Arr_line_arc_traits_2} +\cgalHasModels{CGAL::Arr_circular_arc_traits_2} +\cgalHasModels{CGAL::Arr_circular_line_arc_traits_2} +\cgalHasModels{CGAL::Arr_conic_traits_2} +\cgalHasModels{CGAL::Arr_rational_function_traits_2} +\cgalHasModels{CGAL::Arr_Bezier_curve_traits_2} +\cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} +\cgalHasModels{CGAL::Arr_curve_data_traits_2} +\cgalHasModels{CGAL::Arr_consolidated_curve_data_traits_2} +\cgalHasModelsEnd \sa `ArrangementBasicTraits_2` \sa `ArrangementXMonotoneTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h index e676fefcf16..8ee996a9b0a 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h @@ -18,10 +18,12 @@ emanating from the query point goes to infinity without hitting any arrangement feature on its way. In this case the unbounded face is returned. -\cgalHasModel `CGAL::Arr_naive_point_location` -\cgalHasModel `CGAL::Arr_walk_along_line_point_location` -\cgalHasModel `CGAL::Arr_trapezoid_ric_point_location` -\cgalHasModel `CGAL::Arr_landmarks_point_location` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_naive_point_location} +\cgalHasModels{CGAL::Arr_walk_along_line_point_location} +\cgalHasModels{CGAL::Arr_trapezoid_ric_point_location} +\cgalHasModels{CGAL::Arr_landmarks_point_location} +\cgalHasModelsEnd \sa `CGAL::Arr_naive_point_location` \sa `CGAL::Arr_walk_along_line_point_location` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h index cc36ec97ea6..88802d7ad61 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalSideTraits_2.h @@ -11,10 +11,12 @@ * * \cgalRefines{ArrangementBasicTraits_2} * - * \cgalHasModel `CGAL::Arr_linear_traits_2` - * \cgalHasModel `CGAL::Arr_rational_function_traits_2` - * \cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` - * \cgalHasModel `CGAL::Arr_geodesic_arc_on_sphere_traits_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Arr_linear_traits_2} + * \cgalHasModels{CGAL::Arr_rational_function_traits_2} + * \cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} + * \cgalHasModels{CGAL::Arr_geodesic_arc_on_sphere_traits_2} + * \cgalHasModelsEnd * * \sa `ArrangementVerticalSideTraits_2` */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h index fd879fad9a0..0e6ec4d3af8 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryInputFormatter.h @@ -9,7 +9,9 @@ specific format. \cgalRefines{ArrangementInputFormatter} -\cgalHasModel `CGAL::Arr_with_history_text_formatter` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_with_history_text_formatter} +\cgalHasModelsEnd */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h index e766c2cfc26..2aa87cc1d95 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementWithHistoryOutputFormatter.h @@ -9,7 +9,9 @@ specific format. \cgalRefines{ArrangementOutputFormatter} -\cgalHasModel `CGAL::Arr_with_history_text_formatter` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_with_history_text_formatter} +\cgalHasModelsEnd */ diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h index 5eae4b190c2..88cc075b5b1 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementXMonotoneTraits_2.h @@ -18,20 +18,22 @@ curve splitting. \cgalRefines{ArrangementBasicTraits_2} -\cgalHasModel `CGAL::Arr_segment_traits_2` -\cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` -\cgalHasModel `CGAL::Arr_linear_traits_2` -\cgalHasModel `CGAL::Arr_polyline_traits_2` -\cgalHasModel `CGAL::Arr_circle_segment_traits_2` -\cgalHasModel `CGAL::Arr_line_arc_traits_2` -\cgalHasModel `CGAL::Arr_circular_arc_traits_2` -\cgalHasModel `CGAL::Arr_circular_line_arc_traits_2` -\cgalHasModel `CGAL::Arr_conic_traits_2` -\cgalHasModel `CGAL::Arr_rational_function_traits_2` -\cgalHasModel `CGAL::Arr_Bezier_curve_traits_2` -\cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` -\cgalHasModel `CGAL::Arr_curve_data_traits_2` -\cgalHasModel `CGAL::Arr_consolidated_curve_data_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_segment_traits_2} +\cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} +\cgalHasModels{CGAL::Arr_linear_traits_2} +\cgalHasModels{CGAL::Arr_polyline_traits_2} +\cgalHasModels{CGAL::Arr_circle_segment_traits_2} +\cgalHasModels{CGAL::Arr_line_arc_traits_2} +\cgalHasModels{CGAL::Arr_circular_arc_traits_2} +\cgalHasModels{CGAL::Arr_circular_line_arc_traits_2} +\cgalHasModels{CGAL::Arr_conic_traits_2} +\cgalHasModels{CGAL::Arr_rational_function_traits_2} +\cgalHasModels{CGAL::Arr_Bezier_curve_traits_2} +\cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} +\cgalHasModels{CGAL::Arr_curve_data_traits_2} +\cgalHasModels{CGAL::Arr_consolidated_curve_data_traits_2} +\cgalHasModelsEnd \sa `ArrangementBasicTraits_2` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/OverlayTraits.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/OverlayTraits.h index 9221705a709..137ccd40de4 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/OverlayTraits.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/OverlayTraits.h @@ -11,8 +11,10 @@ Models for the concept are used by the global `overlay()` function to maintain the auxiliary data stored with the \dcel records of the resulting overlaid arrangement, based on the contents of the input records. -\cgalHasModel `CGAL::Arr_default_overlay_traits` -\cgalHasModel `CGAL::Arr_face_overlay_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_default_overlay_traits} +\cgalHasModels{CGAL::Arr_face_overlay_traits} +\cgalHasModelsEnd \sa `overlay` diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/PackageDescription.txt b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/PackageDescription.txt index 4427a20e151..c14d0489746 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/PackageDescription.txt +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/PackageDescription.txt @@ -47,9 +47,7 @@ namespace ArrTraits {} /// \ingroup PkgArrangementOnSurface2Ref /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_arrangement_2.h} */ /// \defgroup PkgArrangementOnSurface2Draw Drawing /// \ingroup PkgArrangementOnSurface2Ref diff --git a/BGL/doc/BGL/CGAL/HalfedgeDS_face_max_base_with_id.h b/BGL/doc/BGL/CGAL/HalfedgeDS_face_max_base_with_id.h index 5518ffb5c0c..37c3f74bbd4 100644 --- a/BGL/doc/BGL/CGAL/HalfedgeDS_face_max_base_with_id.h +++ b/BGL/doc/BGL/CGAL/HalfedgeDS_face_max_base_with_id.h @@ -19,7 +19,7 @@ running a graph algorithm. \tparam Refs must be an instantiation of a `HalfedgeDS`. -\cgalModels `HalfedgeDSFace` +\cgalModels{HalfedgeDSFace} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/BGL/doc/BGL/CGAL/HalfedgeDS_halfedge_max_base_with_id.h b/BGL/doc/BGL/CGAL/HalfedgeDS_halfedge_max_base_with_id.h index f57951dc82e..e94aebb22e3 100644 --- a/BGL/doc/BGL/CGAL/HalfedgeDS_halfedge_max_base_with_id.h +++ b/BGL/doc/BGL/CGAL/HalfedgeDS_halfedge_max_base_with_id.h @@ -17,7 +17,7 @@ running a graph algorithm. \tparam Refs must be an instantiation of a `HalfedgeDS`. -\cgalModels `HalfedgeDSHalfedge` +\cgalModels{HalfedgeDSHalfedge} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/BGL/doc/BGL/CGAL/HalfedgeDS_vertex_max_base_with_id.h b/BGL/doc/BGL/CGAL/HalfedgeDS_vertex_max_base_with_id.h index 15fad92af97..ccc9f962a23 100644 --- a/BGL/doc/BGL/CGAL/HalfedgeDS_vertex_max_base_with_id.h +++ b/BGL/doc/BGL/CGAL/HalfedgeDS_vertex_max_base_with_id.h @@ -17,7 +17,7 @@ running a graph algorithm. \tparam Refs must be an instantiation of a `HalfedgeDS`. -\cgalModels `HalfedgeDSVertex` +\cgalModels{HalfedgeDSVertex} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/BGL/doc/BGL/CGAL/Linear_cell_complex_bgl_min_items.h b/BGL/doc/BGL/CGAL/Linear_cell_complex_bgl_min_items.h index 611ff3cd88b..72ef25afe5e 100644 --- a/BGL/doc/BGL/CGAL/Linear_cell_complex_bgl_min_items.h +++ b/BGL/doc/BGL/CGAL/Linear_cell_complex_bgl_min_items.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Linear_cell_complex_bgl_min_items` defines `void` as the information associated with darts, darts have ids and 0- and 2-attributes are enabled and have ids. -\cgalModels `LinearCellComplexItems` +\cgalModels{LinearCellComplexItems} \cgalHeading{Example} diff --git a/BGL/doc/BGL/CGAL/Polyhedron_items_with_id_3.h b/BGL/doc/BGL/CGAL/Polyhedron_items_with_id_3.h index 7db19153e87..7c4f69185dd 100644 --- a/BGL/doc/BGL/CGAL/Polyhedron_items_with_id_3.h +++ b/BGL/doc/BGL/CGAL/Polyhedron_items_with_id_3.h @@ -13,7 +13,7 @@ the point and the plane equation. Vertices and facets both contain a halfedge handle to an incident halfedge. -\cgalModels `PolyhedronItems_3` +\cgalModels{PolyhedronItems_3} \cgalHeading{Operations} diff --git a/BGL/doc/BGL/CGAL/Triangulation_face_base_with_id_2.h b/BGL/doc/BGL/CGAL/Triangulation_face_base_with_id_2.h index e6bdbbc6577..3ebf243d5f1 100644 --- a/BGL/doc/BGL/CGAL/Triangulation_face_base_with_id_2.h +++ b/BGL/doc/BGL/CGAL/Triangulation_face_base_with_id_2.h @@ -19,7 +19,7 @@ and must be a model of `TriangulationTraits_2`. `Triangulation_face_base_with_id_2` derives. It has the default value `Triangulation_face_base_2`. -\cgalModels `TriangulationFaceBase_2` +\cgalModels{TriangulationFaceBase_2} \sa `CGAL::Triangulation_face_base_2` */ diff --git a/BGL/doc/BGL/CGAL/Triangulation_vertex_base_with_id_2.h b/BGL/doc/BGL/CGAL/Triangulation_vertex_base_with_id_2.h index d9a58761062..1f267eb5b21 100644 --- a/BGL/doc/BGL/CGAL/Triangulation_vertex_base_with_id_2.h +++ b/BGL/doc/BGL/CGAL/Triangulation_vertex_base_with_id_2.h @@ -19,7 +19,7 @@ and must be a model of `TriangulationTraits_2`. `Triangulation_vertex_base_with_id_2` derives. It has the default value `Triangulation_vertex_base_2`. -\cgalModels `TriangulationVertexBase_2` +\cgalModels{TriangulationVertexBase_2} \sa `CGAL::Triangulation_vertex_base_2` */ diff --git a/BGL/doc/BGL/CGAL/boost/graph/properties.h b/BGL/doc/BGL/CGAL/boost/graph/properties.h index 01f6df7b62f..b8b2ab38e21 100644 --- a/BGL/doc/BGL/CGAL/boost/graph/properties.h +++ b/BGL/doc/BGL/CGAL/boost/graph/properties.h @@ -6,31 +6,41 @@ namespace CGAL { /// The constant `vertex_index` is a property tag which identifies the index property of a vertex of a \bgl /// Graph. -/// \cgalModels PropertyTag +/// \cgalModelsBareBegin +/// \cgalModelsBare{PropertyTag} +/// \cgalModelsBareEnd enum vertex_index_t { vertex_index }; /// The constant `halfedge_index` is a property tag which identifies the index property of a halfedge of a `HalfedgeGraph`. /// /// This is a property tag introduced by \cgal. -/// \cgalModels PropertyTag +/// \cgalModelsBareBegin +/// \cgalModelsBare{PropertyTag} +/// \cgalModelsBareEnd enum halfedge_index_t { halfedge_index }; /// The constant `edge_index` is a property tag which identifies the index property of an edge of a \bgl /// Graph. -/// \cgalModels PropertyTag +/// \cgalModelsBareBegin +/// \cgalModelsBare{PropertyTag} +/// \cgalModelsBareEnd enum edge_index_t { edge_index }; /// The constant `face_index` is a property tag which identifies the index property of a face of a `FaceGraph`. /// /// This is a property tag introduced by \cgal. -/// \cgalModels PropertyTag +/// \cgalModelsBareBegin +/// \cgalModelsBare{PropertyTag} +/// \cgalModelsBareEnd enum face_index_t { face_index }; /// The constant `vertex_point` is a property tag which refers to the geometric embedding property of /// a vertex of a `HalfedgeGraph`. /// /// This is a property tag introduced by \cgal. -/// \cgalModels PropertyTag +/// \cgalModelsBareBegin +/// \cgalModelsBare{PropertyTag} +/// \cgalModelsBareEnd enum vertex_point_t { vertex_point }; /// @} diff --git a/BGL/doc/BGL/Concepts/EdgeListGraph.h b/BGL/doc/BGL/Concepts/EdgeListGraph.h index 3b614c86c07..f1a0412db76 100644 --- a/BGL/doc/BGL/Concepts/EdgeListGraph.h +++ b/BGL/doc/BGL/Concepts/EdgeListGraph.h @@ -11,7 +11,9 @@ and adds the requirement for traversal of all edges in a graph. \cgalRefines{Graph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/FaceGraph.h b/BGL/doc/BGL/Concepts/FaceGraph.h index b7ea012f4c9..0320f5b7b76 100644 --- a/BGL/doc/BGL/Concepts/FaceGraph.h +++ b/BGL/doc/BGL/Concepts/FaceGraph.h @@ -20,7 +20,9 @@ A face descriptor must be `DefaultConstructible`, `Assignable`, `EqualityCompara \cgalRefines{HalfedgeGraph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/FaceListGraph.h b/BGL/doc/BGL/Concepts/FaceListGraph.h index 6e7936f5ad9..40339f34e8f 100644 --- a/BGL/doc/BGL/Concepts/FaceListGraph.h +++ b/BGL/doc/BGL/Concepts/FaceListGraph.h @@ -16,7 +16,9 @@ face iterator must be the same as the face descriptor of the graph. \cgalRefines{FaceGraph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/HalfedgeGraph.h b/BGL/doc/BGL/Concepts/HalfedgeGraph.h index 8a31a1a787a..15600e02175 100644 --- a/BGL/doc/BGL/Concepts/HalfedgeGraph.h +++ b/BGL/doc/BGL/Concepts/HalfedgeGraph.h @@ -38,7 +38,9 @@ An edge descriptor must be `DefaultConstructible`, `Assignable`, `EqualityCompar A model of `HalfedgeGraph` must have the interior property `vertex_point` attached to its vertices. -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/HalfedgeListGraph.h b/BGL/doc/BGL/Concepts/HalfedgeListGraph.h index 1019f3c336b..a709aadaa8b 100644 --- a/BGL/doc/BGL/Concepts/HalfedgeListGraph.h +++ b/BGL/doc/BGL/Concepts/HalfedgeListGraph.h @@ -16,7 +16,9 @@ halfedge iterator must be the same as the halfedge descriptor of the graph. \cgalRefines{HalfedgeGraph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/MutableFaceGraph.h b/BGL/doc/BGL/Concepts/MutableFaceGraph.h index 2ce0c981554..f47bf7de816 100644 --- a/BGL/doc/BGL/Concepts/MutableFaceGraph.h +++ b/BGL/doc/BGL/Concepts/MutableFaceGraph.h @@ -7,7 +7,9 @@ the requirement for operations to add faces and to modify face-halfedge relation \cgalRefines{FaceGraph,MutableHalfedgeGraph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h b/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h index 5ce56824a5a..c5d8c66ec56 100644 --- a/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h +++ b/BGL/doc/BGL/Concepts/MutableHalfedgeGraph.h @@ -8,7 +8,9 @@ update the incidence information between vertices and halfedges. \cgalRefines{HalfedgeGraph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/doc/BGL/Concepts/VertexListGraph.h b/BGL/doc/BGL/Concepts/VertexListGraph.h index aa88a4d1944..f6e65cf7200 100644 --- a/BGL/doc/BGL/Concepts/VertexListGraph.h +++ b/BGL/doc/BGL/Concepts/VertexListGraph.h @@ -11,7 +11,9 @@ and adds the requirement for traversal of all vertices in a graph. \cgalRefines{Graph} -\cgalHasModel See \link PkgBGLTraits Boost Graph Traits Specializations \endlink +\cgalHasModelsBegin +\cgalHasModelsBare{See \link PkgBGLTraits Boost Graph Traits Specializations \endlink} +\cgalHasModelsEnd \sa \link PkgBGLConcepts Graph Concepts \endlink */ diff --git a/BGL/include/CGAL/boost/graph/Dual.h b/BGL/include/CGAL/boost/graph/Dual.h index 7d7481b1625..4ca45b9bcec 100644 --- a/BGL/include/CGAL/boost/graph/Dual.h +++ b/BGL/include/CGAL/boost/graph/Dual.h @@ -44,7 +44,7 @@ error. \tparam Primal_ must be a model of `FaceGraph` -\cgalModels `FaceGraph` +\cgalModels{FaceGraph} */ template diff --git a/BGL/include/CGAL/boost/graph/Face_filtered_graph.h b/BGL/include/CGAL/boost/graph/Face_filtered_graph.h index 3a0a851b682..362f6b241b1 100644 --- a/BGL/include/CGAL/boost/graph/Face_filtered_graph.h +++ b/BGL/include/CGAL/boost/graph/Face_filtered_graph.h @@ -49,9 +49,11 @@ namespace CGAL { * the adapted graph must define a manifold mesh. In order to check that this condition is verified, you can * use the function `is_selection_valid()`. * - * There are two different ways to initialize this class. You can directly provide the set of faces selected, or - * if you have a face patch map, select the patches of faces. The latter option is convenient if you want to access - * some connected components of a graph after having called `CGAL::Polygon_mesh_processing::connected_components()`. + * There are two different ways to initialize this class: you can directly provide a set of selected faces, + * or provide a set of patch identifiers as well as a map between faces and patch identifiers. + * The latter option is convenient if you want to access some connected components of a graph + * after having called `CGAL::Polygon_mesh_processing::connected_components()`, or if you want + * to select only faces of a given color, for example. * * The documented interface of this class is limited on purpose and free functions of the concept * this class is a model of must be used to manipulate it. @@ -66,9 +68,7 @@ namespace CGAL { * \tparam VIMap a model of `ReadablePropertyMap` with `graph_traits::%vertex_descriptor` as key and `graph_traits::%vertices_size_type` as value * \tparam HIMap a model of `ReadablePropertyMap` with `graph_traits::%halfedge_descriptor` as key and `graph_traits::%halfedges_size_type` as value * - * \cgalModels `FaceListGraph` - * \cgalModels `HalfedgeListGraph` - * \cgalModels \bgllink{VertexListGraph} + * \cgalModels{FaceListGraph,HalfedgeListGraph,\bgllink{VertexListGraph}} */ template::%faces_size_type` as value type. - * \tparam FacePatchIndexRange a model of `ConstRange` with `boost::property_traits::%value_type` as value type. + * \tparam FacePatchIDMap a model of `ReadablePropertyMap` with `face_descriptor` as key type + * and whose value type is a model of `Hashable`. + * \tparam FacePatchIDRange a model of `ConstRange` with `boost::property_traits::%value_type` as value type. * \tparam NamedParameters a sequence of named parameters * * \param graph the underlying graph - * \param face_patch_index_map the property map that assigns a patch index to each face - * \param selected_face_patch_indices a range of the face patch indices to select + * \param face_patch_id_map the property map that assigns a patch ID to each face + * \param selected_face_patch_ids a range of the face patch identifiers to select * \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * * \cgalNamedParamsBegin @@ -208,14 +207,14 @@ struct Face_filtered_graph * \cgalParamNEnd * \cgalNamedParamsEnd */ - template + template Face_filtered_graph(const Graph& graph, - const FacePatchIndexRange& selected_face_patch_indices, - FacePatchIndexMap face_patch_index_map, + const FacePatchIDRange& selected_face_patch_ids, + FacePatchIDMap face_patch_id_map, const CGAL_NP_CLASS& np #ifndef DOXYGEN_RUNNING , std::enable_if_t< - boost::has_range_const_iterator::value + boost::has_range_const_iterator::value >* = 0 #endif ) @@ -224,15 +223,15 @@ struct Face_filtered_graph vimap(CGAL::get_initialized_vertex_index_map(graph, np)), himap(CGAL::get_initialized_halfedge_index_map(graph, np)) { - set_selected_faces(selected_face_patch_indices, face_patch_index_map); + set_selected_faces(selected_face_patch_ids, face_patch_id_map); } - template + template Face_filtered_graph(const Graph& graph, - const FacePatchIndexRange& selected_face_patch_indices, - FacePatchIndexMap face_patch_index_map + const FacePatchIDRange& selected_face_patch_ids, + FacePatchIDMap face_patch_id_map , std::enable_if_t< - boost::has_range_const_iterator::value + boost::has_range_const_iterator::value >* = 0 ) : _graph(const_cast(graph)), @@ -240,19 +239,18 @@ struct Face_filtered_graph vimap(CGAL::get_initialized_vertex_index_map(graph)), himap(CGAL::get_initialized_halfedge_index_map(graph)) { - set_selected_faces(selected_face_patch_indices, face_patch_index_map); + set_selected_faces(selected_face_patch_ids, face_patch_id_map); } /*! * \brief Constructor where the set of selected faces is specified as a patch id. * - * \tparam FacePatchIndexMap a model of `ReadablePropertyMap` with - `face_descriptor` as key type and - `graph_traits::%faces_size_type` as value type. + * \tparam FacePatchIDMap a model of `ReadablePropertyMap` with `face_descriptor` as key type + * and whose value type is a model of `Hashable`. * \tparam NamedParameters a sequence of named parameters * * \param graph the underlying graph. - * \param face_patch_index_map the property map that assigns a patch index to each face - * \param selected_face_patch_index the index of the face patch selected + * \param face_patch_id_map the property map that assigns a patch ID to each face + * \param selected_face_patch_id the identifier of the face patch selected * \param np an optional sequence of \ref bgl_namedparameters "Named Parameters" among the ones listed below * * \cgalNamedParamsBegin @@ -290,29 +288,29 @@ struct Face_filtered_graph * \cgalParamNEnd * \cgalNamedParamsEnd */ - template + template Face_filtered_graph(const Graph& graph, - typename boost::property_traits::value_type selected_face_patch_index, - FacePatchIndexMap face_patch_index_map, + typename boost::property_traits::value_type selected_face_patch_id, + FacePatchIDMap face_patch_id_map, const CGAL_NP_CLASS& np) : _graph(const_cast(graph)), fimap(CGAL::get_initialized_face_index_map(graph, np)), vimap(CGAL::get_initialized_vertex_index_map(graph, np)), himap(CGAL::get_initialized_halfedge_index_map(graph, np)) { - set_selected_faces(selected_face_patch_index, face_patch_index_map); + set_selected_faces(selected_face_patch_id, face_patch_id_map); } - template + template Face_filtered_graph(const Graph& graph, - typename boost::property_traits::value_type pid, - FacePatchIndexMap face_patch_index_map) + typename boost::property_traits::value_type pid, + FacePatchIDMap face_patch_id_map) : _graph(const_cast(graph)), fimap(CGAL::get_initialized_face_index_map(graph)), vimap(CGAL::get_initialized_vertex_index_map(graph)), himap(CGAL::get_initialized_halfedge_index_map(graph)) { - set_selected_faces(pid, face_patch_index_map); + set_selected_faces(pid, face_patch_id_map); } /*! @@ -438,9 +436,9 @@ struct Face_filtered_graph } /// changes the set of selected faces using a patch id. - template - void set_selected_faces(typename boost::property_traits::value_type face_patch_id, - FacePatchIndexMap face_patch_index_map) + template + void set_selected_faces(typename boost::property_traits::value_type face_patch_id, + FacePatchIDMap face_patch_id_map) { selected_faces.resize(num_faces(_graph)); selected_vertices.resize(num_vertices(_graph)); @@ -452,7 +450,7 @@ struct Face_filtered_graph for(face_descriptor fd : faces(_graph) ) { - if(get(face_patch_index_map, fd) == face_patch_id) + if(get(face_patch_id_map, fd) == face_patch_id) { selected_faces.set(get(fimap, fd)); for(halfedge_descriptor hd : halfedges_around_face(halfedge(fd, _graph), _graph)) @@ -467,12 +465,12 @@ struct Face_filtered_graph reset_indices(); } /// changes the set of selected faces using a range of patch ids - template - void set_selected_faces(const FacePatchIndexRange& selected_face_patch_indices, - FacePatchIndexMap face_patch_index_map + template + void set_selected_faces(const FacePatchIDRange& selected_face_patch_ids, + FacePatchIDMap face_patch_id_map #ifndef DOXYGEN_RUNNING , std::enable_if_t< - boost::has_range_const_iterator::value + boost::has_range_const_iterator::value >* = 0 #endif ) @@ -485,13 +483,13 @@ struct Face_filtered_graph selected_vertices.reset(); selected_halfedges.reset(); - typedef typename boost::property_traits::value_type Patch_index; - std::unordered_set pids(std::begin(selected_face_patch_indices), - std::end(selected_face_patch_indices)); + typedef typename boost::property_traits::value_type Patch_ID; + std::unordered_set pids(std::begin(selected_face_patch_ids), + std::end(selected_face_patch_ids)); - for(face_descriptor fd : faces(_graph) ) + for(face_descriptor fd : faces(_graph)) { - if(pids.count(get(face_patch_index_map, fd)) != 0) + if(pids.count(get(face_patch_id_map, fd)) != 0) { selected_faces.set(get(fimap, fd)); for(halfedge_descriptor hd : halfedges_around_face(halfedge(fd, _graph), _graph)) diff --git a/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h b/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h index 3ab9f38e2ef..b5d16f74d3b 100644 --- a/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h +++ b/BGL/include/CGAL/boost/graph/Graph_with_descriptor_with_graph.h @@ -115,9 +115,7 @@ All internal properties of the underlying graph are forwarded. Property maps can be wrapped with `Graph_with_descriptor_with_graph_property_map`. \tparam Graph must be a model of a `FaceListGraph` and `HalfedgeListGraph`. -\cgalModels `FaceListGraph` -\cgalModels `HalfedgeListGraph` -\cgalModels `MutableFaceGraph` if `Graph` is a model of `MutableFaceGraph` +\cgalModels{FaceListGraph,HalfedgeListGraph,MutableFaceGraph if `Graph` is a model of `MutableFaceGraph`} */ template @@ -689,7 +687,7 @@ is_valid(const Graph_with_descriptor_with_graph & w, bool verbose = false \ingroup PkgBGLAdaptors `Graph_with_descriptor_with_graph_property_map` enables to forward properties from a `Graph` to a `Graph_with_descriptor_with_graph`. - \cgalModels `Graph_with_descriptor_with_graph_property_map` the same property map concept as `PM` + \cgalModels{Graph_with_descriptor_with_graph_property_map the same property map concept as `PM`} @tparam Graph a model of the `FaceListGraph` and `HalfedgeListGraph` concepts. @tparam PM a property_map of a `Graph`. diff --git a/BGL/include/CGAL/boost/graph/Seam_mesh.h b/BGL/include/CGAL/boost/graph/Seam_mesh.h index 34c6e61e0a6..2db6b170e5b 100644 --- a/BGL/include/CGAL/boost/graph/Seam_mesh.h +++ b/BGL/include/CGAL/boost/graph/Seam_mesh.h @@ -185,7 +185,7 @@ public: /// a border edge (that is, such that either halfedge or the edge have null_face() /// as incident face). Marking a border edge as seam will not do anything. /// -/// \cgalModels `FaceGraph` or `FaceListGraph`, depending on the underlying mesh `TM`. +/// \cgalModels{FaceGraph or `FaceListGraph` depending on the underlying mesh `TM`.} /// /// \tparam TM a model of `FaceGraph` or `FaceListGraph` /// \tparam SEM a model of `ReadablePropertyMap` with `boost::graph_traits::%edge_descriptor` as key type and `bool` as value type. @@ -271,9 +271,7 @@ public: /// Implementation note: a halfedge of the seam mesh is represented as a halfedge /// of the mesh and a boolean to indicate whether the halfedge is on a seam or not. /// - /// \cgalModels `Descriptor` - /// \cgalModels `LessThanComparable` - /// \cgalModels `Hashable` + /// \cgalModels{Descriptor,LessThanComparable,Hashable} /// class halfedge_descriptor { @@ -356,9 +354,7 @@ public: /// Implementation note: to properly duplicate vertices that are on seams, /// a vertex_descriptor is in fact represented as a halfedge of the seam mesh. /// - /// \cgalModels `Descriptor` - /// \cgalModels `LessThanComparable` - /// \cgalModels `Hashable` + /// \cgalModels{Descriptor,LessThanComparable,Hashable} /// class vertex_descriptor { @@ -461,8 +457,7 @@ public: #ifdef DOXYGEN_RUNNING /// This class represents an edge of the seam mesh. /// - /// \cgalModels `Descriptor` - /// \cgalModels `Hashable` + /// \cgalModels{Descriptor,Hashable} /// class edge_descriptor { @@ -562,7 +557,7 @@ public: /// This class represents a face of the seam mesh. /// - /// \cgalModels `Descriptor` + /// \cgalModels{Descriptor} /// typedef typename boost::graph_traits::face_descriptor face_descriptor; diff --git a/BGL/include/CGAL/boost/graph/iterator.h b/BGL/include/CGAL/boost/graph/iterator.h index 87ff3383f21..54b54c08ecb 100644 --- a/BGL/include/CGAL/boost/graph/iterator.h +++ b/BGL/include/CGAL/boost/graph/iterator.h @@ -182,7 +182,7 @@ struct Opposite_face { * Let `h` be a halfedge of graph `g`. For a `Halfedge_around_source_iterator` `havi` with `h = *havi;` * the following holds: Either `++havi` is the past the end iterator, or `next(opposite(h,g),g) == *++havi`. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template class Halfedge_around_source_iterator { @@ -274,7 +274,7 @@ public: * Let `h` be a halfedge of graph `g`. For a `Halfedge_around_target_iterator` `havi` with `h = *havi;` * the following holds: Either `++havi` is the past the end iterator, or `opposite(next(h,g),g) == *++havi`. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template @@ -369,7 +369,7 @@ public: * Let `h` be a halfedge of graph `g`. For a `Halfedge_around_face_iterator` `hafi` with `h = *hafi` * the following holds: Either `++hafi` is the past the end iterator, or `next(h,g) == *++hafi`. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template @@ -465,7 +465,7 @@ class Halfedge_around_target_circulator; * Let `h` be a halfedge of graph `g`. For a `Halfedge_around_source_circulator` `havc` with `h = *havc;` * the following holds: `next(opposite(h,g),g) == *++havc`. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ template class Halfedge_around_source_circulator @@ -531,7 +531,7 @@ private: * It circulates over the same halfedges as the `Halfedge_around_target_circulator`. * * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ template @@ -590,7 +590,7 @@ private: * Let `h` be a halfedge of graph `g`. For a `Halfedge_around_target_circulator` `havc` with `h = *havc;` * the following holds: `opposite(next(h,g),g) == *++havc`. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ @@ -692,7 +692,7 @@ private: * Let `h` be a halfedge of graph `g`. For a `Halfedge_around_face_circulator` `hafc` with `h = *hafc` * the following holds: `next(h,g) == *++hafc`. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ template @@ -844,7 +844,7 @@ halfedges_around_face(typename boost::graph_traits::halfedge_descriptor h * may be the null face, and it may be several times the same face descriptor. * * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ template class Face_around_face_iterator @@ -882,7 +882,7 @@ private: * may be the null face, and it may be several times the same face descriptor. * * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ template class Face_around_face_circulator @@ -896,7 +896,7 @@ class Face_around_face_circulator * may be the null face, and it may be several times the same face descriptor. * * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template class Face_around_target_iterator @@ -956,7 +956,7 @@ faces_around_face(typename boost::graph_traits::halfedge_descriptor h, co * \ingroup PkgBGLIterators * A bidirectional circulator with value type `boost::graph_traits::%vertex_descriptor` over all vertices incident to the same face or border. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template class Vertex_around_face_circulator @@ -1013,7 +1013,7 @@ private: * A bidirectional iterator with value type `boost::graph_traits::%vertex_descriptor` * over all vertices incident to the same face or border. * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template class Vertex_around_face_iterator @@ -1135,7 +1135,7 @@ edges_around_face(typename boost::graph_traits::halfedge_descriptor h, co * It circulates over the same halfedges as the `Halfedge_around_target_circulator`. * * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalCirculator` + * \cgalModels{BidirectionalCirculator} */ template class Vertex_around_target_circulator @@ -1194,7 +1194,7 @@ private: * It iterates over the same halfedges as the `Halfedge_around_target_iterator`. * * \tparam Graph must be a model of the concept `HalfedgeGraph` - * \cgalModels `BidirectionalIterator` + * \cgalModels{BidirectionalIterator} */ template class Vertex_around_target_iterator diff --git a/BGL/test/BGL/test_Face_filtered_graph.cpp b/BGL/test/BGL/test_Face_filtered_graph.cpp index 5dd6521bb02..ee4f2166439 100644 --- a/BGL/test/BGL/test_Face_filtered_graph.cpp +++ b/BGL/test/BGL/test_Face_filtered_graph.cpp @@ -20,7 +20,7 @@ typedef std::unordered_set id_map; namespace PMP = CGAL::Polygon_mesh_processing; template -void test_halfedge_around_vertex_iterator(const Graph& g) +void test_halfedge_around_vertex_iterator(const Graph& g) { typedef typename boost::graph_traits::face_descriptor g_face_descriptor; typedef CGAL::Face_filtered_graph Adapter; @@ -319,17 +319,42 @@ void test_index_property_maps(const Graph& g) } template -void test_read(const Graph& g) +void test_constructors(const Graph& g) { typedef typename boost::graph_traits::face_descriptor g_face_descriptor; typedef CGAL::Face_filtered_graph Adapter; CGAL_GRAPH_TRAITS_MEMBERS(Adapter); + Adapter fg0(g); + Adapter fg1(g, CGAL::parameters::default_values()); + std::map map; PMP::connected_components(g, boost::make_assoc_property_map(map)); Adapter fg(g, 0, boost::make_assoc_property_map(map)); assert(fg.is_selection_valid()); assert(CGAL::is_valid_polygon_mesh(fg)); + + // patch ID type that is not a fundamental type + std::map colors; + for(auto f : faces(fg)) + colors[f] = CGAL::IO::blue(); + auto color_map = boost::make_assoc_property_map(colors); + Adapter color_fg(g, CGAL::IO::blue(), color_map); + assert(color_fg.is_selection_valid()); + assert(CGAL::is_valid_polygon_mesh(color_fg)); + assert(num_faces(g) == num_faces(color_fg)); + + Adapter color_fg2(g, CGAL::IO::red(), color_map, CGAL::parameters::default_values()); + assert(color_fg2.is_selection_valid()); + assert(CGAL::is_valid_polygon_mesh(color_fg2)); + assert(num_faces(color_fg2) == 0); + + // range of non-fundamental ID types + std::vector selected_colors { CGAL::IO::blue(), CGAL::IO::red() }; + Adapter color_fg3(g, selected_colors, color_map); + assert(color_fg3.is_selection_valid()); + assert(CGAL::is_valid_polygon_mesh(color_fg3)); + assert(num_faces(g) == num_faces(color_fg3)); } template @@ -338,7 +363,7 @@ test_graph_range(const std::vector& graphs) { for(Graph p : graphs) { - test_read(p); + test_constructors(p); test_vertex_iterators(p); test_out_edges(p); test_in_edges(p); @@ -500,20 +525,8 @@ void test_invalid_selections() assert(!many_umbrellas_fg.is_selection_valid()); } -int main() +void test_SM_tetrahedron() { - test_graph_range(poly_data()); - -#ifdef CGAL_USE_SURFACE_MESH - test_graph_range(sm_data()); -#endif - -#ifdef CGAL_USE_OPENMESH - test_graph_range(omesh_data()); -#endif - - test_invalid_selections(); - // Make a tetrahedron and test the adapter for a patch that only contains 2 faces typedef CGAL::Face_filtered_graph SM_Adapter; typedef SM::Property_map::face_descriptor , std::size_t> SM_FCCMap; @@ -531,7 +544,10 @@ int main() pids.insert(2); SM_Adapter sm_adapter(*sm, pids, fccmap); test_mesh(sm_adapter); +} +void test_Polyhedron_tetrahedron() +{ typedef boost::graph_traits PolyTraits; typedef boost::property_map::const_type VPMap; typedef PolyTraits::face_descriptor poly_face_descriptor; @@ -550,6 +566,9 @@ int main() std::map fc_map; FCMap poly_fccmap(fc_map); + std::unordered_set pids; + pids.insert(0); + pids.insert(2); VPMap vpmap = get(boost::vertex_point, *poly); PMP::connected_components(*poly, poly_fccmap, CGAL::parameters::edge_is_constrained_map(Constraint(*poly, vpmap)) @@ -560,3 +579,22 @@ int main() .halfedge_index_map(poly_himap)); test_mesh(poly_adapter); } + +int main(int, char**) +{ + test_graph_range(poly_data()); +#ifdef CGAL_USE_SURFACE_MESH + test_graph_range(sm_data()); +#endif +#ifdef CGAL_USE_OPENMESH + test_graph_range(omesh_data()); +#endif + + test_invalid_selections(); + + test_SM_tetrahedron(); + test_Polyhedron_tetrahedron(); + + std::cout << "Done" << std::endl; + return EXIT_SUCCESS; +} diff --git a/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricCoordinates_2.h b/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricCoordinates_2.h index da4b706b9bb..48945e420e2 100644 --- a/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricCoordinates_2.h +++ b/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricCoordinates_2.h @@ -8,10 +8,11 @@ namespace Barycentric_coordinates { A concept that describes the set of methods that should be defined for all coordinate models used to parameterize the class `Generalized_barycentric_coordinates_2`. -\cgalHasModel -- `Wachspress_2` -- `Mean_value_2` -- `Discrete_harmonic_2` +\cgalHasModelsBegin +\cgalHasModels{Wachspress_2} +\cgalHasModels{Mean_value_2} +\cgalHasModels{Discrete_harmonic_2} +\cgalHasModelsEnd \deprecated This part of the package is deprecated since the version 5.4 of \cgal. */ diff --git a/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricTraits_2.h b/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricTraits_2.h index 1fe3c8fc2bd..484c881aa1c 100644 --- a/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricTraits_2.h +++ b/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/BarycentricTraits_2.h @@ -9,12 +9,13 @@ A concept that describes the set of requirements of the template parameter `GeomTraits` used to parameterize all classes and functions with 2D barycentric coordinates from the namespace `CGAL::Barycentric_coordinates`. -\cgalHasModel -- All models of `Kernel` -- `CGAL::Projection_traits_3` -- `CGAL::Projection_traits_xy_3` -- `CGAL::Projection_traits_yz_3` -- `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModels{CGAL::Projection_traits_3} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd */ class BarycentricTraits_2 { @@ -159,7 +160,7 @@ typedef unspecified_type Less_xy_2; `Comparison_result operator(const Point_2& p, const Point_2& q)` - that compares the Cartesian x-coordinates of the points `p` and `q`. + that compares the %Cartesian x-coordinates of the points `p` and `q`. */ typedef unspecified_type Compare_x_2; @@ -168,7 +169,7 @@ typedef unspecified_type Compare_x_2; `Comparison_result operator(const Point_2& p, const Point_2& q)` - that compares the Cartesian y-coordinates of the points `p` and `q`. + that compares the %Cartesian y-coordinates of the points `p` and `q`. */ typedef unspecified_type Compare_y_2; diff --git a/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/DiscretizedDomain_2.h b/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/DiscretizedDomain_2.h index 9e6e353958c..394a074d270 100644 --- a/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/DiscretizedDomain_2.h +++ b/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/Concepts/DiscretizedDomain_2.h @@ -13,7 +13,9 @@ elements, which share common edges and vertices. These finite elements are then used to approximate certain types of generalized barycentric coordinate functions. The domain is bounded by the polygon. -\cgalHasModel `Delaunay_domain_2` +\cgalHasModelsBegin +\cgalHasModels{Delaunay_domain_2} +\cgalHasModelsEnd */ class DiscretizedDomain_2 { diff --git a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Delaunay_domain_2.h b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Delaunay_domain_2.h index bb66bd3d577..fe24383aa53 100644 --- a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Delaunay_domain_2.h +++ b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Delaunay_domain_2.h @@ -51,7 +51,7 @@ namespace Barycentric_coordinates { a model of `ReadablePropertyMap` whose key type is `VertexRange::value_type` and value type is `Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `DiscretizedDomain_2` + \cgalModels{DiscretizedDomain_2} */ template< typename VertexRange, diff --git a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Discrete_harmonic_2.h b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Discrete_harmonic_2.h index 8ef72b0bce5..8a75cde1f82 100644 --- a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Discrete_harmonic_2.h +++ b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Discrete_harmonic_2.h @@ -48,7 +48,7 @@ namespace Barycentric_coordinates { \tparam Traits must be a model of the concepts `BarycentricTraits_2` and `PolygonTraits_2`. -\cgalModels `BarycentricCoordinates_2` +\cgalModels{BarycentricCoordinates_2} \pre The provided polygon is strictly convex. diff --git a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Mean_value_2.h b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Mean_value_2.h index 2dca8b2b8fb..15886553ba5 100644 --- a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Mean_value_2.h +++ b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Mean_value_2.h @@ -100,7 +100,7 @@ public: \tparam Traits must be a model of the concept `BarycentricTraits_2`. -\cgalModels `BarycentricCoordinates_2` +\cgalModels{BarycentricCoordinates_2} */ template diff --git a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Wachspress_2.h b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Wachspress_2.h index d43f879bdf5..0d7b1b1b1bb 100644 --- a/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Wachspress_2.h +++ b/Barycentric_coordinates_2/include/CGAL/Barycentric_coordinates_2/Wachspress_2.h @@ -48,7 +48,7 @@ namespace Barycentric_coordinates { \tparam Traits must be a model of the concepts `BarycentricTraits_2` and `PolygonTraits_2`. -\cgalModels `BarycentricCoordinates_2` +\cgalModels{BarycentricCoordinates_2} \pre The provided polygon is strictly convex. diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h index 64158347a42..9aed558f924 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h @@ -15,7 +15,7 @@ You need to extend this template with auxiliary data only if you intend to obtain the underlying arrangement of the general polygon set and process it further. -\cgalModels `GeneralPolygonSetDcelFace` +\cgalModels{GeneralPolygonSetDcelFace} \sa `Arr_face_base` */ @@ -35,7 +35,7 @@ You need to extend this template with auxiliary data only if you intend to obtain the underlying arrangement of the general polygon set and process it further. -\cgalModels `GeneralPolygonSetDcelHalfedge` +\cgalModels{GeneralPolygonSetDcelHalfedge} \sa `Arr_halfedge_base` */ @@ -62,7 +62,7 @@ You need to override this default and use a different \dcel only if you intend to obtain the underlying arrangement of the general polygon set and process it further. -\cgalModels `GeneralPolygonSetDcel` +\cgalModels{GeneralPolygonSetDcel} \sa `Arr_dcel_base` \sa `Gps_halfedge_base` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h index 636853b0ed9..c5c628cc757 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/General_polygon_2.h @@ -20,7 +20,7 @@ support the following functions: This class supports a few convenient operations in addition to the requirements that the concept `GeneralPolygon_2` lists. -\cgalModels `GeneralPolygon_2` +\cgalModels{GeneralPolygon_2} */ template< typename ArrTraits > diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_circle_segment_traits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_circle_segment_traits_2.h index c93ff9e0275..c2b0b4b0e6d 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_circle_segment_traits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_circle_segment_traits_2.h @@ -9,7 +9,7 @@ concept. It enables Boolean set-operations on general polygons bounded by linear segments or circular arcs. It should be parameterized with a kernel. -\cgalModels `GeneralPolygonSetTraits_2` +\cgalModels{GeneralPolygonSetTraits_2} \sa `CGAL::Arr_circle_segment_traits_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_segment_traits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_segment_traits_2.h index dbe5f325b01..7dd12f6f107 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_segment_traits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_segment_traits_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgBooleanSetOperations2Ref -\cgalModels `GeneralPolygonSetTraits_2` +\cgalModels{GeneralPolygonSetTraits_2} \sa `CGAL::Arr_segment_traits_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_traits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_traits_2.h index 050bada2dec..6d65a9e5e43 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_traits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Gps_traits_2.h @@ -13,7 +13,7 @@ the concept `ArrangementXMonotoneTraits_2`). The template parameter of `GpsTraitsGeneralPolygon_2`. By default, the latter is instantiated by `CGAL::General_polygon_2`. -\cgalModels `GeneralPolygonSetTraits_2` +\cgalModels{GeneralPolygonSetTraits_2} */ template< typename ArrTraits, typename GeneralPolygon_t > diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h index c1f77e40a82..65fd4f347a8 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--AreMergeable_2.h @@ -5,7 +5,9 @@ namespace ArrDirectionalTraits { \cgalRefines{AdaptableBinaryFunction} -\cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Are_mergeable_2` +\cgalHasModelsBegin +\cgalHasModels{ArrangementDirectionalXMonotoneTraits_2::Are_mergeable_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h index 336b992999d..e7714c04561 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--CompareEndpointsXy_2.h @@ -6,7 +6,9 @@ namespace ArrDirectionalTraits { \cgalRefines{AdaptableUnaryFunction} -\cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Compare_endpoints_xy_2` +\cgalHasModelsBegin +\cgalHasModels{ArrangementDirectionalXMonotoneTraits_2::Compare_endpoints_xy_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h index 5e8c9d034a4..92ee2585b2d 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--ConstructOpposite_2.h @@ -6,7 +6,9 @@ namespace ArrDirectionalTraits { \cgalRefines{AdaptableUnaryFunction} -\cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Construct_opposite_2` +\cgalHasModelsBegin +\cgalHasModels{ArrangementDirectionalXMonotoneTraits_2::Construct_opposite_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h index 0ceae84b195..35c4fdf3273 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Intersect_2.h @@ -5,7 +5,9 @@ namespace ArrDirectionalTraits { \cgalRefines{AdaptableBinaryFunction} -\cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Intersect_2` +\cgalHasModelsBegin +\cgalHasModels{ArrangementDirectionalXMonotoneTraits_2::Intersect_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h index 673b60c589b..18f8f26e936 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Merge_2.h @@ -5,7 +5,9 @@ namespace ArrDirectionalTraits { \cgalRefines{AdaptableBinaryFunction} -\cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Merge_2` +\cgalHasModelsBegin +\cgalHasModels{ArrangementDirectionalXMonotoneTraits_2::Merge_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h index 108eb017796..5d6529d4862 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrDirectionalTraits--Split_2.h @@ -5,7 +5,9 @@ namespace ArrDirectionalTraits { \cgalRefines{AdaptableUnaryFunction} -\cgalHasModel `ArrangementDirectionalXMonotoneTraits_2::Split_2` +\cgalHasModelsBegin +\cgalHasModels{ArrangementDirectionalXMonotoneTraits_2::Split_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h index 62ce1fb841f..3278e482000 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/ArrangementDirectionalXMonotoneTraits_2.h @@ -16,13 +16,15 @@ as its source and the other as its target. \cgalRefines{ArrangementXMonotoneTraits_2} -\cgalHasModel `CGAL::Arr_segment_traits_2` -\cgalHasModel `CGAL::Arr_non_caching_segment_traits_2` -\cgalHasModel `CGAL::Arr_circle_segment_traits_2` -\cgalHasModel `CGAL::Arr_conic_traits_2` -\cgalHasModel `CGAL::Arr_rational_function_traits_2` -\cgalHasModel `CGAL::Arr_Bezier_curve_traits_2` -\cgalHasModel `CGAL::Arr_algebraic_segment_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Arr_segment_traits_2} +\cgalHasModels{CGAL::Arr_non_caching_segment_traits_2} +\cgalHasModels{CGAL::Arr_circle_segment_traits_2} +\cgalHasModels{CGAL::Arr_conic_traits_2} +\cgalHasModels{CGAL::Arr_rational_function_traits_2} +\cgalHasModels{CGAL::Arr_Bezier_curve_traits_2} +\cgalHasModels{CGAL::Arr_algebraic_segment_traits_2} +\cgalHasModelsEnd \sa `ArrangementXMonotoneTraits_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h index ec5f5909ce3..6d28d6afbf4 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcel.h @@ -16,7 +16,9 @@ respectively \cgalRefines{ArrangementDcel} -\cgalHasModel `CGAL::Gps_default_dcel` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Gps_default_dcel} +\cgalHasModelsEnd \sa `GeneralPolygonSetDcelFace` \sa `GeneralPolygonSetDcelHalfedge` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h index e33f52f2219..01a99bce20e 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelFace.h @@ -9,7 +9,9 @@ to represent the underlying internal `Arrangement_2` data structure. \cgalRefines{ArrangementDcelFace} -\cgalHasModel `CGAL::Gps_face_base` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Gps_face_base} +\cgalHasModelsEnd \sa `ArrangementDcel` \sa `ArrangementDcelVertex` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h index 7334559a7ef..a21a5fd8b7f 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetDcelHalfedge.h @@ -8,7 +8,9 @@ to represent the underlying internal `Arrangement_2` data structure. \cgalRefines{ArrangementDcelHalfedge} -\cgalHasModel `CGAL::Gps_face_halfedge` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Gps_face_halfedge} +\cgalHasModelsEnd \sa `ArrangementDcel` \sa `ArrangementDcelVertex` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h index 99001c39f1c..2c8966d8239 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygonSetTraits_2.h @@ -13,9 +13,11 @@ types. \cgalRefines{ArrangementDirectionalXMonotoneTraits_2} -\cgalHasModel `CGAL::Gps_segment_traits_2` -\cgalHasModel `CGAL::Gps_circle_segment_traits_2` -\cgalHasModel `CGAL::Gps_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Gps_segment_traits_2} +\cgalHasModels{CGAL::Gps_circle_segment_traits_2} +\cgalHasModels{CGAL::Gps_traits_2} +\cgalHasModelsEnd \sa `ArrangementDirectionalXMonotoneTraits_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h index 2a46c3470bd..e8a9a5b76e5 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GeneralPolygon_2.h @@ -16,7 +16,9 @@ accordingly. Only counterclockwise oriented polygons are valid operands of Boolean set-operations. General polygon that represent holes must be clockwise oriented. -\cgalHasModel `CGAL::General_polygon_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::General_polygon_2} +\cgalHasModelsEnd */ diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h index 842290bb47f..ae3edc16589 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygonWithHoles_2.h @@ -9,7 +9,9 @@ A model of this concept represents a general polygon with holes. \cgalGeneralizes `GeneralPolygonWithHoles_2` -\cgalHasModel `GeneralPolygonSetTraits_2::Polygon_with_holes2` +\cgalHasModelsBegin +\cgalHasModels{GeneralPolygonSetTraits_2::Polygon_with_holes2} +\cgalHasModelsEnd \sa `GeneralPolygonWithHoles_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h index 99324d14227..18872ffd1a0 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/Concepts/GpsTraitsGeneralPolygon_2.h @@ -9,8 +9,10 @@ A model of this concept represents a simple general polygon. \cgalGeneralizes `GeneralPolygon_2` -\cgalHasModel `GeneralPolygonSetTraits_2::Polygon_2` -\cgalHasModel `CGAL::Polygon_2` +\cgalHasModelsBegin +\cgalHasModels{GeneralPolygonSetTraits_2::Polygon_2} +\cgalHasModels{CGAL::Polygon_2} +\cgalHasModelsEnd \sa `GeneralPolygon_2` diff --git a/Boolean_set_operations_2/doc/Boolean_set_operations_2/PackageDescription.txt b/Boolean_set_operations_2/doc/Boolean_set_operations_2/PackageDescription.txt index 7c3b7b13e71..f67e57f7e1a 100644 --- a/Boolean_set_operations_2/doc/Boolean_set_operations_2/PackageDescription.txt +++ b/Boolean_set_operations_2/doc/Boolean_set_operations_2/PackageDescription.txt @@ -7,9 +7,7 @@ namespace ArrDirectionalTraits {} /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_polygon_set_2.h} */ /// \defgroup PkgDrawPolygonSet2 Draw a 2D Polygon Set /// \ingroup PkgBooleanSetOperations2Ref diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h index 856d1a16929..7b48c2fc114 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h @@ -8,7 +8,7 @@ An object of class `Approximate_min_ellipsoid_d` is an approximation to the ellipsoid of smallest volume enclosing a finite multiset of points in \f$ d\f$-dimensional Euclidean space \f$ \E^d\f$, \f$ d\ge 2\f$. -An ellipsoid in \f$ \E^d\f$ is a Cartesian pointset of the form \f$ \{ +An ellipsoid in \f$ \E^d\f$ is a %Cartesian pointset of the form \f$ \{ x\in\E^d \mid x^T E x + x^T e + \eta\leq 0 \}\f$, where \f$ E\f$ is some positive definite matrix from the set \f$ \mathbb{R}^{d\times d}\f$, \f$ e\f$ is some real \f$ d\f$-vector, and \f$ \eta\in\mathbb{R}\f$. A pointset \f$ P\subseteq \E^d\f$ is @@ -94,7 +94,7 @@ is actually achieved; the performance of the algorithm in this respect highly depends on the input pointset. Values of at least \f$ 0.01\f$ for \f$ \epsilon\f$ are usually handled without problems. -Internally, the algorithm represents the input points' Cartesian +Internally, the algorithm represents the input points' %Cartesian coordinates as `double`'s. For this conversion to work, the input point coordinates must be convertible to `double`. Also, in order to compute the achieved epsilon \f$ \epsilon'\f$ mentioned above, the algorithm @@ -171,7 +171,7 @@ typedef unspecified_type Cartesian_const_iterator; /*! A model of STL concept `RandomAccessIterator` with value type `double` that is used -to iterate over the Cartesian center coordinates of the computed +to iterate over the %Cartesian center coordinates of the computed ellipsoid, see `center_cartesian_begin()`. */ typedef unspecified_type Center_coordinate_iterator; @@ -313,7 +313,7 @@ int dimension() const; /*! -returns an iterator pointing to the first of the \f$ d\f$ Cartesian +returns an iterator pointing to the first of the \f$ d\f$ %Cartesian coordinates of the computed ellipsoid's center. The returned point is a floating-point approximation to the diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_2.h index a83c5184807..afecb15c8dc 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_2.h @@ -18,7 +18,7 @@ exact computations. `CGAL::Tag_true`. (Examples of such a number-type are `MP_Float`, `CORE::Expr`, and `Gmpq`.) -\cgalModels `ApproximateMinEllipsoid_d_Traits_d` +\cgalModels{ApproximateMinEllipsoid_d_Traits_d} \sa `CGAL::Approximate_min_ellipsoid_d_traits_3` \sa `CGAL::Approximate_min_ellipsoid_d_traits_d` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_3.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_3.h index ce851ee9f45..b980e60bf1e 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_3.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_3.h @@ -19,7 +19,7 @@ exact computations. `Tag_true` (Examples of such a number-type are `MP_Float`, `CORE::Expr`, and `Gmpq`.) -\cgalModels `ApproximateMinEllipsoid_d_Traits_d` +\cgalModels{ApproximateMinEllipsoid_d_Traits_d} \sa `CGAL::Approximate_min_ellipsoid_d_traits_2` \sa `CGAL::Approximate_min_ellipsoid_d_traits_d` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_d.h index 44caa851a38..1c655e7f242 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d_traits_d.h @@ -18,7 +18,7 @@ exact computations. `CGAL::Tag_true` (Examples of such a number-type are `MP_Float`, `CORE::Expr`, and `Gmpq`.) -\cgalModels `ApproximateMinEllipsoid_d_Traits_d` +\cgalModels{ApproximateMinEllipsoid_d_Traits_d} \sa `CGAL::Approximate_min_ellipsoid_d_traits_2` \sa `CGAL::Approximate_min_ellipsoid_d_traits_3` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2_traits_2.h index 466674a71de..66560c13654 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2_traits_2.h @@ -9,7 +9,7 @@ using the two-dimensional \cgal kernel. \tparam K must be a model for `Kernel`. -\cgalModels `MinCircle2Traits` +\cgalModels{MinCircle2Traits} \sa `CGAL::Min_circle_2` \sa `MinCircle2Traits` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2_traits_2.h index 25b54759c1a..a5c672d43a3 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2_traits_2.h @@ -9,7 +9,7 @@ using the two-dimensional \cgal kernel. The template parameter `K` must be a model for `Kernel`. -\cgalModels `MinEllipse2Traits` +\cgalModels{MinEllipse2Traits} \sa `CGAL::Min_ellipse_2` \sa `MinEllipse2Traits` @@ -46,7 +46,7 @@ bool is_circle(); /*! gives a double approximation of the -ellipse's conic equation. If `K` is a Cartesian kernel, the ellipse +ellipse's conic equation. If `K` is a %Cartesian kernel, the ellipse is the set of all points \f$ (x,y)\f$ satisfying \f$ rx^2+sy^2+txy+ux+vy+w=0\f$. In the Homogeneous case, the ellipse is the set of points \f$ (hx,hy,hw)\f$ satisfying \f$ r(hx)^2+s(hy)^2+t(hx)(hy)+u(hx)(hw)+v(hy)(hw)+w(hw)^2=0\f$. diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_quadrilateral_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_quadrilateral_traits_2.h index f44fcbe475e..7357ae30f29 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_quadrilateral_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_quadrilateral_traits_2.h @@ -10,7 +10,7 @@ functions `min_rectangle_2()`, `min_parallelogram_2()` and \tparam K must be a model for `Kernel`. -\cgalModels `MinQuadrilateralTraits_2` +\cgalModels{MinQuadrilateralTraits_2} \sa `CGAL::min_rectangle_2()` \sa `CGAL::min_parallelogram_2()` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_2.h index 3273105434a..d3c56d3b095 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_2.h @@ -10,7 +10,7 @@ optimisation algorithms using the two-dimensional \cgal kernel. \tparam K must bea model for `Kernel`. \tparam ET NT are models for `RingNumberType`. Their default type is `K::RT`. -\cgalModels `MinSphereAnnulusDTraits` +\cgalModels{MinSphereAnnulusDTraits} \sa `CGAL::Min_sphere_d` \sa `CGAL::Min_annulus_d` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_3.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_3.h index 32f770b0703..84284beefc5 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_3.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_3.h @@ -10,7 +10,7 @@ optimisation algorithms using the three-dimensional \cgal kernel. \tparam K must be a model for `Kernel`. \tparam ET NT are models for `RingNumberType`. Their default type is `K::RT`. -\cgalModels `MinSphereAnnulusDTraits` +\cgalModels{MinSphereAnnulusDTraits} \sa `CGAL::Min_sphere_d` \sa `CGAL::Min_annulus_d` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_d.h index 198967340a5..f2bc035794b 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_annulus_d_traits_d.h @@ -10,7 +10,7 @@ optimisation algorithms using the \f$ d\f$-dimensional \cgal kernel. \tparam K must be a model for `Kernel`. \tparam ET NT are models for `RingNumberType`. Their default type is `K::RT`. -\cgalModels `MinSphereAnnulusDTraits` +\cgalModels{MinSphereAnnulusDTraits} \sa `CGAL::Min_sphere_d` \sa `CGAL::Min_annulus_d` diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_2.h index 58a514025cf..c50875cb3c1 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_2.h @@ -8,7 +8,7 @@ The class model for concept `MinSphereOfSpheresTraits`. It uses the \cgal type `Point_2` to represent circles. -\cgalModels `MinSphereOfSpheresTraits` +\cgalModels{MinSphereOfSpheresTraits} diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_3.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_3.h index f54cfe54204..d6fc8ff305d 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_3.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_3.h @@ -8,7 +8,7 @@ The class model for concept `MinSphereOfSpheresTraits`. It uses the \cgal type `Point_3` to represent spheres. -\cgalModels `MinSphereOfSpheresTraits` +\cgalModels{MinSphereOfSpheresTraits} diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_d.h index 1e0838c0e6a..a4843602cbb 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_points_d_traits_d.h @@ -8,7 +8,7 @@ The class a model for concept `MinSphereOfSpheresTraits`. It uses the \cgal type `Point_d` to represent circles. -\cgalModels `MinSphereOfSpheresTraits` +\cgalModels{MinSphereOfSpheresTraits} \tparam K is a model for `Kernel`. diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h index fbcd5f02e2d..3590abf82a7 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h @@ -90,7 +90,7 @@ be used in such a case. (For exact number types Currently, we require `Traits::FT` to be either an exact number type or `double` or `float`; other inexact number types are not supported at this time. Also, the current implementation only -handles spheres with Cartesian coordinates; homogeneous representation +handles spheres with %Cartesian coordinates; homogeneous representation is not supported yet. \cgalHeading{Example} diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_2.h index 36f9721ad0d..fa1761c7531 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_2.h @@ -8,7 +8,7 @@ The class model for concept `MinSphereOfSpheresTraits`. It uses a pair of \cgal `Point_2` and `FT` to represent circles. -\cgalModels `MinSphereOfSpheresTraits` +\cgalModels{MinSphereOfSpheresTraits} The last two template parameters, `UseSqrt` and `Algorithm`, have diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_3.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_3.h index 71786791402..cf98855e846 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_3.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_3.h @@ -8,7 +8,7 @@ The class model for concept `MinSphereOfSpheresTraits`. It uses a pair of \cgal `Point_3` and `FT` to represent spheres. -\cgalModels `MinSphereOfSpheresTraits` +\cgalModels{MinSphereOfSpheresTraits} \tparam K must be a model for `Kernel`. diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_d.h index 96e0b6f7ecb..ad8fdf4f1fb 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d_traits_d.h @@ -8,7 +8,7 @@ The class a model for concept `MinSphereOfSpheresTraits`. It uses the \cgal type `Point_d` to represent circles. -\cgalModels `MinSphereOfSpheresTraits` +\cgalModels{MinSphereOfSpheresTraits} \tparam K is a model for `Kernel`. diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h index 519b3eeb24f..75ac05ae1a4 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h @@ -10,7 +10,7 @@ using the function `rectangular_p_center_2()`. \tparam K must be a model for `Kernel`. -\cgalModels `RectangularPCenterTraits_2` +\cgalModels{RectangularPCenterTraits_2} \sa `CGAL::rectangular_p_center_2()` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h index d026e62b587..62853106bae 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/ApproximateMinEllipsoid_d_Traits_d.h @@ -8,9 +8,11 @@ This concept defines the requirements for traits classes of \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Approximate_min_ellipsoid_d_traits_2` -\cgalHasModel `CGAL::Approximate_min_ellipsoid_d_traits_3` -\cgalHasModel `CGAL::Approximate_min_ellipsoid_d_traits_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Approximate_min_ellipsoid_d_traits_2} +\cgalHasModels{CGAL::Approximate_min_ellipsoid_d_traits_3} +\cgalHasModels{CGAL::Approximate_min_ellipsoid_d_traits_d} +\cgalHasModelsEnd \sa `CGAL::Min_ellipse_2` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinCircle2Traits.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinCircle2Traits.h index e593f73cb76..0e78063f3e0 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinCircle2Traits.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinCircle2Traits.h @@ -6,7 +6,9 @@ This concept defines the requirements for traits classes of `CGAL::Min_circle_2`. -\cgalHasModel `CGAL::Min_circle_2_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Min_circle_2_traits_2} +\cgalHasModelsEnd \sa `CGAL::Min_circle_2` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinEllipse2Traits.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinEllipse2Traits.h index f4d480a00ba..d498ece7baf 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinEllipse2Traits.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinEllipse2Traits.h @@ -6,7 +6,9 @@ This concept defines the requirements for traits classes of `CGAL::Min_ellipse_2`. -\cgalHasModel `CGAL::Min_ellipse_2_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Min_ellipse_2_traits_2} +\cgalHasModelsEnd \sa `CGAL::Min_ellipse_2` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinQuadrilateralTraits_2.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinQuadrilateralTraits_2.h index be4ba5f5a2d..65ffccff529 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinQuadrilateralTraits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinQuadrilateralTraits_2.h @@ -8,7 +8,9 @@ needed to compute minimum enclosing quadrilaterals of a planar point set using the functions `min_rectangle_2()`, `min_parallelogram_2()` and `min_strip_2()`. -\cgalHasModel `CGAL::Min_quadrilateral_default_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Min_quadrilateral_default_traits_2} +\cgalHasModelsEnd \sa `CGAL::min_rectangle_2()` \sa `CGAL::min_parallelogram_2()` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereAnnulusDTraits.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereAnnulusDTraits.h index bbf1b33c2e9..6815393e7bd 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereAnnulusDTraits.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereAnnulusDTraits.h @@ -6,9 +6,11 @@ This concept defines the requirements for traits classes of \f$ d\f$-dimensional min sphere and min annulus algorithms. -\cgalHasModel `CGAL::Min_sphere_annulus_d_traits_2` -\cgalHasModel `CGAL::Min_sphere_annulus_d_traits_3` -\cgalHasModel `CGAL::Min_sphere_annulus_d_traits_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Min_sphere_annulus_d_traits_2} +\cgalHasModels{CGAL::Min_sphere_annulus_d_traits_3} +\cgalHasModels{CGAL::Min_sphere_annulus_d_traits_d} +\cgalHasModelsEnd \sa `CGAL::Min_sphere_d` \sa `CGAL::Min_annulus_d` diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereOfSpheresTraits.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereOfSpheresTraits.h index a1a0126cf9e..9e08fa9312a 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereOfSpheresTraits.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereOfSpheresTraits.h @@ -6,13 +6,14 @@ A model of concept `MinSphereOfSpheresTraits` must provide the following constants, types, predicates and operations. -\cgalHasModel `CGAL::Min_sphere_of_spheres_d_traits_2` -\cgalHasModel `CGAL::Min_sphere_of_spheres_d_traits_3` -\cgalHasModel `CGAL::Min_sphere_of_spheres_d_traits_d` - -\cgalHasModel `CGAL::Min_sphere_of_points_d_traits_2` -\cgalHasModel `CGAL::Min_sphere_of_points_d_traits_3` -\cgalHasModel `CGAL::Min_sphere_of_points_d_traits_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Min_sphere_of_spheres_d_traits_2} +\cgalHasModels{CGAL::Min_sphere_of_spheres_d_traits_3} +\cgalHasModels{CGAL::Min_sphere_of_spheres_d_traits_d} +\cgalHasModels{CGAL::Min_sphere_of_points_d_traits_2} +\cgalHasModels{CGAL::Min_sphere_of_points_d_traits_3} +\cgalHasModels{CGAL::Min_sphere_of_points_d_traits_d} +\cgalHasModelsEnd */ class MinSphereOfSpheresTraits { diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h index 9c0727d44bd..4b18a7a762a 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h @@ -7,7 +7,9 @@ The concept `RectangularPCenterTraits_2` defines types and operations needed to compute rectilinear \f$ p\f$-centers of a planar point set using the function `CGAL::rectangular_p_center_2()`. -\cgalHasModel `CGAL::Rectangular_p_center_default_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Rectangular_p_center_default_traits_2} +\cgalHasModelsEnd \sa `CGAL::rectangular_p_center_2()` diff --git a/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_d.h b/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_d.h index 6c4b4dd6819..ea73e62242e 100644 --- a/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_d.h @@ -40,7 +40,7 @@ creates copies of the boxes that would not have identical `id`-numbers. -\cgalModels `BoxIntersectionBox_d` +\cgalModels{BoxIntersectionBox_d} \sa \link PkgBoxIntersectionD_box_intersection_d `CGAL::box_intersection_d()` \endlink \sa \link PkgBoxIntersectionD_box_self_intersection_d `CGAL::box_self_intersection_d()` \endlink diff --git a/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_traits_d.h b/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_traits_d.h index 49823cfe609..a3731b377d4 100644 --- a/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_traits_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_traits_d.h @@ -20,7 +20,7 @@ cases it just uses the pointer type. const-pointer `const B*`, where `B` is a model of the `BoxIntersectionBox_d` concept. -\cgalModels `BoxIntersectionTraits_d` +\cgalModels{BoxIntersectionTraits_d} \sa \link PkgBoxIntersectionD_box_intersection_d `CGAL::box_intersection_d()` \endlink \sa \link PkgBoxIntersectionD_box_self_intersection_d `CGAL::box_self_intersection_d()` \endlink diff --git a/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_with_handle_d.h b/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_with_handle_d.h index 32f04c82c38..7ceb1b14348 100644 --- a/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_with_handle_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/CGAL/Box_intersection_d/Box_with_handle_d.h @@ -52,7 +52,7 @@ the safe default implementation. available for the `CGAL::Box_intersection_d::Box_d` type that does not store a handle. -\cgalModels `BoxIntersectionBox_d` +\cgalModels{BoxIntersectionBox_d} \sa \link PkgBoxIntersectionD_box_intersection_d `CGAL::box_intersection_d()` \endlink \sa \link PkgBoxIntersectionD_box_self_intersection_d `CGAL::box_self_intersection_d()` \endlink diff --git a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h index 7d28f370fc8..edd402137ed 100644 --- a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionBox_d.h @@ -10,8 +10,10 @@ the dimension, the `id`-number, and the boundaries of the box. \cgalRefines{Assignable} -\cgalHasModel CGAL::Box_intersection_d::Box_d -\cgalHasModel CGAL::Box_intersection_d::Box_with_handle_d +\cgalHasModelsBegin +\cgalHasModels{CGAL::Box_intersection_d::Box_d} +\cgalHasModels{CGAL::Box_intersection_d::Box_with_handle_d} +\cgalHasModelsEnd \sa \link PkgBoxIntersectionD_box_intersection_d `CGAL::box_intersection_d()` \endlink \sa \link PkgBoxIntersectionD_box_self_intersection_d `CGAL::box_self_intersection_d()` \endlink diff --git a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h index 03300e29d64..c3541e6cfd2 100644 --- a/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h +++ b/Box_intersection_d/doc/Box_intersection_d/Concepts/BoxIntersectionTraits_d.h @@ -9,7 +9,9 @@ the boxes manipulated in these algorithms. \cgalRefines{Assignable,DefaultConstructible} -\cgalHasModel CGAL::Box_intersection_d::Box_traits_d +\cgalHasModelsBegin +\cgalHasModels{CGAL::Box_intersection_d::Box_traits_d} +\cgalHasModelsEnd \sa \link PkgBoxIntersectionD_box_intersection_d `CGAL::box_intersection_d()` \endlink \sa \link PkgBoxIntersectionD_box_self_intersection_d `CGAL::box_self_intersection_d()` \endlink diff --git a/CGAL_ImageIO/include/CGAL/ImageIO_impl.h b/CGAL_ImageIO/include/CGAL/ImageIO_impl.h index 8dbef016b1c..fefbd0d4cc8 100644 --- a/CGAL_ImageIO/include/CGAL/ImageIO_impl.h +++ b/CGAL_ImageIO/include/CGAL/ImageIO_impl.h @@ -1242,7 +1242,7 @@ static void _swapImageData( _image *im ) Swap bytes depending on the endianness and the current architecture */ CGAL_INLINE_FUNCTION int _readImageData(_image *im) { - unsigned long size, nread; + std::size_t size, nread; if(im->openMode != OM_CLOSE) { size = im->xdim * im->ydim * im->zdim * im->vdim * im->wdim; @@ -1279,7 +1279,7 @@ int _readImageData(_image *im) { Swap bytes depending on the endianness and the current architecture. */ CGAL_INLINE_FUNCTION int _readNonInterlacedImageData(_image *im) { - unsigned long size, nread; + std::size_t size, nread; unsigned char **vp, *buf; unsigned int i, j, k, v, w; @@ -1356,7 +1356,7 @@ int _readNonInterlacedImageData(_image *im) { been read by _readImageHeader. The image buffer is interlaced. */ CGAL_INLINE_FUNCTION int _readNonInterlacedFileData(_image *im) { - unsigned long size, nread; + std::size_t size, nread; unsigned char *ptr1, *vp, *buf; unsigned int i, j, k, v, w; diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Algebraic_kernel_for_circles_2_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Algebraic_kernel_for_circles_2_2.h index 86598adf69d..d9e36e19f51 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Algebraic_kernel_for_circles_2_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Algebraic_kernel_for_circles_2_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2AlgebraicClasses -\cgalModels `AlgebraicKernelForCircles` +\cgalModels{AlgebraicKernelForCircles} */ template< typename RT > diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_2.h index 546ac008055..684ac669ce5 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2GeometricClasses -\cgalModels `CircularKernel::CircularArc_2` +\cgalModels{CircularKernel::CircularArc_2} \sa `CGAL::Circular_arc_point_2` \sa `CGAL::Line_arc_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_point_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_point_2.h index cb8325f4e92..052216f2a8c 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_point_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_arc_point_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2GeometricClasses -\cgalModels `CircularKernel::CircularArcPoint_2` +\cgalModels{CircularKernel::CircularArcPoint_2} \sa `CGAL::Circular_arc_2` \sa `CGAL::Line_arc_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_kernel_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_kernel_2.h index 65401ed2778..b0ddfe1ca78 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_kernel_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Circular_kernel_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2GeometricClasses -\cgalModels `CircularKernel` +\cgalModels{CircularKernel} \cgalHeading{Parameters} diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Exact_circular_kernel_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Exact_circular_kernel_2.h index 46ff1b15b48..6347918a36d 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Exact_circular_kernel_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Exact_circular_kernel_2.h @@ -8,7 +8,7 @@ A typedef to a circular kernel that provides both exact geometric predicates and exact geometric constructions. This kernel uses some geometric filtering (based on bounding boxes) to gain efficiency. -\cgalModels `CircularKernel` +\cgalModels{CircularKernel} \sa `CGAL::Circular_kernel_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Line_arc_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Line_arc_2.h index c8e2fca1e77..53b3a7b34e5 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Line_arc_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Line_arc_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2GeometricClasses -\cgalModels `CircularKernel::LineArc_2` +\cgalModels{CircularKernel::LineArc_2} \cgalHeading{I/O} diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_1_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_1_2.h index c7a3fb71072..3c0865a7428 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_1_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_1_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2AlgebraicClasses -\cgalModels `AlgebraicKernelForCircles::Polynomial_1_2` +\cgalModels{AlgebraicKernelForCircles::Polynomial_1_2} */ template< typename RT > diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_2_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_2_2.h index 80ff654207e..c287ffd4ed3 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_2_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Polynomials_2_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2AlgebraicClasses -\cgalModels `AlgebraicKernelForCircles::PolynomialForCircles_2_2` +\cgalModels{AlgebraicKernelForCircles::PolynomialForCircles_2_2} \sa `CGAL::Sqrt_extension` \sa `AlgebraicKernelForCircles` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Root_for_circles_2_2.h b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Root_for_circles_2_2.h index db7c4ed3a6a..f0a49daf777 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Root_for_circles_2_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/CGAL/Root_for_circles_2_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel2AlgebraicClasses -\cgalModels `AlgebraicKernelForCircles::RootForCircles_2_2` +\cgalModels{AlgebraicKernelForCircles::RootForCircles_2_2} */ template< typename FT > diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h index 322134ed592..6018fabb347 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--PolynomialForCircles_2_2.h @@ -11,7 +11,9 @@ are of a type that is a model of the concept \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel CGAL::Polynomial_for_circles_2_2 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polynomial_for_circles_2_2} +\cgalHasModelsEnd \sa `AlgebraicKernelForCircles` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h index a017fef7163..d045a84662e 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--Polynomial_1_2.h @@ -9,7 +9,9 @@ coefficients are of a type that is a model of the concept \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel CGAL::Polynomial_1_2 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polynomial_1_2} +\cgalHasModelsEnd \sa `AlgebraicKernelForCircles` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--RootForCircles_2_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--RootForCircles_2_2.h index 075d69941f9..b11014950b4 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--RootForCircles_2_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles--RootForCircles_2_2.h @@ -7,7 +7,9 @@ Concept to represent the roots of a system of two equations of degree 2 in two variables `x` and `y` that are models of concept `AlgebraicKernelForCircles::PolynomialForCircles_2_2` -\cgalHasModel CGAL::Root_for_circles_2_2 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Root_for_circles_2_2} +\cgalHasModelsEnd \sa `AlgebraicKernelForCircles` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles.h index 79dbf30fe5a..6241ca39f35 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/AlgebraicKernelForCircles.h @@ -7,7 +7,9 @@ The `AlgebraicKernelForCircles` concept is meant to provide the curved kernel with all the algebraic functionalities required for the manipulation of circular arcs. -\cgalHasModel `CGAL::Algebraic_kernel_for_circles_2_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Algebraic_kernel_for_circles_2_2} +\cgalHasModelsEnd \sa `CircularKernel` \sa `CGAL::Circular_kernel_2` diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h index add345ad6ff..d9019e31e3a 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArcPoint_2.h @@ -7,7 +7,9 @@ Concept for points on circles, circular arcs or line arcs. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Circular_arc_point_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Circular_arc_point_2} +\cgalHasModelsEnd */ class CircularKernel::CircularArcPoint_2 { public: diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h index 34f8cef50e2..dff040e6a32 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--CircularArc_2.h @@ -7,7 +7,9 @@ Concept for arcs of circles. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Circular_arc_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Circular_arc_2} +\cgalHasModelsEnd */ diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h index 0400dd4bade..ca08be2ae84 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--LineArc_2.h @@ -9,7 +9,9 @@ Concept for line segments supported by a line that is a model of \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Line_arc_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Line_arc_2} +\cgalHasModelsEnd */ class CircularKernel::LineArc_2 { diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h index 681d46d9679..1c78b2d50ea 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h @@ -5,8 +5,10 @@ \cgalRefines{Kernel} -\cgalHasModel `CGAL::Circular_kernel_2` -\cgalHasModel `CGAL::Exact_circular_kernel_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Circular_kernel_2} +\cgalHasModels{CGAL::Exact_circular_kernel_2} +\cgalHasModelsEnd \sa `Kernel` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Algebraic_kernel_for_spheres_2_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Algebraic_kernel_for_spheres_2_3.h index db2aec890a4..b54b34522ea 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Algebraic_kernel_for_spheres_2_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Algebraic_kernel_for_spheres_2_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3AlgebraicClasses -\cgalModels `AlgebraicKernelForSpheres` +\cgalModels{AlgebraicKernelForSpheres} */ template< typename RT > diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_3.h index 6accd5fdda7..018a713b6c4 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3GeometricClasses -\cgalModels `SphericalKernel::CircularArc_3` +\cgalModels{SphericalKernel::CircularArc_3} \cgalHeading{I/O} diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_point_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_point_3.h index 637452fe201..bfc56e02fe7 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_point_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Circular_arc_point_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3GeometricClasses -\cgalModels `SphericalKernel::CircularArcPoint_3` +\cgalModels{SphericalKernel::CircularArcPoint_3} \sa `CGAL::Circular_arc_3` \sa `CGAL::Line_arc_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Exact_spherical_kernel_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Exact_spherical_kernel_3.h index c92182af28b..a33f4c72cfc 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Exact_spherical_kernel_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Exact_spherical_kernel_3.h @@ -9,7 +9,7 @@ both exact geometric predicates and exact geometric constructions. It defines the same types as `CGAL::Spherical_kernel_3`. -\cgalModels `SphericalKernel` +\cgalModels{SphericalKernel} */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Line_arc_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Line_arc_3.h index 7cc639959de..744b2e5a024 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Line_arc_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Line_arc_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3GeometricClasses -\cgalModels `SphericalKernel::LineArc_3` +\cgalModels{SphericalKernel::LineArc_3} \sa `CGAL::Circular_arc_point_3` \sa `CGAL::Circular_arc_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_1_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_1_3.h index df3532cedfc..715108154ad 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_1_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_1_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3AlgebraicClasses -\cgalModels `AlgebraicKernelForSpheres::Polynomial_1_3` +\cgalModels{AlgebraicKernelForSpheres::Polynomial_1_3} */ template< typename RT > diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_2_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_2_3.h index 6084f63779d..ee510c4d1eb 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_2_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_2_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3AlgebraicClasses -\cgalModels `AlgebraicKernelForSpheres::PolynomialForSpheres_2_3` +\cgalModels{AlgebraicKernelForSpheres::PolynomialForSpheres_2_3} \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_for_line_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_for_line_3.h index 9c51a9e834a..2081dee35d2 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_for_line_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Polynomials_for_line_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3AlgebraicClasses -\cgalModels `AlgebraicKernelForSpheres::PolynomialsForLines_3` +\cgalModels{AlgebraicKernelForSpheres::PolynomialsForLines_3} \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Root_for_spheres_2_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Root_for_spheres_2_3.h index 0590e3e0c3d..0c46aab5c9a 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Root_for_spheres_2_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Root_for_spheres_2_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3AlgebraicClasses -\cgalModels `AlgebraicKernelForSpheres::RootForSpheres_2_3` +\cgalModels{AlgebraicKernelForSpheres::RootForSpheres_2_3} */ template< typename RT > diff --git a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Spherical_kernel_3.h b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Spherical_kernel_3.h index 5c4212c32d5..cf225ac3260 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Spherical_kernel_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/CGAL/Spherical_kernel_3.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgCircularKernel3GeometricClasses -\cgalModels `SphericalKernel` +\cgalModels{SphericalKernel} \cgalHeading{Parameters} diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h index 54db59349fc..99b16c59c63 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialForSpheres_2_3.h @@ -11,7 +11,9 @@ are of a type that is a model of the concept \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel CGAL::Polynomial_for_spheres_2_3 +\cgalHasModelsBegin +\cgalHasModels{GAL::Polynomial_for_spheres_2_} +\cgalHasModelsEnd \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h index 023c13ebc20..0df9eeb89b1 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--Polynomial_1_3.h @@ -9,7 +9,9 @@ coefficients are of a type that is a model of the concept \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel CGAL::Polynomial_1_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polynomial_1_3} +\cgalHasModelsEnd \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h index df2b2ee627b..6dd59fc1a88 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--PolynomialsForLines_3.h @@ -8,7 +8,9 @@ capable of storing equations of lines. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel CGAL::Polynomials_for_lines_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polynomials_for_lines_3} +\cgalHasModelsEnd \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--RootForSpheres_2_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--RootForSpheres_2_3.h index 61ac0d14a8b..5da83e31c6f 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--RootForSpheres_2_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres--RootForSpheres_2_3.h @@ -7,7 +7,9 @@ Concept to represent the roots of a system of three equations of degree 2 in three variables `x`, `y` and `z` that are models of concept `AlgebraicKernelForSpheres::PolynomialForSpheres_2_3`. -\cgalHasModel CGAL::Root_for_spheres_2_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Root_for_spheres_2_3} +\cgalHasModelsEnd \sa `AlgebraicKernelForSpheres` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres.h index 58ab8c24ff0..c258b5020a9 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/AlgebraicKernelForSpheres.h @@ -7,7 +7,9 @@ The `AlgebraicKernelForSpheres` concept is meant to provide the curved kernel with all the algebraic functionalities required for the manipulation of spheres, circles, and circular arcs in 3D. -\cgalHasModel CGAL::Algebraic_kernel_for_spheres_2_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Algebraic_kernel_for_spheres_2_3} +\cgalHasModelsEnd \sa `SphericalKernel` \sa `CGAL::Spherical_kernel_3` diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h index 4a4494bc216..60f3f613b6d 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArcPoint_3.h @@ -7,7 +7,9 @@ Concept for points on spheres, circles, circular arcs or line arcs. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Circular_arc_point_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Circular_arc_point_3} +\cgalHasModelsEnd */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h index ffefeb6aefb..ad062120fdc 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--CircularArc_3.h @@ -7,7 +7,9 @@ Concept for arcs of circles. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Circular_arc_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Circular_arc_3} +\cgalHasModelsEnd */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h index 5ea1f9aed8e..0c750dff3ac 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--LineArc_3.h @@ -9,7 +9,9 @@ Concept for line segments supported by a line that is a model of \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Line_arc_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Line_arc_3} +\cgalHasModelsEnd */ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h index 950115d7c73..23be29fe5b6 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h +++ b/Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h @@ -5,8 +5,10 @@ \cgalRefines{Kernel} -\cgalHasModel `CGAL::Spherical_kernel_3` -\cgalHasModel CGAL::Exact_spherical_kernel_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Spherical_kernel_3} +\cgalHasModels{CGAL::Exact_spherical_kernel_3} +\cgalHasModelsEnd \sa `Kernel` diff --git a/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h b/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h index 3fb21589539..73b38353b5c 100644 --- a/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h +++ b/Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h @@ -269,6 +269,7 @@ namespace CGAL { typedef typename SK::Point_3 Point_3; typedef typename SK::Sphere_3 Sphere_3; typedef typename SK::Algebraic_kernel Algebraic_kernel; + typedef typename SK::Boolean Bool; CGAL_kernel_precondition(!s1.is_degenerate()); CGAL_kernel_precondition(!s2.is_degenerate()); @@ -307,7 +308,7 @@ namespace CGAL { return res; } if(const Circle_3* c = CGAL::Intersections::internal::intersect_get(v)) { - if(SK().has_on_3_object()(s3, *c)) { + if(static_cast(SK().has_on_3_object()(s3, *c))) { *res++ = *c; } return res; diff --git a/Circulator/doc/Circulator/Concepts/ConstHandle.h b/Circulator/doc/Circulator/Concepts/ConstHandle.h index 3552dc5cb29..281902ecce4 100644 --- a/Circulator/doc/Circulator/Concepts/ConstHandle.h +++ b/Circulator/doc/Circulator/Concepts/ConstHandle.h @@ -7,7 +7,9 @@ A constant handle. Refer to the `Handle` concept for more details. \cgalRefines{Descriptor} -\cgalHasModel const T* (const pointers) +\cgalHasModelsBegin +\cgalHasModels{const T* (const pointers)} +\cgalHasModelsEnd \sa `Handle` diff --git a/Circulator/doc/Circulator/Concepts/ConstRange.h b/Circulator/doc/Circulator/Concepts/ConstRange.h index b690c3d97d3..a0a6751737c 100644 --- a/Circulator/doc/Circulator/Concepts/ConstRange.h +++ b/Circulator/doc/Circulator/Concepts/ConstRange.h @@ -7,8 +7,10 @@ A constant iterator range. Refer to the `Range` concept for more details. \cgalRefinesBare{Boost's %Range concept} -\cgalHasModel STL containers -\cgalHasModel `boost::iterator_range` +\cgalHasModelsBegin +\cgalHasModelsBare{STL containers} +\cgalHasModelsBare{`boost::iterator_range`} +\cgalHasModelsEnd \sa `Range` diff --git a/Circulator/doc/Circulator/Concepts/Handle.h b/Circulator/doc/Circulator/Concepts/Handle.h index 748ab737efb..fd08f96c22b 100644 --- a/Circulator/doc/Circulator/Concepts/Handle.h +++ b/Circulator/doc/Circulator/Concepts/Handle.h @@ -23,10 +23,12 @@ operator is concerned (this serves the same purpose as NULL for pointers). (Note that this is not a generally supported feature of iterators of standard containers.) -\cgalHasModel T* (pointer) -\cgalHasModel const T* (const pointers) -\cgalHasModel `Iterator` -\cgalHasModel `Circulator` +\cgalHasModelsBegin +\cgalHasModels{T* (pointer)} +\cgalHasModels{const T* (const pointers)} +\cgalHasModels{Iterator} +\cgalHasModels{Circulator} +\cgalHasModelsEnd */ class Handle { public: diff --git a/Circulator/doc/Circulator/Concepts/Range.h b/Circulator/doc/Circulator/Concepts/Range.h index 2da31fa5940..afd4b427182 100644 --- a/Circulator/doc/Circulator/Concepts/Range.h +++ b/Circulator/doc/Circulator/Concepts/Range.h @@ -31,7 +31,9 @@ difference with iterators which are typically passed by value. \cgalRefinesBare{ConstRange,Boost's %Range concept} -\cgalHasModel STL containers +\cgalHasModelsBegin +\cgalHasModelsBare{STL containers} +\cgalHasModelsEnd */ diff --git a/Classification/doc/Classification/Concepts/Classifier.h b/Classification/doc/Classification/Concepts/Classifier.h index ca1f3cefc97..03ba639d256 100644 --- a/Classification/doc/Classification/Concepts/Classifier.h +++ b/Classification/doc/Classification/Concepts/Classifier.h @@ -12,9 +12,11 @@ Concept describing a classifier used by classification functions (see `CGAL::Classification::classify()`, `CGAL::Classification::classify_with_local_smoothing()` and `CGAL::Classification::classify_with_graphcut()`). -\cgalHasModel `CGAL::Classification::Sum_of_weighted_features_classifier` -\cgalHasModel `CGAL::Classification::ETHZ::Random_forest_classifier` -\cgalHasModel `CGAL::Classification::OpenCV::Random_forest_classifier` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Classification::Sum_of_weighted_features_classifier} +\cgalHasModels{CGAL::Classification::ETHZ::Random_forest_classifier} +\cgalHasModels{CGAL::Classification::OpenCV::Random_forest_classifier} +\cgalHasModelsEnd */ class Classifier diff --git a/Classification/doc/Classification/Concepts/NeighborQuery.h b/Classification/doc/Classification/Concepts/NeighborQuery.h index eeed7fa074c..8de58a6c523 100644 --- a/Classification/doc/Classification/Concepts/NeighborQuery.h +++ b/Classification/doc/Classification/Concepts/NeighborQuery.h @@ -10,10 +10,12 @@ namespace Classification Concept describing a neighbor query used for classification. -\cgalHasModel `CGAL::Classification::Point_set_neighborhood::K_neighbor_query` -\cgalHasModel `CGAL::Classification::Point_set_neighborhood::Sphere_neighbor_query` -\cgalHasModel `CGAL::Classification::Mesh_neighborhood::One_ring_neighbor_query` -\cgalHasModel `CGAL::Classification::Mesh_neighborhood::N_ring_neighbor_query` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Classification::Point_set_neighborhood::K_neighbor_query} +\cgalHasModels{CGAL::Classification::Point_set_neighborhood::Sphere_neighbor_query} +\cgalHasModels{CGAL::Classification::Mesh_neighborhood::One_ring_neighbor_query} +\cgalHasModels{CGAL::Classification::Mesh_neighborhood::N_ring_neighbor_query} +\cgalHasModelsEnd */ class NeighborQuery diff --git a/Classification/include/CGAL/Classification/ETHZ/Random_forest_classifier.h b/Classification/include/CGAL/Classification/ETHZ/Random_forest_classifier.h index fbf3b43a4bc..29c46fef711 100644 --- a/Classification/include/CGAL/Classification/ETHZ/Random_forest_classifier.h +++ b/Classification/include/CGAL/Classification/ETHZ/Random_forest_classifier.h @@ -63,7 +63,7 @@ namespace ETHZ { \note This classifier is distributed under the MIT license. - \cgalModels `CGAL::Classification::Classifier` + \cgalModels{CGAL::Classification::Classifier} */ class Random_forest_classifier { diff --git a/Classification/include/CGAL/Classification/Feature_base.h b/Classification/include/CGAL/Classification/Feature_base.h index 89ba6e60384..b73dd7154f7 100644 --- a/Classification/include/CGAL/Classification/Feature_base.h +++ b/Classification/include/CGAL/Classification/Feature_base.h @@ -68,7 +68,7 @@ public: \brief %Handle to a `Feature_base`. - \cgalModels Handle + \cgalModels{Handle} */ class Feature_handle { }; #else diff --git a/Classification/include/CGAL/Classification/Label.h b/Classification/include/CGAL/Classification/Label.h index 7801942afcb..ba0b4c38f63 100644 --- a/Classification/include/CGAL/Classification/Label.h +++ b/Classification/include/CGAL/Classification/Label.h @@ -105,7 +105,7 @@ public: \brief %Handle to a classification `Label`. - \cgalModels Handle + \cgalModels{Handle} */ class Label_handle { }; #else diff --git a/Classification/include/CGAL/Classification/Mesh_neighborhood.h b/Classification/include/CGAL/Classification/Mesh_neighborhood.h index 6a00a413820..bad561d6c0f 100644 --- a/Classification/include/CGAL/Classification/Mesh_neighborhood.h +++ b/Classification/include/CGAL/Classification/Mesh_neighborhood.h @@ -77,7 +77,7 @@ public: /*! Functor that computes the 1-ring neighborhood of the face of an input mesh. - \cgalModels CGAL::Classification::NeighborQuery + \cgalModels{CGAL::Classification::NeighborQuery} \sa Mesh_neighborhood */ @@ -110,7 +110,7 @@ public: /*! Functor that computes the N-ring neighborhood of the face of an input mesh. - \cgalModels CGAL::Classification::NeighborQuery + \cgalModels{CGAL::Classification::NeighborQuery} \sa Mesh_neighborhood */ diff --git a/Classification/include/CGAL/Classification/OpenCV/Random_forest_classifier.h b/Classification/include/CGAL/Classification/OpenCV/Random_forest_classifier.h index 6e7d5e1f1d0..b7105279a92 100644 --- a/Classification/include/CGAL/Classification/OpenCV/Random_forest_classifier.h +++ b/Classification/include/CGAL/Classification/OpenCV/Random_forest_classifier.h @@ -47,7 +47,7 @@ namespace OpenCV { \note This class requires the \ref thirdpartyOpenCV library. - \cgalModels `CGAL::Classification::Classifier` + \cgalModels{CGAL::Classification::Classifier} */ class Random_forest_classifier { diff --git a/Classification/include/CGAL/Classification/Point_set_neighborhood.h b/Classification/include/CGAL/Classification/Point_set_neighborhood.h index 156bd68d1cb..c27c874f0c2 100644 --- a/Classification/include/CGAL/Classification/Point_set_neighborhood.h +++ b/Classification/include/CGAL/Classification/Point_set_neighborhood.h @@ -96,7 +96,7 @@ public: Functor that computes the neighborhood of an input point with a fixed number of neighbors. - \cgalModels CGAL::Classification::NeighborQuery + \cgalModels{CGAL::Classification::NeighborQuery} \sa Point_set_neighborhood */ @@ -131,7 +131,7 @@ public: as the points lying in a sphere of fixed radius centered at the input point. - \cgalModels CGAL::Classification::NeighborQuery + \cgalModels{CGAL::Classification::NeighborQuery} \sa Point_set_neighborhood */ diff --git a/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h b/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h index 7f16459723a..fac51686e14 100644 --- a/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h +++ b/Classification/include/CGAL/Classification/Sum_of_weighted_features_classifier.h @@ -48,7 +48,7 @@ namespace Classification { \brief %Classifier based on the sum of weighted features with user-defined effects on labels. - \cgalModels `CGAL::Classification::Classifier` + \cgalModels{CGAL::Classification::Classifier} */ class Sum_of_weighted_features_classifier { diff --git a/Classification/include/CGAL/Classification/property_maps.h b/Classification/include/CGAL/Classification/property_maps.h index 44a0a75f0c0..f03e837d806 100644 --- a/Classification/include/CGAL/Classification/property_maps.h +++ b/Classification/include/CGAL/Classification/property_maps.h @@ -32,7 +32,7 @@ namespace Classification \brief Property map that constructs the center of mass of the face of a mesh on-the-fly. - \cgalModels `ReadablePropertyMap` + \cgalModels{ReadablePropertyMap} \tparam FaceGraph model of `FaceGraph`. @@ -85,7 +85,7 @@ public: \brief Property map that constructs a face descriptor with a `bbox()` method from a face descriptor. - \cgalModels `ReadablePropertyMap` + \cgalModels{ReadablePropertyMap} \tparam FaceGraph model of `FaceGraph`. diff --git a/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute.h b/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute.h index 3256326a53c..60846dd2197 100644 --- a/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute.h +++ b/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Cell_attribute` represents an attribute containing (or not) an information. -\cgalModels `CellAttribute` +\cgalModels{CellAttribute} \tparam Map a model of the `GenericMap` concept. diff --git a/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute_with_id.h b/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute_with_id.h index a99045fbeed..3733c29241c 100644 --- a/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute_with_id.h +++ b/Combinatorial_map/doc/Combinatorial_map/CGAL/Cell_attribute_with_id.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Cell_attribute_with_id` represents an attribute containing (or not) an information, and having an id. -\cgalModels `CellAttribute` +\cgalModels{CellAttribute} \tparam Map a model of the `GenericMap` concept. diff --git a/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map.h b/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map.h index 9dba99d6718..0038999e7e2 100644 --- a/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map.h +++ b/Combinatorial_map/doc/Combinatorial_map/CGAL/Combinatorial_map.h @@ -8,7 +8,7 @@ The class `Combinatorial_map` represents a dD combinatorial map. Two versions exist: one where Darts and non void attributes are stored in memory using `Compact_container`, using `Alloc` as allocator, and use handles as descriptors; a second one where Darts and non void attributes are stored in an internal std::vector like data-structure, and use indices as descriptors. The choice between the two versions is done through the item class. -\cgalModels `CombinatorialMap` +\cgalModels{CombinatorialMap} \tparam d the dimension of the map. diff --git a/Combinatorial_map/doc/Combinatorial_map/CGAL/Generic_map_min_items.h b/Combinatorial_map/doc/Combinatorial_map/CGAL/Generic_map_min_items.h index 8cbfbf1be14..434193a8e3c 100644 --- a/Combinatorial_map/doc/Combinatorial_map/CGAL/Generic_map_min_items.h +++ b/Combinatorial_map/doc/Combinatorial_map/CGAL/Generic_map_min_items.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Generic_map_min_items` defines `void` as the information associated with darts, and no attribute is enabled. -\cgalModels `GenericMapItems` +\cgalModels{GenericMapItems} \cgalHeading{Example} diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/CellAttribute.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/CellAttribute.h index cce3235390e..ec2f990abf1 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/CellAttribute.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/CellAttribute.h @@ -5,7 +5,9 @@ The concept `CellAttribute` represents a non void attribute associated with a cell of a generic map. It can keep a descriptor to one dart of its associated cell, and can contain any information. -\cgalHasModel \link CGAL::Cell_attribute `CGAL::Cell_attribute`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Cell_attribute `CGAL::Cell_attribute`\endlink} +\cgalHasModelsEnd \sa `GenericMap` \sa `GenericMapItems` diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h index 03f492d1b08..251d424bc02 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/CombinatorialMap.h @@ -6,7 +6,9 @@ The concept `CombinatorialMap` defines a d-dimensional combinatorial map. \cgalRefines{GenericMap} -\cgalHasModel \link CGAL::Combinatorial_map `CGAL::Combinatorial_map`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Combinatorial_map `CGAL::Combinatorial_map`\endlink} +\cgalHasModelsEnd For a combinatorial map, the function \link GenericMap::next `next`\endlink is equal to \f$ \beta_1\f$, \link GenericMap::previous `previous`\endlink is equal to \f$ \beta_0\f$ and the function \link GenericMap::opposite `opposite`\endlink is equal to \f$ \beta_i\f$. */ diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h index 2439a614f03..b7f985acac0 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMap.h @@ -8,8 +8,10 @@ The concept `GenericMap` defines a d-dimensional generic map. This concep A generic map has a set of darts D, and functions \f$ f_0\f$,\f$ \ldots\f$,\f$ f_{d}\f$ that link these darts between them. -\cgalHasModel \link CGAL::Combinatorial_map `CGAL::Combinatorial_map`\endlink -\cgalHasModel \link CGAL::Generalized_map `CGAL::Generalized_map`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Combinatorial_map `CGAL::Combinatorial_map`\endlink} +\cgalHasModelsBare{\link CGAL::Generalized_map `CGAL::Generalized_map`\endlink} +\cgalHasModelsEnd \sa `CombinatorialMap` \sa `GeneralizedMap` diff --git a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMapItems.h b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMapItems.h index afd744baab4..4117f134ecc 100644 --- a/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMapItems.h +++ b/Combinatorial_map/doc/Combinatorial_map/Concepts/GenericMapItems.h @@ -4,7 +4,9 @@ The concept `GenericMapItems` allows to customize a dD generic map by choosing the information associated with darts, by enabling and disabling some attributes, and by choosing to use indices or handles. For that, it defines an inner class template named \link GenericMapItems::Dart_wrapper `Dart_wrapper`\endlink, with one template parameter, `Map`, a model of the `GenericMap` concept. This inner class can define the two types `%Dart_info` and `%Attributes`. -\cgalHasModel \link CGAL::Generic_map_min_items `CGAL::Generic_map_min_items`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Generic_map_min_items `CGAL::Generic_map_min_items`\endlink} +\cgalHasModelsEnd \sa `GenericMap` diff --git a/Convex_hull_2/doc/Convex_hull_2/CGAL/Convex_hull_traits_adapter_2.h b/Convex_hull_2/doc/Convex_hull_2/CGAL/Convex_hull_traits_adapter_2.h index 051d148e06c..97bac6496ba 100644 --- a/Convex_hull_2/doc/Convex_hull_2/CGAL/Convex_hull_traits_adapter_2.h +++ b/Convex_hull_2/doc/Convex_hull_2/CGAL/Convex_hull_traits_adapter_2.h @@ -10,7 +10,7 @@ Given a property map associating a key to a point, the class `Convex_hull_traits to compute the sequence of keys for which the associated points form a convex hull, performing the predicates of the base traits class on the points associated to the keys. -\cgalModels `ConvexHullTraits_2` +\cgalModels{ConvexHullTraits_2} \sa `CGAL::Convex_hull_constructive_traits_2` \sa `CGAL::Projection_traits_xy_3` diff --git a/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_constructive_traits_2.h b/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_constructive_traits_2.h index 74534126ab7..6090cd6785c 100644 --- a/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_constructive_traits_2.h +++ b/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_constructive_traits_2.h @@ -11,7 +11,7 @@ in the sidedness tests, lines (of type `R::Line_2`) are constructed, which is equivalent to the precomputation of subdeterminants of the orientation-determinant for three points. -\cgalModels `ConvexHullTraits_2` +\cgalModels{ConvexHullTraits_2} \sa `CGAL::Projection_traits_xy_3` \sa `CGAL::Projection_traits_yz_3` diff --git a/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_traits_2.h b/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_traits_2.h index 5d3fb688ae0..431f04e1b46 100644 --- a/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_traits_2.h +++ b/Convex_hull_2/doc/Convex_hull_2/CGAL/convex_hull_traits_2.h @@ -7,7 +7,7 @@ The class `Convex_hull_traits_2` serves as a traits class for all the two-dimens convex hull and extreme point calculation function. This class corresponds to the default traits class for these functions. -\cgalModels `ConvexHullTraits_2` +\cgalModels{ConvexHullTraits_2} \sa `CGAL::Convex_hull_constructive_traits_2` \sa `CGAL::Convex_hull_traits_adapter_2` diff --git a/Convex_hull_2/doc/Convex_hull_2/Concepts/ConvexHullTraits_2.h b/Convex_hull_2/doc/Convex_hull_2/Concepts/ConvexHullTraits_2.h index 0bff4725d60..639a45e5f4c 100644 --- a/Convex_hull_2/doc/Convex_hull_2/Concepts/ConvexHullTraits_2.h +++ b/Convex_hull_2/doc/Convex_hull_2/Concepts/ConvexHullTraits_2.h @@ -9,12 +9,14 @@ primitives (objects and predicates) that the convex hull algorithms use. functions. The specific subset of these primitives required by each function is specified with each function. -\cgalHasModel `CGAL::Convex_hull_constructive_traits_2` -\cgalHasModel `CGAL::Convex_hull_traits_2` -\cgalHasModel `CGAL::Convex_hull_traits_adapter_2` -\cgalHasModel `CGAL::Projection_traits_xy_3` -\cgalHasModel `CGAL::Projection_traits_yz_3` -\cgalHasModel `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Convex_hull_constructive_traits_2} +\cgalHasModels{CGAL::Convex_hull_traits_2} +\cgalHasModels{CGAL::Convex_hull_traits_adapter_2} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd */ diff --git a/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_traits_3.h b/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_traits_3.h index b02b0542e18..0258193c16f 100644 --- a/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_traits_3.h +++ b/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_traits_3.h @@ -9,8 +9,7 @@ function when `R` is a kernel with exact predicates but inexact constructions (note that the type `Plane_3` is a triple of `Point_3` and not `R::Plane_3`). \tparam PolygonMesh must be a model of the concept `MutableFaceGraph`. -\cgalModels `ConvexHullTraits_3` -\cgalModels `IsStronglyConvexTraits_3` +\cgalModels{ConvexHullTraits_3,IsStronglyConvexTraits_3} \attention The user must include the header file of the polygon mesh type, even for the default type. diff --git a/Convex_hull_3/doc/Convex_hull_3/CGAL/Extreme_points_traits_adapter_3.h b/Convex_hull_3/doc/Convex_hull_3/CGAL/Extreme_points_traits_adapter_3.h index 5154ffa2968..9f63632758c 100644 --- a/Convex_hull_3/doc/Convex_hull_3/CGAL/Extreme_points_traits_adapter_3.h +++ b/Convex_hull_3/doc/Convex_hull_3/CGAL/Extreme_points_traits_adapter_3.h @@ -15,8 +15,7 @@ namespace CGAL { * (in practice we check `R::Has_filtered_predicates_tag` is `Tag_true` and `R::FT` is a floating point type), * then the default traits class used is `Convex_hull_traits_3`, and `R` otherwise. * - * \cgalModels `ConvexHullTraits_3` - * \cgalModels `IsStronglyConvexTraits_3` + * \cgalModels{ConvexHullTraits_3,IsStronglyConvexTraits_3} */ template class Extreme_points_traits_adapter_3 diff --git a/Convex_hull_3/doc/Convex_hull_3/Concepts/ConvexHullTraits_3.h b/Convex_hull_3/doc/Convex_hull_3/Concepts/ConvexHullTraits_3.h index 7efcfcb9e93..ba20411843b 100644 --- a/Convex_hull_3/doc/Convex_hull_3/Concepts/ConvexHullTraits_3.h +++ b/Convex_hull_3/doc/Convex_hull_3/Concepts/ConvexHullTraits_3.h @@ -4,8 +4,10 @@ Requirements of the traits class of the function `CGAL::convex_hull_3()`. -\cgalHasModel `CGAL::Convex_hull_traits_3` -\cgalHasModel `CGAL::Extreme_points_traits_adapter_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Convex_hull_traits_3} +\cgalHasModels{CGAL::Extreme_points_traits_adapter_3} +\cgalHasModelsEnd */ class ConvexHullTraits_3 { diff --git a/Convex_hull_3/doc/Convex_hull_3/Concepts/IsStronglyConvexTraits_3.h b/Convex_hull_3/doc/Convex_hull_3/Concepts/IsStronglyConvexTraits_3.h index d69567d6102..5b03c77793f 100644 --- a/Convex_hull_3/doc/Convex_hull_3/Concepts/IsStronglyConvexTraits_3.h +++ b/Convex_hull_3/doc/Convex_hull_3/Concepts/IsStronglyConvexTraits_3.h @@ -6,8 +6,10 @@ Requirements of the traits class used by the function `CGAL::is_strongly_convex_3()`, which is used for postcondition checking by `CGAL::convex_hull_3()`. -\cgalHasModel `CGAL::Convex_hull_traits_3` -\cgalHasModel All models of `Kernel` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of `Kernel`} +\cgalHasModels{CGAL::Convex_hull_traits_3} +\cgalHasModelsEnd \sa `ConvexHullTraits_3` \sa `CGAL::is_strongly_convex_3()` diff --git a/Convex_hull_d/doc/Convex_hull_d/CGAL/Convex_hull_d_traits_3.h b/Convex_hull_d/doc/Convex_hull_d/CGAL/Convex_hull_d_traits_3.h index 190d83f58fa..dbba9f5c475 100644 --- a/Convex_hull_d/doc/Convex_hull_d/CGAL/Convex_hull_d_traits_3.h +++ b/Convex_hull_d/doc/Convex_hull_d/CGAL/Convex_hull_d_traits_3.h @@ -13,7 +13,7 @@ low-dimensional standard kernel model, e.g. `Homogeneous` or `Cartesian` for the fixed 3-dimensional usage of `Convex_hull_d`. -\cgalModels `ConvexHullTraits_d` +\cgalModels{ConvexHullTraits_d} */ template< typename R > diff --git a/Convex_hull_d/doc/Convex_hull_d/Concepts/ConvexHullTraits_d.h b/Convex_hull_d/doc/Convex_hull_d/Concepts/ConvexHullTraits_d.h index abd9c2928ec..19c5793f9c0 100644 --- a/Convex_hull_d/doc/Convex_hull_d/Concepts/ConvexHullTraits_d.h +++ b/Convex_hull_d/doc/Convex_hull_d/Concepts/ConvexHullTraits_d.h @@ -7,9 +7,11 @@ Requirements of the traits class to be used with the class `CGAL::Convex_hull_d`. -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` -\cgalHasModel `CGAL::Convex_hull_d_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModels{CGAL::Convex_hull_d_traits_3} +\cgalHasModelsEnd */ class ConvexHullTraits_d { diff --git a/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayLiftedTraits_d.h b/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayLiftedTraits_d.h index e798f331db4..a584e7433ed 100644 --- a/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayLiftedTraits_d.h +++ b/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayLiftedTraits_d.h @@ -7,8 +7,10 @@ Requirements of the second traits class to be used with the class `CGAL::Delaunay_d`. -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModelsEnd */ class DelaunayLiftedTraits_d { diff --git a/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayTraits_d.h b/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayTraits_d.h index f2465c575fe..c04db63b19c 100644 --- a/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayTraits_d.h +++ b/Convex_hull_d/doc/Convex_hull_d/Concepts/DelaunayTraits_d.h @@ -7,8 +7,10 @@ Requirements of the first traits class to be used with the class `CGAL::Delaunay_d`. -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModelsEnd */ diff --git a/Documentation/doc/biblio/cgal_manual.bib b/Documentation/doc/biblio/cgal_manual.bib index 89d062ddddf..38b745f6780 100644 --- a/Documentation/doc/biblio/cgal_manual.bib +++ b/Documentation/doc/biblio/cgal_manual.bib @@ -2049,6 +2049,16 @@ ABSTRACT = {We present the first complete, exact and efficient C++ implementatio update = "09.11 penarand" } +@article{ cgal:sc-lntm-20 + ,author = {Nicholas Sharp and Keenan Crane} + ,title = {{A Laplacian for Nonmanifold Triangle Meshes}} + ,journal = {Computer Graphics Forum (SGP)} + ,url = "https://www.cs.cmu.edu/~kmcrane/Projects/NonmanifoldLaplace/NonmanifoldLaplace.pdf" + ,volume = {39} + ,number = {5} + ,year = {2020} +} + @inproceedings{cgal:ssgh-tmpm-01, title={Texture mapping progressive meshes}, author={Sander, Pedro V and Snyder, John and Gortler, Steven J and Hoppe, Hugues}, diff --git a/Documentation/doc/resources/1.8.13/BaseDoxyfile.in b/Documentation/doc/resources/1.8.13/BaseDoxyfile.in index 7f347c1529c..d649c6511c0 100644 --- a/Documentation/doc/resources/1.8.13/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.8.13/BaseDoxyfile.in @@ -135,9 +135,22 @@ ALIASES = "cgal=%CGAL" \ "cgalRefines{5}=
@cgalRefines
@c \1
@c \2
@c \3
@c \4
@c \5
" \ "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
" \ + "cgalModels{3}=
@cgalModelsHeader
@c \1
@c \2
@c \3
" \ + "cgalModels{4}=
@cgalModelsHeader
@c \1
@c \2
@c \3
@c \4
" \ + "cgalModels{5}=
@cgalModelsHeader
@c \1
@c \2
@c \3
@c \4
@c \5
" \ + "cgalModels{6}=
@cgalModelsHeader
@c \1
@c \2
@c \3
@c \4
@c \5
@c \6
" \ + "cgalModelsBareBegin=
@cgalModelsHeader
" \ + "cgalModelsBareEnd=
" \ + "cgalModelsBare{1}=
\1
" \ "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" \ - "cgalHasModel=\xrefitem hasModels \"Has Models\" \"Has Model Relationships\"" \ + "cgalHasModelsHeader=Has models" \ + "cgalHasModelsBegin=
@cgalHasModelsHeader
" \ + "cgalHasModels{1}=
`\1`
" \ + "cgalHasModelsBare{1}=
\1
" \ + "cgalHasModelsEnd=
" \ "cgalDebugBegin=\htmlonly
Debugging Support
\endhtmlonly \n" \ "cgalDebugEnd=\htmlonly
\endhtmlonly" \ "cgalDebugFunction=This is a function for debugging purpose." \ @@ -190,7 +203,8 @@ ALIASES = "cgal=%CGAL" \ "cgalParamSectionEnd=\cgalParamNEnd" \ "cgalParamPrecondition{1}=
  • Precondition: \1
  • " \ "cgalBigO{1}=\f$O(\1)\f$" \ - "cgalBigOLarge{1}=\f$O\left(\1\right)\f$" + "cgalBigOLarge{1}=\f$O\left(\1\right)\f$" \ + "cgalInclude{1}=\#`include<\1>`" # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given diff --git a/Documentation/doc/resources/1.9.6/BaseDoxyfile.in b/Documentation/doc/resources/1.9.6/BaseDoxyfile.in index f5d4533ce70..7322b03d12e 100644 --- a/Documentation/doc/resources/1.9.6/BaseDoxyfile.in +++ b/Documentation/doc/resources/1.9.6/BaseDoxyfile.in @@ -144,9 +144,22 @@ ALIASES = "cgal=%CGAL" \ "cgalRefines{5}=
    @cgalRefines
    @c \1
    @c \2
    @c \3
    @c \4
    @c \5
    " \ "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
    " \ + "cgalModels{3}=
    @cgalModelsHeader
    @c \1
    @c \2
    @c \3
    " \ + "cgalModels{4}=
    @cgalModelsHeader
    @c \1
    @c \2
    @c \3
    @c \4
    " \ + "cgalModels{5}=
    @cgalModelsHeader
    @c \1
    @c \2
    @c \3
    @c \4
    @c \5
    " \ + "cgalModels{6}=
    @cgalModelsHeader
    @c \1
    @c \2
    @c \3
    @c \4
    @c \5
    @c \6
    " \ + "cgalModelsBareBegin=
    @cgalModelsHeader
    " \ + "cgalModelsBareEnd=
    " \ + "cgalModelsBare{1}=
    \1
    " \ "cgalGeneralizes=\xrefitem generalizes \"Generalizes\" \"Generalization Relationships\"" \ - "cgalHasModel=\xrefitem hasModels \"Has Models\" \"Has Model Relationships\"" \ + "cgalHasModelsHeader=Has models" \ + "cgalHasModelsBegin=
    @cgalHasModelsHeader
    " \ + "cgalHasModels{1}=
    `\1`
    " \ + "cgalHasModelsBare{1}=
    \1
    " \ + "cgalHasModelsEnd=
    " \ "cgalDebugBegin=\htmlonly[block]
    Debugging Support
    \endhtmlonly ^^" \ "cgalDebugEnd=\htmlonly[block]
    \endhtmlonly" \ "cgalDebugFunction=This is a function for debugging purpose." \ @@ -199,7 +212,8 @@ ALIASES = "cgal=%CGAL" \ "cgalParamSectionEnd=\cgalParamNEnd" \ "cgalParamPrecondition{1}=
  • Precondition: \1
  • " \ "cgalBigO{1}=\f$O(\1)\f$" \ - "cgalBigOLarge{1}=\f$O\left(\1\right)\f$" + "cgalBigOLarge{1}=\f$O\left(\1\right)\f$" \ + "cgalInclude{1}=`#include<\1>`" # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given diff --git a/Envelope_2/doc/Envelope_2/CGAL/Envelope_diagram_1.h b/Envelope_2/doc/Envelope_2/CGAL/Envelope_diagram_1.h index 1e91a176b61..abb127ae839 100644 --- a/Envelope_2/doc/Envelope_2/CGAL/Envelope_diagram_1.h +++ b/Envelope_2/doc/Envelope_2/CGAL/Envelope_diagram_1.h @@ -15,7 +15,7 @@ model of the `ArrangementXMonotoneTraits_2` concept, in case we handle only envelopes of \f$ x\f$-monotone curves, or of the refined `ArrangementTraits_2` concept in case we handle arbitrary planar curves. -\cgalModels `EnvelopeDiagram_1` +\cgalModels{EnvelopeDiagram_1} */ template< typename Traits > diff --git a/Envelope_3/doc/Envelope_3/CGAL/Env_plane_traits_3.h b/Envelope_3/doc/Envelope_3/CGAL/Env_plane_traits_3.h index 0164f27e26a..81d5861e3c8 100644 --- a/Envelope_3/doc/Envelope_3/CGAL/Env_plane_traits_3.h +++ b/Envelope_3/doc/Envelope_3/CGAL/Env_plane_traits_3.h @@ -28,7 +28,7 @@ in case of an entire plane, or from `Kernel::Plane_3` and `Kernel::Line_2` in case of a half-plane. The line orientation determines which half is considered. -\cgalModels `EnvelopeTraits_3` +\cgalModels{EnvelopeTraits_3} */ template< typename Kernel > diff --git a/Envelope_3/doc/Envelope_3/CGAL/Env_sphere_traits_3.h b/Envelope_3/doc/Envelope_3/CGAL/Env_sphere_traits_3.h index 6f81385717e..12e170ce5f9 100644 --- a/Envelope_3/doc/Envelope_3/CGAL/Env_sphere_traits_3.h +++ b/Envelope_3/doc/Envelope_3/CGAL/Env_sphere_traits_3.h @@ -25,7 +25,7 @@ The `Xy_monotone_surface_3` type is the same as the nested hemisphere when it computes lower envelopes, and ignores the lower hemisphere when it computes upper envelopes. -\cgalModels `EnvelopeTraits_3` +\cgalModels{EnvelopeTraits_3} */ template< typename ConicTraits > diff --git a/Envelope_3/doc/Envelope_3/CGAL/Env_surface_data_traits_3.h b/Envelope_3/doc/Envelope_3/CGAL/Env_surface_data_traits_3.h index 193f8d89148..bcd4f97ab41 100644 --- a/Envelope_3/doc/Envelope_3/CGAL/Env_surface_data_traits_3.h +++ b/Envelope_3/doc/Envelope_3/CGAL/Env_surface_data_traits_3.h @@ -39,7 +39,7 @@ is trivial and just copies the data object: -\cgalModels `EnvelopeTraits_3` +\cgalModels{EnvelopeTraits_3} */ template< typename Traits, typename XyData, typename SData, typename Cnv > diff --git a/Envelope_3/doc/Envelope_3/CGAL/Env_triangle_traits_3.h b/Envelope_3/doc/Envelope_3/CGAL/Env_triangle_traits_3.h index 759a006de54..74646352052 100644 --- a/Envelope_3/doc/Envelope_3/CGAL/Env_triangle_traits_3.h +++ b/Envelope_3/doc/Envelope_3/CGAL/Env_triangle_traits_3.h @@ -31,7 +31,7 @@ instance and are also convertible to a `Kernel::Triangle_3` object. Both types, `Xy_monotone_surface_3` and `Surface_3`, refer to the same class, as every triangle is (weakly) \f$ xy\f$-monotone). -\cgalModels `EnvelopeTraits_3` +\cgalModels{EnvelopeTraits_3} */ template< typename Kernel > diff --git a/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h b/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h index 47b1f729035..3665e2ae25a 100644 --- a/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h +++ b/Envelope_3/doc/Envelope_3/Concepts/EnvelopeTraits_3.h @@ -16,10 +16,12 @@ Note however, that these operations usually involve the projection of \cgalRefines{ArrangementXMonotoneTraits_2} -\cgalHasModel `CGAL::Env_triangle_traits_3` -\cgalHasModel `CGAL::Env_sphere_traits_3` -\cgalHasModel `CGAL::Env_plane_traits_3` -\cgalHasModel `CGAL::Env_surface_data_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Env_triangle_traits_3} +\cgalHasModels{CGAL::Env_sphere_traits_3} +\cgalHasModels{CGAL::Env_plane_traits_3} +\cgalHasModels{CGAL::Env_surface_data_traits_3} +\cgalHasModelsEnd */ diff --git a/Generalized_map/doc/Generalized_map/CGAL/Generalized_map.h b/Generalized_map/doc/Generalized_map/CGAL/Generalized_map.h index 519e80ce4ad..0afba5bd71c 100644 --- a/Generalized_map/doc/Generalized_map/CGAL/Generalized_map.h +++ b/Generalized_map/doc/Generalized_map/CGAL/Generalized_map.h @@ -8,7 +8,7 @@ The class `Generalized_map` represents a dD generalized map. Two versions exist: one where darts and non void attributes are stored in memory using `Compact_container`, using `Alloc` as allocator, and use handles as descriptors; a second one where darts and non void attributes are stored in an internal `std::vector` like data-structure, and use indices as descriptors. The choice between the two versions is done through the item class. -\cgalModels `GeneralizedMap` +\cgalModels{GeneralizedMap} \tparam d the dimension of the map. diff --git a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h index 91c430a9d91..16fa1e40eab 100644 --- a/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h +++ b/Generalized_map/doc/Generalized_map/Concepts/GeneralizedMap.h @@ -6,7 +6,9 @@ The concept `GeneralizedMap` defines a d-dimensional generalized map. \cgalRefines{GenericMap} -\cgalHasModel \link CGAL::Generalized_map `CGAL::Generalized_map`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Generalized_map `CGAL::Generalized_map`\endlink} +\cgalHasModelsEnd For a generalized map, the function \link GenericMap::next `next`\endlink is equal to \f$ \alpha_1\circ\alpha_0\f$, \link GenericMap::previous `previous`\endlink is equal to \f$ \alpha_0\circ\alpha_1\f$ and the function \link GenericMap::opposite `opposite`\endlink is equal to \f$ \alpha_i\circ\alpha_0\f$. */ diff --git a/Generator/doc/Generator/CGAL/Random_convex_set_traits_2.h b/Generator/doc/Generator/CGAL/Random_convex_set_traits_2.h index b478186e034..e3f6a2a15ed 100644 --- a/Generator/doc/Generator/CGAL/Random_convex_set_traits_2.h +++ b/Generator/doc/Generator/CGAL/Random_convex_set_traits_2.h @@ -5,7 +5,7 @@ namespace CGAL { The class `Random_convex_set_traits_2` serves as a traits class for the function `random_convex_set_2()`. -\cgalModels `RandomConvexSetTraits_2` +\cgalModels{RandomConvexSetTraits_2} */ template< typename Kernel > diff --git a/Generator/doc/Generator/CGAL/point_generators_2.h b/Generator/doc/Generator/CGAL/point_generators_2.h index 459e856ac8d..10319fca737 100644 --- a/Generator/doc/Generator/CGAL/point_generators_2.h +++ b/Generator/doc/Generator/CGAL/point_generators_2.h @@ -143,8 +143,7 @@ The class `Random_points_in_disc_2` is an input iterator creating points uniform distributed in an open disc. The default `Creator` is `Creator_uniform_2::Kernel::RT,Point_2>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_square_2` @@ -207,8 +206,7 @@ The class `Random_points_in_square_2` is an input iterator creating points unifo distributed in a half-open square. The default `Creator` is `Creator_uniform_2::Kernel::RT,Point_2>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_triangle_2` @@ -272,8 +270,7 @@ The class `Random_points_in_triangle_2` is an input iterator creating points uni distributed inside a triangle. The default `Creator` is `Creator_uniform_2::Kernel::RT,Point_2>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` @@ -345,8 +342,7 @@ typedef const Point_2& reference; The triangulation must be valid and unchanged while the iterator is used. - \cgalModels `InputIterator` - \cgalModels `PointGenerator` + \cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` @@ -413,8 +409,7 @@ get_default_random() ); The triangle range must be valid and unchanged while the iterator is used. - \cgalModels `InputIterator` - \cgalModels `PointGenerator` + \cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` @@ -483,8 +478,7 @@ The generated points are computed using floating point arithmetic, whatever the Kernel is, thus they are on the circle/sphere only up to rounding errors. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` @@ -550,8 +544,7 @@ The class `Random_points_on_segment_2` is an input iterator creating points unif distributed on a segment. The default `Creator` is `Creator_uniform_2::Kernel::RT,Point_2>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` @@ -616,8 +609,7 @@ The class `Random_points_on_square_2` is an input iterator creating points unifo distributed on the boundary of a square. The default `Creator` is `Creator_uniform_2::Kernel::RT,Point_2>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` @@ -683,7 +675,7 @@ namespace CGAL { The class `Points_on_segment_2` is a generator for points on a segment whose endpoints are specified upon construction. The points are equally spaced. -\cgalModels `PointGenerator` +\cgalModels{PointGenerator} \sa `CGAL::points_on_segment_2` \sa `CGAL::Random_points_in_disc_2` diff --git a/Generator/doc/Generator/CGAL/point_generators_3.h b/Generator/doc/Generator/CGAL/point_generators_3.h index 6c7fd598515..1e2853fa5cf 100644 --- a/Generator/doc/Generator/CGAL/point_generators_3.h +++ b/Generator/doc/Generator/CGAL/point_generators_3.h @@ -41,8 +41,7 @@ The class `Random_points_in_cube_3` is an input iterator creating points uniform distributed in a half-open cube. The default `Creator` is `Creator_uniform_3::Kernel::RT,Point_3>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_square_2` \sa `CGAL::Random_points_in_sphere_3` @@ -106,8 +105,7 @@ The class `Random_points_in_sphere_3` is an input iterator creating points unifo distributed strictly inside a sphere. The default `Creator` is `Creator_uniform_3::Kernel::RT,Point_3>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_disc_2` \sa `CGAL::Random_points_in_cube_3` @@ -171,8 +169,7 @@ The class `Random_points_in_triangle_3` is an input iterator creating points uni distributed inside a 3D triangle. The default `Creator` is `Creator_uniform_3::Kernel::RT,Point_3>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_disc_2` \sa `CGAL::Random_points_in_cube_3` @@ -245,8 +242,7 @@ The class `Random_points_on_segment_3` is an input iterator creating points unif distributed on a segment. The default `Creator` is `Creator_uniform_3::Kernel::RT,Point_3>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_cube_3` \sa `CGAL::Random_points_in_triangle_3` @@ -311,8 +307,7 @@ The class `Random_points_in_tetrahedron_3` is an input iterator creating points distributed inside a tetrahedron. The default `Creator` is `Creator_uniform_3::Kernel::RT,Point_3>`. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_on_segment_3` \sa `CGAL::Random_points_in_cube_3` @@ -387,8 +382,7 @@ The class `Random_points_in_triangles_3` is an input iterator creating points un The triangle range must be valid and unchanged while the iterator is used. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_cube_3` \sa `CGAL::Random_points_in_triangle_3` @@ -454,8 +448,7 @@ The class `Random_points_in_triangle_mesh_3` is an input iterator creating point distributed inside the faces of a triangle mesh model of `FaceListGraph`. The triangle mesh must be valid and unchanged while the iterator is used. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_disc_2` \sa `CGAL::Random_points_in_cube_3` @@ -534,8 +527,7 @@ The tetrahedral mesh must be valid and unchanged while the iterator is used. \tparam C3T3 must be a model of `Mesh_complex_3_in_triangulation_3` -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_disc_2` \sa `CGAL::Random_points_in_cube_3` @@ -608,8 +600,7 @@ The tetrahedral mesh must be valid and unchanged while the iterator is used. \tparam C3T3 must be a model of `Mesh_complex_3_in_triangulation_3` -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_disc_2` \sa `CGAL::Random_points_in_cube_3` @@ -682,8 +673,7 @@ The generated points are computed using floating point arithmetic, whatever the Kernel is, thus they are on the circle/sphere only up to rounding errors. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_on_circle_2` \sa `CGAL::Random_points_in_cube_3` diff --git a/Generator/doc/Generator/CGAL/point_generators_d.h b/Generator/doc/Generator/CGAL/point_generators_d.h index a06065a8ac1..7f22705dee7 100644 --- a/Generator/doc/Generator/CGAL/point_generators_d.h +++ b/Generator/doc/Generator/CGAL/point_generators_d.h @@ -40,8 +40,7 @@ Creator creator); The class `Random_points_in_ball_d` is an input iterator creating points uniformly distributed in an open ball in any dimension. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_disc_2` \sa `CGAL::Random_points_in_sphere_3` @@ -106,8 +105,7 @@ namespace CGAL { The class `Random_points_in_cube_d` is an input iterator creating points uniformly distributed in an half-open cube. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_in_square_2` \sa `CGAL::Random_points_in_cube_3` @@ -178,8 +176,7 @@ The generated points are computed using floating point arithmetic, whatever the Kernel is, thus they are on the sphere only up to rounding errors. -\cgalModels `InputIterator` -\cgalModels `PointGenerator` +\cgalModels{InputIterator,PointGenerator} \sa `CGAL::Random_points_on_circle_2` \sa `CGAL::Random_points_on_sphere_3` diff --git a/Generator/doc/Generator/Concepts/CombinationElement.h b/Generator/doc/Generator/Concepts/CombinationElement.h index fc9712bb25c..53872f44809 100644 --- a/Generator/doc/Generator/Concepts/CombinationElement.h +++ b/Generator/doc/Generator/Concepts/CombinationElement.h @@ -4,9 +4,11 @@ A CombinationElement can be used as template parameter for the class `Combination_enumerator`. -\cgalHasModel Any integer type (`char`, `short`, `int`, `long`, etc.) -\cgalHasModel Pointers -\cgalHasModel Random access iterators +\cgalHasModelsBegin +\cgalHasModelsBare{Any integer type (`char`, `short`, `int`, `long`, etc.)} +\cgalHasModelsBare{Pointers} +\cgalHasModelsBare{Random access iterators} +\cgalHasModelsEnd \sa `CGAL::Combination_enumerator` diff --git a/Generator/doc/Generator/Concepts/PointGenerator.h b/Generator/doc/Generator/Concepts/PointGenerator.h index a17946b0cd6..39019e4b99a 100644 --- a/Generator/doc/Generator/Concepts/PointGenerator.h +++ b/Generator/doc/Generator/Concepts/PointGenerator.h @@ -5,20 +5,22 @@ The concept `PointGenerator` defines the requirements for a point generator, which can be used in places where input iterators are called for. -\cgalHasModel `CGAL::Random_points_in_ball_d` -\cgalHasModel `CGAL::Random_points_in_disc_2` -\cgalHasModel `CGAL::Random_points_in_square_2` -\cgalHasModel `CGAL::Random_points_in_triangle_2` -\cgalHasModel `CGAL::Random_points_on_circle_2` -\cgalHasModel `CGAL::Random_points_on_segment_2` -\cgalHasModel `CGAL::Random_points_on_square_2` -\cgalHasModel `CGAL::Random_points_in_cube_3` -\cgalHasModel `CGAL::Random_points_in_cube_d` -\cgalHasModel `CGAL::Random_points_in_sphere_3` -\cgalHasModel `CGAL::Random_points_in_triangle_3` -\cgalHasModel `CGAL::Random_points_in_tetrahedron_3` -\cgalHasModel `CGAL::Random_points_on_sphere_3` -\cgalHasModel `CGAL::Random_points_on_sphere_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Random_points_in_ball_d} +\cgalHasModels{CGAL::Random_points_in_disc_2} +\cgalHasModels{CGAL::Random_points_in_square_2} +\cgalHasModels{CGAL::Random_points_in_triangle_2} +\cgalHasModels{CGAL::Random_points_on_circle_2} +\cgalHasModels{CGAL::Random_points_on_segment_2} +\cgalHasModels{CGAL::Random_points_on_square_2} +\cgalHasModels{CGAL::Random_points_in_cube_3} +\cgalHasModels{CGAL::Random_points_in_cube_d} +\cgalHasModels{CGAL::Random_points_in_sphere_3} +\cgalHasModels{CGAL::Random_points_in_triangle_3} +\cgalHasModels{CGAL::Random_points_in_tetrahedron_3} +\cgalHasModels{CGAL::Random_points_on_sphere_3} +\cgalHasModels{CGAL::Random_points_on_sphere_d} +\cgalHasModelsEnd */ diff --git a/Generator/doc/Generator/Concepts/RandomConvexHullTraits_2.h b/Generator/doc/Generator/Concepts/RandomConvexHullTraits_2.h index 3dbf4632cb9..61949762078 100644 --- a/Generator/doc/Generator/Concepts/RandomConvexHullTraits_2.h +++ b/Generator/doc/Generator/Concepts/RandomConvexHullTraits_2.h @@ -5,7 +5,9 @@ The concept `RandomConvexHullTraits_2` describes the requirements for the traits class used by the function `random_convex_hull_in_disc_2()`. -\cgalHasModel \cgal kernels. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the concept `Kernel`} +\cgalHasModelsEnd \cgalHeading{Operations} diff --git a/Generator/doc/Generator/Concepts/RandomConvexSetTraits_2.h b/Generator/doc/Generator/Concepts/RandomConvexSetTraits_2.h index f796452dbeb..05cb1eda3a8 100644 --- a/Generator/doc/Generator/Concepts/RandomConvexSetTraits_2.h +++ b/Generator/doc/Generator/Concepts/RandomConvexSetTraits_2.h @@ -5,7 +5,9 @@ The concept `RandomConvexSetTraits_2` describes the requirements of the traits class for the function `random_convex_set_2()`. -\cgalHasModel `CGAL::Random_convex_set_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Random_convex_set_traits_2} +\cgalHasModelsEnd */ diff --git a/Generator/doc/Generator/Concepts/RandomPolygonTraits_2.h b/Generator/doc/Generator/Concepts/RandomPolygonTraits_2.h index c0c512b6296..c996e205360 100644 --- a/Generator/doc/Generator/Concepts/RandomPolygonTraits_2.h +++ b/Generator/doc/Generator/Concepts/RandomPolygonTraits_2.h @@ -5,7 +5,9 @@ The concept `RandomPolygonTraits_2` describes the requirements for the traits class used by the function `random_polygon_2()`. -\cgalHasModel \cgal kernels. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the concept `Kernel`} +\cgalHasModelsEnd \cgalHeading{Operations} diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_default.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_default.h index 5f3c33fc739..154d01373aa 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_default.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_default.h @@ -10,7 +10,9 @@ uses the \cgal default allocator as default setting. `HalfedgeDS_default` is a list-based representation with bidirectional iterators that supports removal. -\cgalModels `HalfedgeDS` +\cgalModelsBareBegin +\cgalModelsBare{`HalfedgeDS`} +\cgalModelsBareEnd \sa `CGAL::HalfedgeDS_list` \sa `CGAL::HalfedgeDS_vector` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_base.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_base.h index b7e0923adef..64569d0b25c 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_base.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_base.h @@ -35,7 +35,7 @@ without a reference to an incident halfedge and it stores a plane equation of type `Plane`. It can be used as a face for a model of the `PolyhedronItems_3` concept. -\cgalModels `HalfedgeDSFace` +\cgalModels{HalfedgeDSFace} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_min_base.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_min_base.h index c9ee44f575d..204225bbef2 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_min_base.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_face_min_base.h @@ -9,7 +9,7 @@ equivalent to `CGAL::HalfedgeDS_face_base< Refs, CGAL::Tag_false>`. It is empty besides the required type definitions. It can be used for deriving own faces. -\cgalModels `HalfedgeDSFace` +\cgalModels{HalfedgeDSFace} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_base.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_base.h index 0fb79575602..57a386b3b42 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_base.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_base.h @@ -57,7 +57,7 @@ supported. In all cases, a reference to the next halfedge and to the opposite halfedge is supported. -\cgalModels `HalfedgeDSHalfedge` +\cgalModels{HalfedgeDSHalfedge} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_min_base.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_min_base.h index 7358f0858d0..2be20cb48f3 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_min_base.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_halfedge_min_base.h @@ -10,7 +10,7 @@ CGAL::Tag_false, CGAL::Tag_false, CGAL::Tag_false>`. The class contains support for the next and the opposite pointer and the required type definitions. It can be used for deriving own halfedges. -\cgalModels `HalfedgeDSHalfedge` +\cgalModels{HalfedgeDSHalfedge} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_items_2.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_items_2.h index 39b806a2412..3e050fb7808 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_items_2.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_items_2.h @@ -9,7 +9,7 @@ declare all incidences supported by a `HalfedgeDS`. The vertex also contains a point of type `Traits::Point_2`, where `Traits` is the template argument of the corresponding `HalfedgeDS`. -\cgalModels `HalfedgeDSItems` +\cgalModels{HalfedgeDSItems} \sa `CGAL::HalfedgeDS_min_items` \sa `CGAL::Polyhedron_items_3` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_list.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_list.h index 34dce0c1363..e30952e1e1b 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_list.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_list.h @@ -7,7 +7,9 @@ The class `HalfedgeDS_list` is a model for the `HalfedgeDS` concept. `HalfedgeDS_list` is a list-based representation with bidirectional iterators that supports removal. -\cgalModels `HalfedgeDS` +\cgalModelsBareBegin +\cgalModelsBare{`HalfedgeDS`} +\cgalModelsBareEnd \sa `CGAL::HalfedgeDS_default` \sa `CGAL::HalfedgeDS_vector` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_min_items.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_min_items.h index 55504012cce..8439f152f2a 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_min_items.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_min_items.h @@ -9,7 +9,7 @@ declare the minimal required incidences for a `HalfedgeDS`, which are the `next()` and the `opposite()` member function for halfedges. -\cgalModels `HalfedgeDSItems` +\cgalModels{HalfedgeDSItems} \sa `CGAL::HalfedgeDS_items_2` \sa `CGAL::Polyhedron_items_3` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vector.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vector.h index 51942b6adf5..33fa7dc5237 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vector.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vector.h @@ -7,7 +7,9 @@ The class `HalfedgeDS_vector` is a model for the `HalfedgeDS` concept. `HalfedgeDS_vector` is a vector-based representation with random access iterators that does not support removal. -\cgalModels `HalfedgeDS` +\cgalModelsBareBegin +\cgalModelsBare{`HalfedgeDS`} +\cgalModelsBareEnd \sa `CGAL::HalfedgeDS_default` \sa `CGAL::HalfedgeDS_list` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_base.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_base.h index b4ac2235f63..e1b294bdc00 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_base.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_base.h @@ -33,7 +33,7 @@ Let us look at some instantiations type `Point`. It can be used as a vertex for a model of the `PolyhedronItems_3` concept. -\cgalModels `HalfedgeDSVertex` +\cgalModels{HalfedgeDSVertex} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_min_base.h b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_min_base.h index 52232dff3ee..aa981302737 100644 --- a/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_min_base.h +++ b/HalfedgeDS/doc/HalfedgeDS/CGAL/HalfedgeDS_vertex_min_base.h @@ -9,7 +9,7 @@ equivalent to `HalfedgeDS_vertex_base< Refs, CGAL::Tag_false>`. It is empty besides the required type definitions. It can be used for deriving own vertices. -\cgalModels `HalfedgeDSVertex` +\cgalModels{HalfedgeDSVertex} \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h index 8fcb7edd26e..ed5f246b5f0 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h @@ -67,9 +67,11 @@ allocators internally. A default argument is mandatory for from the `` header file can be used as default allocator. -\cgalHasModel CGAL::HalfedgeDS_default -\cgalHasModel CGAL::HalfedgeDS_list -\cgalHasModel CGAL::HalfedgeDS_vector +\cgalHasModelsBegin +\cgalHasModels{CGAL::HalfedgeDS_default} +\cgalHasModels{CGAL::HalfedgeDS_list} +\cgalHasModels{CGAL::HalfedgeDS_vector} +\cgalHasModelsEnd \sa `HalfedgeDSItems` \sa `CGAL::Polyhedron_3` diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h index 5a405bb7770..e8ef9f27a86 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSFace.h @@ -23,8 +23,10 @@ can be bypassed by the user, but not by accident.) \cgalRefines{CopyConstructible,DefaultConstructible} -\cgalHasModel `CGAL::HalfedgeDS_face_base` -\cgalHasModel `CGAL::HalfedgeDS_face_min_base` +\cgalHasModelsBegin +\cgalHasModels{CGAL::HalfedgeDS_face_base} +\cgalHasModels{CGAL::HalfedgeDS_face_min_base} +\cgalHasModelsEnd \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSHalfedge.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSHalfedge.h index f4d3652e4e2..d464d21ca1c 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSHalfedge.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSHalfedge.h @@ -33,8 +33,10 @@ more protection is provided for the `set_opposite()` member function. The base class `Base_base` provides access to it. (The protection could be bypassed also by an user, but not by accident.) -\cgalHasModel ::CGAL::HalfedgeDS_halfedge_base -\cgalHasModel ::CGAL::HalfedgeDS_halfedge_min_base +\cgalHasModelsBegin +\cgalHasModels{::CGAL::HalfedgeDS_halfedge_base} +\cgalHasModels{::CGAL::HalfedgeDS_halfedge_min_base} +\cgalHasModelsEnd \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSItems.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSItems.h index 16d45020f90..b4399e4121c 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSItems.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSItems.h @@ -16,9 +16,11 @@ and `Face` respectively. The requirements on these types are described on the manual pages of the concepts `HalfedgeDSVertex`, `HalfedgeDSHalfedge`, and `HalfedgeDSFace` respectively. -\cgalHasModel CGAL::HalfedgeDS_min_items -\cgalHasModel CGAL::HalfedgeDS_items_2 -\cgalHasModel CGAL::Polyhedron_items_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::HalfedgeDS_min_items} +\cgalHasModels{CGAL::HalfedgeDS_items_2} +\cgalHasModels{CGAL::Polyhedron_items_3} +\cgalHasModelsEnd \sa `HalfedgeDS` \sa `HalfedgeDSVertex` diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h index 172b6b933f1..19efa29448b 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDSVertex.h @@ -23,8 +23,10 @@ could be bypassed by an user, but not by accident.) \cgalRefines{CopyConstructible,DefaultConstructible} -\cgalHasModel `CGAL::HalfedgeDS_vertex_base` -\cgalHasModel `CGAL::HalfedgeDS_vertex_min_base` +\cgalHasModelsBegin +\cgalHasModels{CGAL::HalfedgeDS_vertex_base} +\cgalHasModels{CGAL::HalfedgeDS_vertex_min_base} +\cgalHasModelsEnd \sa `HalfedgeDS` \sa `HalfedgeDSItems` diff --git a/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h b/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h index c7f87971225..9670eee46e6 100644 --- a/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h +++ b/Heat_method_3/doc/Heat_method_3/Concepts/HeatMethodTraits_3.h @@ -7,7 +7,9 @@ The concept `HeatMethodTraits_3` describes the types, predicates, and constructions required by the traits class parameter of `CGAL::Heat_method_3::Surface_mesh_geodesic_distances_3`. -\cgalHasModel All the \cgal kernels +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd */ diff --git a/Heat_method_3/doc/Heat_method_3/Heat_method_3.txt b/Heat_method_3/doc/Heat_method_3/Heat_method_3.txt index 82ad37d2d41..2b2d3f8aab3 100644 --- a/Heat_method_3/doc/Heat_method_3/Heat_method_3.txt +++ b/Heat_method_3/doc/Heat_method_3/Heat_method_3.txt @@ -41,7 +41,7 @@ the mathematical theory of the Heat method. The last section is about the \ref s Note that this package depends on the third party \ref thirdpartyEigen library (3.3 or greater), or another model of the concept `SparseLinearAlgebraWithFactorTraits_d`. -This implementation is based on \cgalCite{cgal:cww-ghnac-13} and \cgalCite{cgal:fsbs-acidt-06} +This implementation is based on \cgalCite{cgal:cww-ghnac-13} , \cgalCite{cgal:fsbs-acidt-06} , and \cgalCite{cgal:sc-lntm-20} This package is related to the package \ref PkgSurfaceMeshShortestPath. Both deal with geodesic distances. The heat method package computes for every vertex of a mesh an approximate distance to one or several source vertices. diff --git a/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h b/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h index cff7968bd7e..65d78512514 100644 --- a/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h +++ b/Heat_method_3/include/CGAL/Heat_method_3/internal/Intrinsic_Delaunay_triangulation_3.h @@ -146,7 +146,7 @@ struct Intrinsic_Delaunay_triangulation_3_vertex_iterator_functor * \tparam TriangleMesh a triangulated surface mesh, model of `FaceListGraph` and `HalfedgeListGraph` * \tparam Traits a model of `HeatMethodTraits_3` * - * \cgalModels `FaceListGraph` + * \cgalModels{FaceListGraph} */ template diff --git a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_Delaunay_triangulation_traits_2.h b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_Delaunay_triangulation_traits_2.h index c1131a1e1ef..858c8c042d9 100644 --- a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_Delaunay_triangulation_traits_2.h +++ b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_Delaunay_triangulation_traits_2.h @@ -20,7 +20,7 @@ algebraic coordinates. \sa `Hyperbolic_Delaunay_triangulation_CK_traits_2` -\cgalModels `HyperbolicDelaunayTriangulationTraits_2` +\cgalModels{HyperbolicDelaunayTriangulationTraits_2} */ template< class K > diff --git a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_triangulation_face_base_2.h b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_triangulation_face_base_2.h index c5dabf727b9..d7c85fc2372 100644 --- a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_triangulation_face_base_2.h +++ b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/CGAL/Hyperbolic_triangulation_face_base_2.h @@ -14,7 +14,7 @@ offered by \cgal. \tparam Fb must be a model of `TriangulationFaceBase_2`. %Defaults to `Triangulation_face_base_2`. -\cgalModels `HyperbolicTriangulationFaceBase_2` +\cgalModels{HyperbolicTriangulationFaceBase_2} */ diff --git a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h index 5d2d5a39e3e..1aaec1a1a00 100644 --- a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h +++ b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicDelaunayTriangulationTraits_2.h @@ -16,8 +16,10 @@ constructions on these objects. This concept refines `DelaunayTriangulationTraits_2` because the class `CGAL::Hyperbolic_Delaunay_triangulation_2` internally relies on the class `CGAL::Delaunay_triangulation_2`. -\cgalHasModel `CGAL::Hyperbolic_Delaunay_triangulation_traits_2` -\cgalHasModel `CGAL::Hyperbolic_Delaunay_triangulation_CK_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Hyperbolic_Delaunay_triangulation_traits_2} +\cgalHasModels{CGAL::Hyperbolic_Delaunay_triangulation_CK_traits_2} +\cgalHasModelsEnd */ diff --git a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h index 368630cc55b..f4f5ab1c62e 100644 --- a/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h +++ b/Hyperbolic_triangulation_2/doc/Hyperbolic_triangulation_2/Concepts/HyperbolicTriangulationFaceBase_2.h @@ -41,7 +41,9 @@ This concept provides an interface for the functionality needed in faces to comp Delaunay triangulations in the hyperbolic plane. The function `tds_data()` is used internally by the triangulation class during the insertion of points in the triangulation. -\cgalHasModel `CGAL::Hyperbolic_triangulation_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Hyperbolic_triangulation_face_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `HyperbolicFaceData` diff --git a/Inscribed_areas/doc/Inscribed_areas/CGAL/Extremal_polygon_traits_2.h b/Inscribed_areas/doc/Inscribed_areas/CGAL/Extremal_polygon_traits_2.h index 14fbc1a339a..c30c1d54a32 100644 --- a/Inscribed_areas/doc/Inscribed_areas/CGAL/Extremal_polygon_traits_2.h +++ b/Inscribed_areas/doc/Inscribed_areas/CGAL/Extremal_polygon_traits_2.h @@ -13,7 +13,7 @@ be inscribed into a given convex polygon \f$ P\f$ using the function \tparam K must be a model of `Kernel`. -\cgalModels `ExtremalPolygonTraits_2` +\cgalModels{ExtremalPolygonTraits_2} \sa `CGAL::maximum_area_inscribed_k_gon_2()` \sa `CGAL::maximum_perimeter_inscribed_k_gon_2()` @@ -117,7 +117,7 @@ k\f$-gon \f$ P_k\f$ that can be inscribed into a given convex polygon \tparam K must be a model of `Kernel`. -\cgalModels `ExtremalPolygonTraits_2` +\cgalModels{ExtremalPolygonTraits_2} \sa `CGAL::maximum_area_inscribed_k_gon_2()` \sa `CGAL::maximum_perimeter_inscribed_k_gon_2()` diff --git a/Inscribed_areas/doc/Inscribed_areas/Concepts/ExtremalPolygonTraits_2.h b/Inscribed_areas/doc/Inscribed_areas/Concepts/ExtremalPolygonTraits_2.h index baa5e8e86b7..d31bfb5c861 100644 --- a/Inscribed_areas/doc/Inscribed_areas/Concepts/ExtremalPolygonTraits_2.h +++ b/Inscribed_areas/doc/Inscribed_areas/Concepts/ExtremalPolygonTraits_2.h @@ -15,8 +15,10 @@ inscribed into a given convex polygon. precondition checking only. Therefore, they need not to be specified, in case that precondition checking is disabled. -\cgalHasModel `CGAL::Extremal_polygon_area_traits_2` -\cgalHasModel `CGAL::Extremal_polygon_perimeter_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Extremal_polygon_area_traits_2} +\cgalHasModels{CGAL::Extremal_polygon_perimeter_traits_2} +\cgalHasModelsEnd \sa `CGAL::maximum_area_inscribed_k_gon_2()` \sa `CGAL::maximum_perimeter_inscribed_k_gon_2()` diff --git a/Inscribed_areas/doc/Inscribed_areas/Concepts/LargestEmptyIsoRectangleTraits_2.h b/Inscribed_areas/doc/Inscribed_areas/Concepts/LargestEmptyIsoRectangleTraits_2.h index 2875e0a1aba..5a269cc649f 100644 --- a/Inscribed_areas/doc/Inscribed_areas/Concepts/LargestEmptyIsoRectangleTraits_2.h +++ b/Inscribed_areas/doc/Inscribed_areas/Concepts/LargestEmptyIsoRectangleTraits_2.h @@ -10,8 +10,10 @@ This concept provides the types of the geometric primitives used in this class and some function object types for the required predicates on those primitives. -\cgalHasModel `CGAL::Cartesian` -\cgalHasModel `CGAL::Homogeneous` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian} +\cgalHasModels{CGAL::Homogeneous} +\cgalHasModelsEnd \sa `CGAL::Largest_empty_iso_rectangle_2` diff --git a/Installation/CHANGES.md b/Installation/CHANGES.md index 64d9ec24c8d..b024201aedd 100644 --- a/Installation/CHANGES.md +++ b/Installation/CHANGES.md @@ -37,6 +37,18 @@ Release date: October 2023 - Removed the class templates `Gray_image_mesh_domain_3`, `Implicit_mesh_domain_3`, and `Labeled_image_mesh_domain_3` which are deprecated since CGAL-4.13. +### [Tetrahedral Remeshing](https://doc.cgal.org/6.0/Manual/packages.html#PkgTetrahedralRemeshing) +- **Breaking change**: The template parameters of + `CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3` + have been modified, reverting changes introduced in CGAL 5.6. +- **Breaking change**: The vertex base of + `CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3` + must now be a model of the concept ` SimplicialMeshVertexBase_3` (and not only `TriangulationVertexBase_3`). + +### [3D Simplicial Mesh Data Structure](https://doc.cgal.org/6.0/Manual/packages.html#PkgSMDS3) +- **Breaking change**: The template parameters of + `CGAL::Simplicial_mesh_cell_base_3` + have been modified to enable passing a geometric traits and a custom cell base class. [Release 5.6](https://github.com/CGAL/cgal/releases/tag/v5.6) ----------- diff --git a/Interpolation/doc/Interpolation/CGAL/Interpolation_gradient_fitting_traits_2.h b/Interpolation/doc/Interpolation/CGAL/Interpolation_gradient_fitting_traits_2.h index 73b2ca49269..fe4dd468cb7 100644 --- a/Interpolation/doc/Interpolation/CGAL/Interpolation_gradient_fitting_traits_2.h +++ b/Interpolation/doc/Interpolation/CGAL/Interpolation_gradient_fitting_traits_2.h @@ -11,8 +11,7 @@ functions and of Sibson's gradient fitting function when applied on a function defined over a two-dimensional domain. The traits class is templated by a kernel class `K`. -\cgalModels `GradientFittingTraits` -\cgalModels `InterpolationTraits` +\cgalModels{GradientFittingTraits,InterpolationTraits} \sa `InterpolationTraits` \sa `GradientFittingTraits` diff --git a/Interpolation/doc/Interpolation/CGAL/Interpolation_traits_2.h b/Interpolation/doc/Interpolation/CGAL/Interpolation_traits_2.h index 4dfb092457d..79fb75c24af 100644 --- a/Interpolation/doc/Interpolation/CGAL/Interpolation_traits_2.h +++ b/Interpolation/doc/Interpolation/CGAL/Interpolation_traits_2.h @@ -10,7 +10,7 @@ geometric traits class of interpolation methods applied on a bivariate function over a two-dimensional domain. The traits class is templated by a kernel class `K`. -\cgalModels `InterpolationTraits` +\cgalModels{InterpolationTraits} \sa `InterpolationTraits` \sa `GradientFittingTraits` diff --git a/Interpolation/doc/Interpolation/CGAL/Voronoi_intersection_2_traits_3.h b/Interpolation/doc/Interpolation/CGAL/Voronoi_intersection_2_traits_3.h index 2f3475cff06..68b432af00e 100644 --- a/Interpolation/doc/Interpolation/CGAL/Voronoi_intersection_2_traits_3.h +++ b/Interpolation/doc/Interpolation/CGAL/Voronoi_intersection_2_traits_3.h @@ -20,7 +20,7 @@ points without explicitly constructing the projected points and the weights. This reduces the arithmetic demands. The traits class is templated by a kernel class `K` and inherits from it. -\cgalModels `RegularTriangulationTraits_2` +\cgalModels{RegularTriangulationTraits_2} \sa `CGAL::Regular_triangulation_2` \sa `PkgInterpolationRegularNeighborCoordinates2` diff --git a/Interpolation/doc/Interpolation/Concepts/GradientFittingTraits.h b/Interpolation/doc/Interpolation/Concepts/GradientFittingTraits.h index 8ce13fd4e1d..222fc82d203 100644 --- a/Interpolation/doc/Interpolation/Concepts/GradientFittingTraits.h +++ b/Interpolation/doc/Interpolation/Concepts/GradientFittingTraits.h @@ -7,7 +7,9 @@ traits class that defines the primitives used by the algorithm. The concept `GradientFittingTraits` defines this common set of requirements. -\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Interpolation_gradient_fitting_traits_2} +\cgalHasModelsEnd \sa `InterpolationTraits` \sa `CGAL::Interpolation_traits_2` diff --git a/Interpolation/doc/Interpolation/Concepts/InterpolationTraits.h b/Interpolation/doc/Interpolation/Concepts/InterpolationTraits.h index 03be7b11a8d..d3b8bd79bec 100644 --- a/Interpolation/doc/Interpolation/Concepts/InterpolationTraits.h +++ b/Interpolation/doc/Interpolation/Concepts/InterpolationTraits.h @@ -7,8 +7,10 @@ Most interpolation functions are parameterized by a traits class that defines the primitives used in the interpolation algorithms. The concept `InterpolationTraits` defines this common set of requirements. -\cgalHasModel `CGAL::Interpolation_traits_2` -\cgalHasModel `CGAL::Interpolation_gradient_fitting_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Interpolation_traits_2} +\cgalHasModels{CGAL::Interpolation_gradient_fitting_traits_2} +\cgalHasModelsEnd \sa `GradientFittingTraits` \sa `CGAL::sibson_c1_interpolation()` diff --git a/Interval_skip_list/doc/Interval_skip_list/CGAL/Interval_skip_list_interval.h b/Interval_skip_list/doc/Interval_skip_list/CGAL/Interval_skip_list_interval.h index 0507c73d678..b6d2bc94a8a 100644 --- a/Interval_skip_list/doc/Interval_skip_list/CGAL/Interval_skip_list_interval.h +++ b/Interval_skip_list/doc/Interval_skip_list/CGAL/Interval_skip_list_interval.h @@ -11,7 +11,7 @@ can be open or closed at each endpoint. The output operator is defined for `std::ostream`. -\cgalModels `Interval` +\cgalModels{Interval} */ template< typename Value > diff --git a/Interval_skip_list/doc/Interval_skip_list/CGAL/Level_interval.h b/Interval_skip_list/doc/Interval_skip_list/CGAL/Level_interval.h index 8ee910ca5dc..4e80b70e619 100644 --- a/Interval_skip_list/doc/Interval_skip_list/CGAL/Level_interval.h +++ b/Interval_skip_list/doc/Interval_skip_list/CGAL/Level_interval.h @@ -13,7 +13,7 @@ whose `Kernel_traits::Kernel` must have a nested type `FT`. These requirements are fulfilled, if one uses a \cgal triangulation and a \cgal `Kernel`. -\cgalModels `Interval` +\cgalModels{Interval} */ template< typename FaceHandle > diff --git a/Interval_skip_list/doc/Interval_skip_list/Concepts/Interval.h b/Interval_skip_list/doc/Interval_skip_list/Concepts/Interval.h index 254de6b64cd..7ca67466f3c 100644 --- a/Interval_skip_list/doc/Interval_skip_list/Concepts/Interval.h +++ b/Interval_skip_list/doc/Interval_skip_list/Concepts/Interval.h @@ -9,8 +9,10 @@ The concept does not specify, whether the interval is open or closed. It is up to the implementer of a model for this concept to define that. -\cgalHasModel `CGAL::Interval_skip_list_interval` -\cgalHasModel `CGAL::Level_interval` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Interval_skip_list_interval} +\cgalHasModels{CGAL::Level_interval} +\cgalHasModelsEnd \sa `Interval_skip_list` diff --git a/Jet_fitting_3/doc/Jet_fitting_3/Concepts/DataKernel.h b/Jet_fitting_3/doc/Jet_fitting_3/Concepts/DataKernel.h index 041a8eb9feb..bea789a167b 100644 --- a/Jet_fitting_3/doc/Jet_fitting_3/Concepts/DataKernel.h +++ b/Jet_fitting_3/doc/Jet_fitting_3/Concepts/DataKernel.h @@ -13,8 +13,10 @@ the class Only constructors (from 3 scalars and copy constructors) and access methods to coordinates `x()`, `y()`, `z()` are needed. -\cgalHasModel `CGAL::Cartesian` -\cgalHasModel `CGAL::Simple_cartesian` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian} +\cgalHasModels{CGAL::Simple_cartesian} +\cgalHasModelsEnd \sa `LocalKernel` diff --git a/Jet_fitting_3/doc/Jet_fitting_3/Concepts/LocalKernel.h b/Jet_fitting_3/doc/Jet_fitting_3/Concepts/LocalKernel.h index ba13fc2daad..17dbcfae03f 100644 --- a/Jet_fitting_3/doc/Jet_fitting_3/Concepts/LocalKernel.h +++ b/Jet_fitting_3/doc/Jet_fitting_3/Concepts/LocalKernel.h @@ -29,8 +29,10 @@ Only constructors (from 3 scalars and copy constructors) and access methods to coordinates `x()`, `y()`, `z()` are needed for the point and vector types. -\cgalHasModel `CGAL::Cartesian` -\cgalHasModel `CGAL::Simple_cartesian` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian} +\cgalHasModels{CGAL::Simple_cartesian} +\cgalHasModelsEnd \sa `DataKernel` \sa `SvdTraits` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_2.h b/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_2.h index 4bd99fa3771..1c0cb7a9931 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_2.h @@ -34,7 +34,7 @@ translation vector \f$ (v_0,\,v_1,\,1)\f$ appears in the last column of the matrix. The entries \f$ m_{20}\f$ and \f$ m_{21}\f$ are always zero and therefore do not appear in the constructors. -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} \sa `Identity_transformation` \sa `Rotation` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_3.h b/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_3.h index cfb2c924cb8..1312f02689f 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Aff_transformation_3.h @@ -29,7 +29,7 @@ In three-dimensional space we have a \f$ 4\times 4\f$ matrix \f$ m_{32}\f$ are always zero and therefore do not appear in the constructors. -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} \sa `CGAL::Aff_transformation_2` \sa `CGAL::Identity_transformation` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Bbox_2.h b/Kernel_23/doc/Kernel_23/CGAL/Bbox_2.h index ec861b9cb72..1905d336703 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Bbox_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Bbox_2.h @@ -7,7 +7,7 @@ namespace CGAL { An object `b` of the class `Bbox_2` is a bounding box in the two-dimensional Euclidean plane \f$ \E^2\f$. This class is not templated. -\cgalModels `Hashable` +\cgalModels{Hashable} \sa `CGAL::Bbox_3` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Bbox_3.h b/Kernel_23/doc/Kernel_23/CGAL/Bbox_3.h index a61d5e339af..f44a44e4812 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Bbox_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Bbox_3.h @@ -7,7 +7,7 @@ namespace CGAL { An object `b` of the class `Bbox_3` is a bounding box in the three-dimensional Euclidean space \f$ \E^3\f$. -\cgalModels `Hashable` +\cgalModels{Hashable} \sa `CGAL::Bbox_2` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Cartesian.h b/Kernel_23/doc/Kernel_23/CGAL/Cartesian.h index 453a15d867d..46920d12e07 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Cartesian.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Cartesian.h @@ -14,7 +14,7 @@ type provided as a model for `FieldNumberType` is only an approximation of a field (such as the built-in type `double`), then the geometry provided by the kernel is only an approximation of Euclidean geometry. -\cgalModels `Kernel` +\cgalModels{Kernel} \cgalHeading{Implementation} diff --git a/Kernel_23/doc/Kernel_23/CGAL/Circle_2.h b/Kernel_23/doc/Kernel_23/CGAL/Circle_2.h index 1e9eacdeb0e..0903e515255 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Circle_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Circle_2.h @@ -11,8 +11,7 @@ positive side is to the left of the boundary. The boundary also splits \f$ \E^2\f$ into a bounded and an unbounded side. Note that the circle can be degenerated, i.e.\ the squared radius may be zero. -\cgalModels `Kernel::Circle_2` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Circle_2,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Circle_3.h b/Kernel_23/doc/Kernel_23/CGAL/Circle_3.h index 1fcdcab6e68..4624be59f35 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Circle_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Circle_3.h @@ -7,7 +7,7 @@ An object `c` of type `Circle_3` is a circle in the three-dimensional Euclidean space \f$ \E^3\f$. Note that the circle can be degenerate, i.e.\ the squared radius may be zero. -\cgalModels `Kernel::Circle_3` +\cgalModels{Kernel::Circle_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Direction_2.h b/Kernel_23/doc/Kernel_23/CGAL/Direction_2.h index 00a2e8d74a5..241f39e6409 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Direction_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Direction_2.h @@ -14,7 +14,7 @@ orthogonal to an oriented plane, or the direction of an oriented line. Further, they can be used to indicate angles. The slope of a direction is `dy()`/`dx()`. -\cgalModels `Kernel::Direction_2` +\cgalModels{Kernel::Direction_2} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Direction_3.h b/Kernel_23/doc/Kernel_23/CGAL/Direction_3.h index 81b096ac359..34c8c55766d 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Direction_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Direction_3.h @@ -13,7 +13,7 @@ or the direction normal to parallel planes that have the same orientation. For example, you can ask for the direction orthogonal to an oriented plane, or the direction of an oriented line. -\cgalModels `Kernel::Direction_3` +\cgalModels{Kernel::Direction_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel.h b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel.h index a29334c9fc0..5a6bae83b3e 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel.h @@ -14,7 +14,7 @@ coordinates. constructions. -\cgalModels `Kernel` +\cgalModels{Kernel} \sa `CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt` \sa `CGAL::Exact_predicates_exact_constructions_kernel_with_kth_root` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_kth_root.h b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_kth_root.h index 275fd9ae602..3b889df0f04 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_kth_root.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_kth_root.h @@ -17,7 +17,7 @@ constructions. Note that it requires CORE or LEDA installed. -\cgalModels `Kernel` +\cgalModels{Kernel} \sa `CGAL::Exact_predicates_exact_constructions_kernel` \sa `CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_root_of.h b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_root_of.h index 512a90c0de6..9e9f5fafcdc 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_root_of.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_root_of.h @@ -17,7 +17,7 @@ constructions. Note that it requires CORE or LEDA installed. -\cgalModels `Kernel` +\cgalModels{Kernel} \sa `CGAL::Exact_predicates_exact_constructions_kernel` \sa `CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h index 329cf7b73af..7827a88903b 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h @@ -17,7 +17,7 @@ constructions. Note that it requires CORE or LEDA installed. -\cgalModels `Kernel` +\cgalModels{Kernel} \sa `CGAL::Exact_predicates_exact_constructions_kernel` \sa `CGAL::Exact_predicates_exact_constructions_kernel_with_kth_root` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h index 1063561e3d6..d53f16093f0 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h @@ -14,7 +14,7 @@ coordinates. constructions. -\cgalModels `Kernel` +\cgalModels{Kernel} \sa `CGAL::Exact_predicates_exact_constructions_kernel` \sa `CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Filtered_kernel.h b/Kernel_23/doc/Kernel_23/CGAL/Filtered_kernel.h index d2842b55a2e..5935300f991 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Filtered_kernel.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Filtered_kernel.h @@ -14,7 +14,7 @@ More details about the filtering technique can be found in \cgalCite{cgal:bbp-i In contrast to `Filtered_kernel`, the global functions are those of `CK`. -\cgalModels `Kernel` +\cgalModels{Kernel} \cgalHeading{Example} @@ -71,7 +71,7 @@ activates or not an additional layer of semi-static filters. It defaults to defined. This option is mostly for debugging and testing, there should be no production use for deactivating static filters. -\cgalModels `Kernel` +\cgalModels{Kernel} \cgalHeading{Example} diff --git a/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h b/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h index bad95b0defa..b809ff933f2 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h @@ -21,7 +21,7 @@ we use the function objects `C2E` and `C2F`, which must be of the form \cgalHeading{Example} The following example defines an efficient and exact version of the -orientation predicate over three points using the Cartesian representation +orientation predicate over three points using the %Cartesian representation with double coordinates and without reference counting (`Simple_cartesian::Point_2`). Of course, the orientation predicate can already be found in the kernel, but diff --git a/Kernel_23/doc/Kernel_23/CGAL/Homogeneous.h b/Kernel_23/doc/Kernel_23/CGAL/Homogeneous.h index 64f071e40a0..b46345798df 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Homogeneous.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Homogeneous.h @@ -14,7 +14,7 @@ type provided as a model for `RingNumberType` is only an approximation of a ring (such as the built-in type `double`), then the geometry provided by the kernel is only an approximation of Euclidean geometry. -\cgalModels `Kernel` +\cgalModels{Kernel} \cgalHeading{Implementation} diff --git a/Kernel_23/doc/Kernel_23/CGAL/Iso_cuboid_3.h b/Kernel_23/doc/Kernel_23/CGAL/Iso_cuboid_3.h index a32da1d2490..c98675c6ecf 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Iso_cuboid_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Iso_cuboid_3.h @@ -16,8 +16,7 @@ difference however is that bounding boxes have always double coordinates, whereas the coordinate type of an iso-oriented cuboid is chosen by the user. -\cgalModels `Kernel::IsoCuboid_3` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::IsoCuboid_3,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Iso_rectangle_2.h b/Kernel_23/doc/Kernel_23/CGAL/Iso_rectangle_2.h index d7228803e0e..106c019b0e2 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Iso_rectangle_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Iso_rectangle_2.h @@ -17,8 +17,7 @@ difference however is that bounding boxes have always double coordinates, whereas the coordinate type of an iso-oriented rectangle is chosen by the user. -\cgalModels `Kernel::IsoRectangle_2` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::IsoRectangle_2,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h b/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h index 6be2530b49b..1b7099243c9 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Kernel/global_functions.h @@ -753,7 +753,7 @@ const CGAL::Point_3& r); /// @{ /*! -Compares the Cartesian coordinates of points `p` and +Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xy\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared. This is the same function as `compare_xy` and exists for compatibility with `Point_d`. @@ -763,7 +763,7 @@ Comparison_result compare_lexicographically(const CGAL::Point_2& p, const CGAL::Point_2& q); /*! -Compares the Cartesian coordinates of points `p` and +Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xyz\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared, and if both \f$ x\f$- and \f$ y\f$- coordinate are equal, @@ -1144,7 +1144,7 @@ global function are available. /// @{ /*! -Compares the Cartesian coordinates of points `p` and +Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xy\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared. @@ -1154,7 +1154,7 @@ Comparison_result compare_xy(const CGAL::Point_2& p, const CGAL::Point_2& q); /*! -Compares the Cartesian coordinates of points `p` and `q` +Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xy\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared. @@ -1177,7 +1177,7 @@ compare_xy(const CGAL::Point_3& p, const CGAL::Point_3& q); /// @{ /*! -Compares the \f$ x\f$ and \f$ y\f$ Cartesian coordinates of points `p` and +Compares the \f$ x\f$ and \f$ y\f$ %Cartesian coordinates of points `p` and `q` lexicographically. */ template @@ -1186,7 +1186,7 @@ Comparison_result const CGAL::Circular_arc_point_2 &q); /*! -Compares the \f$ x\f$ and \f$ y\f$ Cartesian coordinates of points `p` and +Compares the \f$ x\f$ and \f$ y\f$ %Cartesian coordinates of points `p` and `q` lexicographically. */ template @@ -1209,7 +1209,7 @@ compare_xy(const CGAL::Circular_arc_point_2 &p, /*! -Compares the \f$ x\f$ and \f$ y\f$ Cartesian coordinates of points `p` and +Compares the \f$ x\f$ and \f$ y\f$ %Cartesian coordinates of points `p` and `q` lexicographically. */ template @@ -1218,7 +1218,7 @@ Comparison_result const CGAL::Circular_arc_point_3 &q); /*! -Compares the \f$ x\f$ and \f$ y\f$ Cartesian coordinates of points `p` and +Compares the \f$ x\f$ and \f$ y\f$ %Cartesian coordinates of points `p` and `q` lexicographically. */ template @@ -1442,13 +1442,13 @@ global function are available. */ /// @{ /*! - compares Cartesian \f$ y\f$-coordinates of `p` and `q`. + compares %Cartesian \f$ y\f$-coordinates of `p` and `q`. */ template Comparison_result compare_y(const CGAL::Point_2 &p, const CGAL::Point_2 &q); /*! - compares Cartesian \f$ y\f$-coordinates of `p` and `q`. + compares %Cartesian \f$ y\f$-coordinates of `p` and `q`. */ template Comparison_result compare_y(const CGAL::Point_3 &p, @@ -1564,7 +1564,7 @@ global function are available. /// @{ /*! -Compares the Cartesian coordinates of points `p` and +Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xyz\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared, and if both \f$ x\f$- and \f$ y\f$- coordinate are equal, @@ -1587,7 +1587,7 @@ compare_xyz(const CGAL::Point_3& p, const CGAL::Point_3& q); */ /// @{ -/*! Compares the Cartesian coordinates of points `p` and `q` lexicographically. +/*! Compares the %Cartesian coordinates of points `p` and `q` lexicographically. */ template Comparison_result @@ -1595,7 +1595,7 @@ compare_xyz(const CGAL::Circular_arc_point_3 &p, const CGAL::Circular_arc_point_3 &q); /*! -Compares the Cartesian coordinates of points `p` and `q` lexicographically. +Compares the %Cartesian coordinates of points `p` and `q` lexicographically. */ template Comparison_result @@ -1682,7 +1682,7 @@ compare_z(const CGAL::Circular_arc_point_3 &p, const CGAL::Poin /// @{ /*! -Compares the Cartesian coordinates of points `p` and +Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ yx\f$ order: first \f$ y\f$-coordinates are compared, if they are equal, \f$ x\f$-coordinates are compared. diff --git a/Kernel_23/doc/Kernel_23/CGAL/Line_2.h b/Kernel_23/doc/Kernel_23/CGAL/Line_2.h index 079c65a6eb6..6d10a6efc62 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Line_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Line_2.h @@ -34,7 +34,7 @@ To define a line `l` we write: Line_2< Cartesian > l(p,q); \endcode -\cgalModels `Kernel::Line_2` +\cgalModels{Kernel::Line_2} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Line_3.h b/Kernel_23/doc/Kernel_23/CGAL/Line_3.h index e7b19f59107..1760d5f6c2a 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Line_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Line_3.h @@ -6,7 +6,7 @@ namespace CGAL { An object `l` of the data type `Line_3` is a directed straight line in the three-dimensional Euclidean space \f$ \E^3\f$. -\cgalModels `Kernel::Line_3` +\cgalModels{Kernel::Line_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Plane_3.h b/Kernel_23/doc/Kernel_23/CGAL/Plane_3.h index 9ef778c7c17..4496ea077dd 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Plane_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Plane_3.h @@ -14,7 +14,7 @@ A point `p` with %Cartesian coordinates \f$ (px, py, pz)\f$ is on the positive side of `h`, iff \f$ a\, px +b\, py +c\, pz + d > 0\f$. It is on the negative side, iff \f$ a\, px +b\, py\, +c\, pz + d < 0\f$. -\cgalModels `Kernel::Plane_3` +\cgalModels{Kernel::Plane_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Point_2.h b/Kernel_23/doc/Kernel_23/CGAL/Point_2.h index 00ea07ef2fb..7548bef2472 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Point_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Point_2.h @@ -30,8 +30,7 @@ p = q; std::cout << p.x() << " " << p.y() << std::endl; \endcode -\cgalModels `Kernel::Point_2` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Point_2,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Point_3.h b/Kernel_23/doc/Kernel_23/CGAL/Point_3.h index 0babd70a4c8..7bd6d26fddc 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Point_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Point_3.h @@ -16,8 +16,7 @@ to `NT`, and `Kernel::FT` is equal to `Quotient`. The following operations can be applied on points: -\cgalModels `Kernel::Point_3` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Point_3,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_3.h b/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_3.h index 9c468b37b22..8642cd194d1 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_3.h @@ -15,12 +15,7 @@ constructions or if `K` is a `CGAL::Filtered_kernel` (such as for `CGAL::Exact_predicates_inexact_constructions_kernel`), this class automatically provides exact predicates. -\cgalModels `TriangulationTraits_2` -\cgalModels `DelaunayTriangulationTraits_2` -\cgalModels `ConstrainedTriangulationTraits_2` -\cgalModels `PolygonTraits_2` -\cgalModels `ConformingDelaunayTriangulationTraits_2` -\cgalModels `Barycentric_coordinates::BarycentricTraits_2` +\cgalModels{TriangulationTraits_2,DelaunayTriangulationTraits_2,ConstrainedTriangulationTraits_2,PolygonTraits_2,ConformingDelaunayTriangulationTraits_2,Barycentric_coordinates::BarycentricTraits_2} \sa `CGAL::Projection_traits_xy_3` \sa `CGAL::Projection_traits_xz_3` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h b/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h index fec8c6c80a1..4b28f7dd1bd 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h @@ -21,18 +21,19 @@ constructions or if `K` is a `CGAL::Filtered_kernel` (such as for `CGAL::Exact_predicates_inexact_constructions_kernel`), this class automatically provides exact predicates. -\cgalModels The class is a model of several 2D triangulation traits class concepts, - except that it does not provide the type and constructors - required to build the dual Voronoi diagram. -\cgalModels `PolygonTraits_2` -\cgalModels `ConvexHullTraits_2` -\cgalModels `TriangulationTraits_2` -\cgalModels `DelaunayTriangulationTraits_2` -\cgalModels `ConstrainedTriangulationTraits_2` -\cgalModels `ConvexHullTraits_2` -\cgalModels `DelaunayMeshTraits_2` -\cgalModels `AnalyticWeightTraits_2` -\cgalModels `Barycentric_coordinates::BarycentricTraits_2` +\cgalModelsBareBegin +\cgalModelsBare{The class is a model of several 2D triangulation traits class concepts, + except that it does not provide the type and constructors required to build the dual Voronoi diagram.} +\cgalModelsBare{`PolygonTraits_2`} +\cgalModelsBare{`ConvexHullTraits_2`} +\cgalModelsBare{`TriangulationTraits_2`} +\cgalModelsBare{`DelaunayTriangulationTraits_2`} +\cgalModelsBare{`ConstrainedTriangulationTraits_2`} +\cgalModelsBare{`ConvexHullTraits_2`} +\cgalModelsBare{`DelaunayMeshTraits_2`} +\cgalModelsBare{`AnalyticWeightTraits_2`} +\cgalModelsBare{`Barycentric_coordinates::BarycentricTraits_2`} +\cgalModelsBareEnd \sa `CGAL::Projection_traits_3` */ diff --git a/Kernel_23/doc/Kernel_23/CGAL/Ray_2.h b/Kernel_23/doc/Kernel_23/CGAL/Ray_2.h index c153b0f9ee3..0e81f49852c 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Ray_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Ray_2.h @@ -7,7 +7,7 @@ An object `r` of the data type `Ray_2` is a directed straight ray in the two-dimensional Euclidean plane \f$ \E^2\f$. It starts in a point called the source of `r` and goes to infinity. -\cgalModels `Kernel::Ray_2` +\cgalModels{Kernel::Ray_2} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Ray_3.h b/Kernel_23/doc/Kernel_23/CGAL/Ray_3.h index 86e6efce248..49f66ae47cc 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Ray_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Ray_3.h @@ -7,7 +7,7 @@ An object `r` of the data type `Ray_3` is a directed straight ray in the three-dimensional Euclidean space \f$ \E^3\f$. It starts in a point called the source of `r` and it goes to infinity. -\cgalModels `Kernel::Ray_3` +\cgalModels{Kernel::Ray_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Segment_2.h b/Kernel_23/doc/Kernel_23/CGAL/Segment_2.h index 71ae4257335..0e7bc381ab1 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Segment_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Segment_2.h @@ -14,8 +14,7 @@ to compute the square of the length, because otherwise we had to perform a square root operation which is not defined for all number types, which is expensive, and may not be exact. -\cgalModels `Kernel::Segment_2` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Segment_2,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Segment_3.h b/Kernel_23/doc/Kernel_23/CGAL/Segment_3.h index 36dcda52494..ffa862e7361 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Segment_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Segment_3.h @@ -14,8 +14,7 @@ to compute the square of the length, because otherwise we had to perform a square root operation which is not defined for all number types, which is expensive, and may not be exact. -\cgalModels `Kernel::Segment_3` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Segment_3,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Simple_cartesian.h b/Kernel_23/doc/Kernel_23/CGAL/Simple_cartesian.h index b84880de991..11ee6050d50 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Simple_cartesian.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Simple_cartesian.h @@ -14,7 +14,7 @@ type provided as a model for `FieldNumberType` is only an approximation of a field (such as the built-in type `double`), then the geometry provided by the kernel is only an approximation of Euclidean geometry. -\cgalModels `Kernel` +\cgalModels{Kernel} \cgalHeading{Implementation} diff --git a/Kernel_23/doc/Kernel_23/CGAL/Simple_homogeneous.h b/Kernel_23/doc/Kernel_23/CGAL/Simple_homogeneous.h index 302e7c91b5c..1dc5fa6395e 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Simple_homogeneous.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Simple_homogeneous.h @@ -14,7 +14,7 @@ type provided as a model for `RingNumberType` is only an approximation of a ring (such as the built-in type `double`), then the geometry provided by the kernel is only an approximation of Euclidean geometry. -\cgalModels `Kernel` +\cgalModels{Kernel} \cgalHeading{Implementation} diff --git a/Kernel_23/doc/Kernel_23/CGAL/Sphere_3.h b/Kernel_23/doc/Kernel_23/CGAL/Sphere_3.h index f8541de6dd3..2436276513e 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Sphere_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Sphere_3.h @@ -11,8 +11,7 @@ positive side is to the left of the boundary. The boundary also splits \f$ \E^3\f$ into a bounded and an unbounded side. Note that the sphere can be degenerated, i.e.\ the squared radius may be zero. -\cgalModels `Kernel::Sphere_3` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Sphere_3,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Tetrahedron_3.h b/Kernel_23/doc/Kernel_23/CGAL/Tetrahedron_3.h index 649a874e242..37af105fefe 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Tetrahedron_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Tetrahedron_3.h @@ -17,7 +17,7 @@ a negative side. The boundary of a tetrahedron splits the space in two open regions, a bounded one and an unbounded one. -\cgalModels `Kernel::Tetrahedron_3` +\cgalModels{Kernel::Tetrahedron_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Triangle_2.h b/Kernel_23/doc/Kernel_23/CGAL/Triangle_2.h index e19f43bc522..9004381fb11 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Triangle_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Triangle_2.h @@ -13,7 +13,7 @@ boundary the negative side. The boundary of a triangle splits the plane in two open regions, a bounded one and an unbounded one. -\cgalModels `Kernel::Triangle_2` +\cgalModels{Kernel::Triangle_2} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h b/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h index d0dadad48b8..cc53d8ad29a 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Triangle_3.h @@ -8,7 +8,7 @@ the three-dimensional Euclidean space \f$ \E^3\f$. As the triangle is not a full-dimensional object there is only a test whether a point lies on the triangle or not. -\cgalModels `Kernel::Triangle_3` +\cgalModels{Kernel::Triangle_3} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Vector_2.h b/Kernel_23/doc/Kernel_23/CGAL/Vector_2.h index eaeab03a882..bebeeeda3d9 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Vector_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Vector_2.h @@ -12,8 +12,7 @@ from \f$ p_1\f$ to \f$ p_2\f$. will explicitly state where you can pass this constant as an argument instead of a vector initialized with zeros. -\cgalModels `Kernel::Vector_2` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Vector_2,Hashable if `Kernel` is a %Cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > @@ -25,7 +24,7 @@ public: /*! An iterator for enumerating the -Cartesian coordinates of a vector. +%Cartesian coordinates of a vector. */ typedef unspecified_type Cartesian_const_iterator; @@ -119,7 +118,7 @@ Kernel::FT y() const; /// \name Convenience Operators /// The following operations are for convenience and for compatibility -/// with higher dimensional vectors. Again they come in a Cartesian +/// with higher dimensional vectors. Again they come in a %Cartesian /// and homogeneous flavor. /// @{ @@ -131,7 +130,7 @@ returns the i'th homogeneous coordinate of `v`. Kernel::RT homogeneous(int i) const; /*! -returns the i'th Cartesian coordinate of `v`. +returns the i'th %Cartesian coordinate of `v`. \pre `0 <= i <= 1`. */ Kernel::FT cartesian(int i) const; @@ -143,13 +142,13 @@ returns `cartesian(i)`. Kernel::FT operator[](int i) const; /*! -returns an iterator to the Cartesian coordinates +returns an iterator to the %Cartesian coordinates of `v`, starting with the 0th coordinate. */ Cartesian_const_iterator cartesian_begin() const; /*! -returns an off the end iterator to the Cartesian +returns an off the end iterator to the %Cartesian coordinates of `v`. */ Cartesian_const_iterator cartesian_end() const; diff --git a/Kernel_23/doc/Kernel_23/CGAL/Vector_3.h b/Kernel_23/doc/Kernel_23/CGAL/Vector_3.h index d126bd97740..1e114bd44e3 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Vector_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Vector_3.h @@ -12,8 +12,7 @@ from \f$ p_1\f$ to \f$ p_2\f$. will explicitly state where you can pass this constant as an argument instead of a vector initialized with zeros. -\cgalModels `Kernel::Vector_3` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::Vector_3,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} \sa `cross_product_grp` \sa `determinant_grp` diff --git a/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_2.h b/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_2.h index 01a147e6d64..fa67214d5a8 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_2.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_2.h @@ -13,8 +13,7 @@ to `NT`, and `Kernel::FT` is equal to `Quotient`. \sa `Point_2` -\cgalModels `Kernel::WeightedPoint_2` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::WeightedPoint_2,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_3.h b/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_3.h index 3dcb39e1786..7765f44daa9 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Weighted_point_3.h @@ -13,8 +13,7 @@ to `NT`, and `Kernel::FT` is equal to `Quotient`. \sa `Point_3` -\cgalModels `Kernel::WeightedPoint_3` -\cgalModels `Hashable` if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable` +\cgalModels{Kernel::WeightedPoint_3,Hashable if `Kernel` is a cartesian kernel and if `Kernel::FT` is `Hashable`} */ template< typename Kernel > diff --git a/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h b/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h index bdd0dff3473..7e4e6661523 100644 --- a/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h +++ b/Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h @@ -478,7 +478,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - A type representing an iterator to the Cartesian coordinates of a point + A type representing an iterator to the %Cartesian coordinates of a point in two dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} @@ -495,7 +495,7 @@ public: \ingroup PkgKernel23ConceptsFunctionObjects \cgalConcept - A type representing an iterator to the Cartesian coordinates of a point + A type representing an iterator to the %Cartesian coordinates of a point in three dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} @@ -1365,7 +1365,7 @@ public: /// @{ /*! - Compares the Cartesian coordinates of points `p` and + Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xyz\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared. If they are equal, \f$ z\f$-coordinates are compared. @@ -1395,7 +1395,7 @@ public: /// @{ /*! - Compares the Cartesian coordinates of points `p` and + Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xy\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared. @@ -1425,7 +1425,7 @@ public: /*! - Compares the Cartesian coordinates of points `p` and + Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ xy\f$ order: first \f$ x\f$-coordinates are compared, if they are equal, \f$ y\f$-coordinates are compared. @@ -1458,7 +1458,7 @@ public: /// @{ /*! - compares the Cartesian \f$ x\f$-coordinates of points `p` and `q` + compares the %Cartesian \f$ x\f$-coordinates of points `p` and `q` */ Comparison_result operator()(const Kernel::Point_2&p, const Kernel::Point_2&q); @@ -1514,7 +1514,7 @@ public: /// @{ /*! - Compares the Cartesian \f$ x\f$-coordinates of points `p` and + Compares the %Cartesian \f$ x\f$-coordinates of points `p` and `q` */ Comparison_result operator()(const Kernel::Point_3&p, @@ -1633,7 +1633,7 @@ public: /// @{ /*! - Compares the Cartesian coordinates of points `p` and + Compares the %Cartesian coordinates of points `p` and `q` lexicographically in \f$ yx\f$ order: first \f$ y\f$-coordinates are compared, if they are equal, \f$ x\f$-coordinates are compared. @@ -1666,7 +1666,7 @@ public: /// @{ /*! - Compares the Cartesian \f$ y\f$-coordinates of points `p` and + Compares the %Cartesian \f$ y\f$-coordinates of points `p` and `q` */ Comparison_result operator()(const Kernel::Point_2&p, @@ -1725,7 +1725,7 @@ public: /// @{ /*! - Compares the Cartesian \f$ y\f$-coordinates of points `p` and + Compares the %Cartesian \f$ y\f$-coordinates of points `p` and `q` */ Comparison_result operator()(const Kernel::Point_3&p, @@ -1752,7 +1752,7 @@ public: /// @{ /*! - Compares the Cartesian \f$ z\f$-coordinates of points `p` and + Compares the %Cartesian \f$ z\f$-coordinates of points `p` and `q` */ Comparison_result operator()(const Kernel::Point_3&p, @@ -3983,25 +3983,25 @@ public: /*! - returns an iterator on the 0'th Cartesian coordinate of `p`. + returns an iterator on the 0'th %Cartesian coordinate of `p`. */ Kernel::Cartesian_const_iterator_2 operator()(const Kernel::Point_2 &p); /*! - returns the past the end iterator of the Cartesian coordinates of `p`. + returns the past the end iterator of the %Cartesian coordinates of `p`. */ Kernel::Cartesian_const_iterator_2 operator()(const Kernel::Point_2 &p, int); /*! - returns an iterator on the 0'th Cartesian coordinate of `v`. + returns an iterator on the 0'th %Cartesian coordinate of `v`. */ Kernel::Cartesian_const_iterator_2 operator()(const Kernel::Vector_2 &v); /*! - returns the past the end iterator of the Cartesian coordinates of `v`. + returns the past the end iterator of the %Cartesian coordinates of `v`. */ Kernel::Cartesian_const_iterator_2 operator()(const Kernel::Vector_2 &v, int); @@ -4028,25 +4028,25 @@ public: /// @{ /*! - returns an iterator on the 0'th Cartesian coordinate of `p`. + returns an iterator on the 0'th %Cartesian coordinate of `p`. */ Kernel::Cartesian_const_iterator_3 operator()(const Kernel::Point_3 &p); /*! - returns the past the end iterator of the Cartesian coordinates of `p`. + returns the past the end iterator of the %Cartesian coordinates of `p`. */ Kernel::Cartesian_const_iterator_3 operator()(const Kernel::Point_3 &p, int); /*! - returns an iterator on the 0'th Cartesian coordinate of `v`. + returns an iterator on the 0'th %Cartesian coordinate of `v`. */ Kernel::Cartesian_const_iterator_3 operator()(const Kernel::Vector_3 &v); /*! - returns the past the end iterator of the Cartesian coordinates of `v`. + returns the past the end iterator of the %Cartesian coordinates of `v`. */ Kernel::Cartesian_const_iterator_3 operator()(const Kernel::Vector_3 &v, int); @@ -5992,7 +5992,7 @@ public: /// @{ /*! - introduces a variable with Cartesian coordinates + introduces a variable with %Cartesian coordinates \f$ (0,0)\f$. */ Kernel::Point_2 operator()(const CGAL::Origin &CGAL::ORIGIN); @@ -6033,7 +6033,7 @@ public: /// @{ /*! - introduces a point with Cartesian coordinates\f$ (0,0,0)\f$. + introduces a point with %Cartesian coordinates\f$ (0,0,0)\f$. */ Kernel::Point_3 operator()(const CGAL::Origin &CGAL::ORIGIN); @@ -7287,19 +7287,19 @@ public: /// @{ /*! - introduces a weighted point with Cartesian coordinates + introduces a weighted point with %Cartesian coordinates \f$ (0,0)\f$ and weight \f$ 0 \f$. */ Kernel::Weighted_point_2 operator()(const CGAL::Origin &CGAL::ORIGIN); /*! - introduces a weighted point with Cartesian coordinates + introduces a weighted point with %Cartesian coordinates those of \f$ p \f$ and weight \f$ 0 \f$. */ Kernel::Weighted_point_2 operator()(const Kernel::Point_2& p); /*! - introduces a weighted point with Cartesian coordinates + introduces a weighted point with %Cartesian coordinates those of \f$ p \f$ and weight \f$ w \f$. */ Kernel::Weighted_point_2 operator()(const Kernel::Point_2& p, const Kernel::FT& w); @@ -7325,19 +7325,19 @@ public: /// @{ /*! - introduces a weighted point with Cartesian coordinates + introduces a weighted point with %Cartesian coordinates \f$ (0,0,0)\f$ and weight \f$ 0 \f$. */ Kernel::Weighted_point_3 operator()(const CGAL::Origin &CGAL::ORIGIN); /*! - introduces a weighted point with Cartesian coordinates + introduces a weighted point with %Cartesian coordinates those of \f$ p \f$ and weight \f$ 0 \f$. */ Kernel::Weighted_point_3 operator()(const Kernel::Point_3& p); /*! - introduces a weighted point with Cartesian coordinates + introduces a weighted point with %Cartesian coordinates those of \f$ p \f$ and weight \f$ w \f$. */ Kernel::Weighted_point_3 operator()(const Kernel::Point_3& p, const Kernel::FT& w); @@ -7590,8 +7590,8 @@ public: /*! - returns true iff `p` and `q` have the same Cartesian \f$ x\f$-coordinate - and the same Cartesian \f$ y\f$-coordinate. + returns true iff `p` and `q` have the same %Cartesian \f$ x\f$-coordinate + and the same %Cartesian \f$ y\f$-coordinate. */ bool operator()(const Kernel::Point_3&p, const Kernel::Point_3&q); @@ -7617,7 +7617,7 @@ public: /// @{ /*! - returns true iff `p` and `q` have the same Cartesian \f$ x\f$-coordinate. + returns true iff `p` and `q` have the same %Cartesian \f$ x\f$-coordinate. */ bool operator()(const Kernel::Point_2&p, const Kernel::Point_2&q); @@ -7643,7 +7643,7 @@ public: /// @{ /*! - returns true iff `p` and `q` have the same Cartesian \f$ x\f$-coordinate. + returns true iff `p` and `q` have the same %Cartesian \f$ x\f$-coordinate. */ bool operator()(const Kernel::Point_3&p, const Kernel::Point_3&q); @@ -7669,7 +7669,7 @@ public: /// @{ /*! - returns true iff `p` and `q` have the same Cartesian \f$ y\f$-coordinate. + returns true iff `p` and `q` have the same %Cartesian \f$ y\f$-coordinate. */ bool operator()(const Kernel::Point_2&p, const Kernel::Point_2&q); @@ -7695,7 +7695,7 @@ public: /// @{ /*! - returns true iff `p` and `q` have the same Cartesian \f$ y\f$-coordinate. + returns true iff `p` and `q` have the same %Cartesian \f$ y\f$-coordinate. */ bool operator()(const Kernel::Point_3&p, const Kernel::Point_3&q); @@ -7721,7 +7721,7 @@ public: /// @{ /*! - returns true iff `p` and `q` have the same Cartesian \f$ z\f$-coordinate. + returns true iff `p` and `q` have the same %Cartesian \f$ z\f$-coordinate. */ bool operator()(const Kernel::Point_3&p, const Kernel::Point_3&q); diff --git a/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h b/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h index d7fa271e560..57ad06016b8 100644 --- a/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h +++ b/Kernel_23/doc/Kernel_23/Concepts/GeomObjects.h @@ -8,7 +8,9 @@ namespace Kernel { \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Circle_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Circle_2} + \cgalHasModelsEnd \sa `Kernel::BoundedSide_2` \sa `Kernel::ComputeSquaredRadius_2` @@ -38,7 +40,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Circle_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Circle_3} + \cgalHasModelsEnd \sa `Kernel::ComputeApproximateArea_3` \sa `Kernel::ComputeApproximateSquaredLength_3` @@ -67,7 +71,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Direction_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Direction_2} + \cgalHasModelsEnd \sa `Kernel::CompareAngleWithXAxis_2` \sa `Kernel::ComputeDx_2` @@ -91,7 +97,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Direction_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Direction_3} + \cgalHasModelsEnd \sa `Kernel::ConstructDirection_3` \sa `Kernel::ConstructOppositeDirection_3` @@ -111,7 +119,9 @@ A type representing isocuboids in three dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Iso_cuboid_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Iso_cuboid_3} +\cgalHasModelsEnd \sa `Kernel::BoundedSide_3` \sa `Kernel::ComputeVolume_3` @@ -136,7 +146,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Iso_rectangle_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Iso_rectangle_2} + \cgalHasModelsEnd \sa `Kernel::ConstructIsoRectangle_2` \sa `Kernel::ComputeXmin_2` @@ -168,7 +180,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Line_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Line_2} + \cgalHasModelsEnd \sa `Kernel::CompareXAtY_2` \sa `Kernel::ComputeSquaredDistance_2` @@ -204,7 +218,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Line_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Line_3} + \cgalHasModelsEnd \sa `Kernel::ComputeSquaredDistance_3` \sa `Kernel::ConstructDirection_3` @@ -235,7 +251,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Object` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Object} + \cgalHasModelsEnd \sa `Kernel::Assign_2` \sa `Kernel::ConstructObject_2` @@ -256,7 +274,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Object` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Object} + \cgalHasModelsEnd \sa `Kernel::Assign_3` \sa `Kernel::ConstructObject_3` @@ -275,7 +295,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Plane_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Plane_3} + \cgalHasModelsEnd \sa `Kernel::ComputeSquaredDistance_3` \sa `Kernel::ConstructBaseVector_3` @@ -312,7 +334,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Point_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Point_2} + \cgalHasModelsEnd \sa `Kernel::Angle_2` \sa `Kernel::AreOrderedAlongLine_2` @@ -371,7 +395,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Point_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Point_3} + \cgalHasModelsEnd \sa `Kernel::Angle_3` \sa `Kernel::AreOrderedAlongLine_3` @@ -432,7 +458,9 @@ A type representing rays in two dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Ray_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Ray_2} +\cgalHasModelsEnd \sa `Kernel::CollinearHasOn_2` \sa `Kernel::ComputeSquaredDistance_2` @@ -464,7 +492,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Ray_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Ray_3} + \cgalHasModelsEnd \sa `Kernel::ComputeSquaredDistance_3` \sa `Kernel::ConstructDirection_3` @@ -492,7 +522,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Segment_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Segment_2} + \cgalHasModelsEnd \sa `Kernel::CollinearHasOn_2` \sa `Kernel::ComputeSquaredDistance_2` @@ -526,7 +558,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Segment_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Segment_3} + \cgalHasModelsEnd \sa `Kernel::ComputeSquaredDistance_3` \sa `Kernel::ComputeSquaredLength_3` @@ -556,7 +590,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Sphere_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Sphere_3} + \cgalHasModelsEnd \sa `Kernel::BoundedSide_3` \sa `Kernel::ComputeSquaredRadius_3` @@ -586,7 +622,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Tetrahedron_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Tetrahedron_3} + \cgalHasModelsEnd \sa `Kernel::BoundedSide_3` \sa `Kernel::ComputeVolume_3` @@ -617,7 +655,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Triangle_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Triangle_2} + \cgalHasModelsEnd \sa `Kernel::BoundedSide_2` \sa `Kernel::ComputeArea_2` @@ -650,7 +690,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Triangle_3` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Triangle_3} + \cgalHasModelsEnd \sa `Kernel::ComputeSquaredArea_3` \sa `Kernel::ConstructCentroid_3` @@ -675,7 +717,9 @@ public: \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} - \cgalHasModel `CGAL::Vector_2` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Vector_2} + \cgalHasModelsEnd \sa `Kernel::ComputeDeterminant_2` \sa `Kernel::ComputeScalarProduct_2` @@ -708,7 +752,9 @@ A type representing vectors in three dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Vector_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Vector_3} +\cgalHasModelsEnd \sa `Kernel::CompareDihedralAngle_3` \sa `Kernel::ComputeDeterminant_3` @@ -744,7 +790,9 @@ A type representing weighted points in two dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Weighted_point_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Weighted_point_2} +\cgalHasModelsEnd \sa `Kernel::ConstructWeightedPoint_2` \sa `Kernel::ComputeWeight_2` @@ -771,7 +819,9 @@ A type representing weighted points in three dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Weighted_point_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Weighted_point_3} +\cgalHasModelsEnd \sa `Kernel::ConstructWeightedPoint_3` \sa `Kernel::ComputeWeight_3` diff --git a/Kernel_23/doc/Kernel_23/Concepts/Kernel.h b/Kernel_23/doc/Kernel_23/Concepts/Kernel.h index 3ff7dcfc133..e312763fd33 100644 --- a/Kernel_23/doc/Kernel_23/Concepts/Kernel.h +++ b/Kernel_23/doc/Kernel_23/Concepts/Kernel.h @@ -20,14 +20,16 @@ `Construct_`. If the result type is a number type, the name is prefixed by `Compute_`. When the result type is not determined, no prefix is used. - \cgalHasModel `CGAL::Cartesian` - \cgalHasModel `CGAL::Homogeneous` - \cgalHasModel `CGAL::Simple_cartesian` - \cgalHasModel `CGAL::Simple_homogeneous` - \cgalHasModel `CGAL::Filtered_kernel` - \cgalHasModel `CGAL::Exact_predicates_exact_constructions_kernel` - \cgalHasModel `CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt` - \cgalHasModel `CGAL::Exact_predicates_inexact_constructions_kernel` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Cartesian} + \cgalHasModels{CGAL::Homogeneous} + \cgalHasModels{CGAL::Simple_cartesian} + \cgalHasModels{CGAL::Simple_homogeneous} + \cgalHasModels{CGAL::Filtered_kernel} + \cgalHasModels{CGAL::Exact_predicates_exact_constructions_kernel} + \cgalHasModels{CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt} + \cgalHasModels{CGAL::Exact_predicates_inexact_constructions_kernel} + \cgalHasModelsEnd \sa `Kernel_d` \sa `CGAL::Ambient_dimension` diff --git a/Kernel_d/doc/Kernel_d/CGAL/Cartesian_d.h b/Kernel_d/doc/Kernel_d/CGAL/Cartesian_d.h index c79c47380c4..68b1d084db6 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Cartesian_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Cartesian_d.h @@ -14,7 +14,7 @@ type provided as a model for `FieldNumberType` is only an approximation of a field (such as the built-in type `double`), then the geometry provided by the kernel is only an approximation of Euclidean geometry. -\cgalModels `KernelWithLifting_d` +\cgalModels{KernelWithLifting_d} \sa `CGAL::Homogeneous_d` diff --git a/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h b/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h index 4fcacb5b584..9ae8ff346fd 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Epeck_d.h @@ -43,11 +43,7 @@ concepts for the rest. -\cgalModels `Kernel_d` -\cgalModels `DelaunayTriangulationTraits` -\cgalModels `RegularTriangulationTraits` -\cgalModels `SearchTraits` -\cgalModels `RangeSearchTraits` +\cgalModels{Kernel_d,DelaunayTriangulationTraits,RegularTriangulationTraits,SearchTraits,RangeSearchTraits} \sa `CGAL::Cartesian_d` \sa `CGAL::Homogeneous_d` @@ -58,8 +54,7 @@ template< typename DimensionTag > struct Epeck_d { /*! represents a point in the Euclidean space -\cgalModels `DefaultConstructible` -\cgalModels `Assignable` +\cgalModels{DefaultConstructible,Assignable} */ class Point_d { public: @@ -79,16 +74,15 @@ Point_d(ForwardIterator first, ForwardIterator end); \pre `i` is non-negative and less than the dimension. */ double operator[](int i)const; -/*! returns an iterator pointing to the zeroth Cartesian coordinate. */ +/*! returns an iterator pointing to the zeroth %Cartesian coordinate. */ Cartesian_const_iterator_d cartesian_begin()const; -/*! returns an iterator pointing beyond the last Cartesian coordinate. */ +/*! returns an iterator pointing beyond the last %Cartesian coordinate. */ Cartesian_const_iterator_d cartesian_end()const; }; /*! represents a weighted point in the Euclidean space -\cgalModels `DefaultConstructible` -\cgalModels `Assignable` +\cgalModels{DefaultConstructible,Assignable} */ class Weighted_point_d { public: @@ -100,7 +94,7 @@ Point_d point() const; double weight() const; }; -/*! \cgalModels `Kernel_d::Center_of_sphere_d` +/*! \cgalModels{Kernel_d::Center_of_sphere_d} */ class Construct_circumcenter_d { public: @@ -129,7 +123,7 @@ public: template FT operator()(ForwardIterator first, ForwardIterator last); }; -/*! \cgalModels `Kernel_d::Side_of_bounded_sphere_d` +/*! \cgalModels{Kernel_d::Side_of_bounded_sphere_d} */ class Side_of_bounded_sphere_d { public: diff --git a/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h b/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h index 4d682670ebf..b5e67064e9b 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Epick_d.h @@ -32,11 +32,7 @@ concepts for the rest. -\cgalModels `Kernel_d` -\cgalModels `DelaunayTriangulationTraits` -\cgalModels `RegularTriangulationTraits` -\cgalModels `SearchTraits` -\cgalModels `RangeSearchTraits` +\cgalModels{Kernel_d,DelaunayTriangulationTraits,RegularTriangulationTraits,SearchTraits,RangeSearchTraits} \sa `CGAL::Cartesian_d` \sa `CGAL::Homogeneous_d` @@ -47,8 +43,7 @@ template< typename DimensionTag > struct Epick_d { /*! represents a point in the Euclidean space -\cgalModels `DefaultConstructible` -\cgalModels `Assignable` +\cgalModels{DefaultConstructible,Assignable} */ class Point_d { public: @@ -76,8 +71,7 @@ Cartesian_const_iterator_d cartesian_end()const; /*! represents a weighted point in the Euclidean space -\cgalModels `DefaultConstructible` -\cgalModels `Assignable` +\cgalModels{DefaultConstructible,Assignable} */ class Weighted_point_d { public: @@ -89,7 +83,7 @@ Point_d point() const; double weight() const; }; -/*! \cgalModels `Kernel_d::Center_of_sphere_d` +/*! \cgalModels{Kernel_d::Center_of_sphere_d} */ class Construct_circumcenter_d { public: @@ -118,7 +112,7 @@ public: template FT operator()(ForwardIterator first, ForwardIterator last); }; -/*! \cgalModels `Kernel_d::Side_of_bounded_sphere_d` +/*! \cgalModels{Kernel_d::Side_of_bounded_sphere_d} */ class Side_of_bounded_sphere_d { public: diff --git a/Kernel_d/doc/Kernel_d/CGAL/Homogeneous_d.h b/Kernel_d/doc/Kernel_d/CGAL/Homogeneous_d.h index 423caffdf00..0b693eb1b02 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Homogeneous_d.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Homogeneous_d.h @@ -14,7 +14,7 @@ type provided as a model for `RingNumberType` is only an approximation of a ring (such as the built-in type `double`), then the geometry provided by the kernel is only an approximation of Euclidean geometry. -\cgalModels `KernelWithLifting_d` +\cgalModels{KernelWithLifting_d} \sa `CGAL::Cartesian_d` diff --git a/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraCd.h b/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraCd.h index 876daf9cc6c..41bcb4863e2 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraCd.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraCd.h @@ -8,7 +8,7 @@ The class `Linear_algebraCd` serves as the default traits class for the LA parameter of `CGAL::Cartesian_d`. It implements linear algebra for field number types `FT`. -\cgalModels `LinearAlgebraTraits_d` +\cgalModels{LinearAlgebraTraits_d} \tparam FT must be a field number type. diff --git a/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraHd.h b/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraHd.h index 37f58d46070..d170a0bf8ff 100644 --- a/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraHd.h +++ b/Kernel_d/doc/Kernel_d/CGAL/Linear_algebraHd.h @@ -8,7 +8,7 @@ The class `Linear_algebraHd` serves as the default traits class for the LA parameter of `CGAL::Homogeneous_d`. It implements linear algebra for Euclidean ring number types `RT`. -\cgalModels `LinearAlgebraTraits_d` +\cgalModels{LinearAlgebraTraits_d} To make a ring number type `RT` work with this class it has to provide a division `operator/` with remainder. diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h index c951a0735ef..f0e2caa31b2 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel--CartesianConstIterator_d.h @@ -3,12 +3,12 @@ \ingroup PkgKernelDKernelConcept \cgalConcept -A type representing an iterator to the Cartesian coordinates of a point +A type representing an iterator to the %Cartesian coordinates of a point in `d` dimensions. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalModels `BidirectionalIterator` +\cgalModels{BidirectionalIterator} \sa `Kernel_d::ConstructCartesianConstIterator_d` @@ -18,4 +18,3 @@ class Kernel_d::CartesianConstIterator_d { public: }; /* end Kernel_d::CartesianConstIterator_d */ - diff --git a/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h b/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h index 57cfbc7d058..fd43b0acbca 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/KernelWithLifting_d.h @@ -8,8 +8,10 @@ general kernel concept. It adds 2 functors, the meaning of which would be unclear in kernels of fixed dimension. \cgalRefines{Kernel_d} -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModelsEnd */ class KernelWithLifting_d { public: diff --git a/Kernel_d/doc/Kernel_d/Concepts/Kernel_d.h b/Kernel_d/doc/Kernel_d/Concepts/Kernel_d.h index 6b1378e66ae..6b484f16e14 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/Kernel_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/Kernel_d.h @@ -18,10 +18,12 @@ predicates. The former replace constructors of the kernel classes and constructive procedures in the kernel. There are also function objects replacing operators, especially for equality testing. -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` -\cgalHasModel `CGAL::Epick_d` -\cgalHasModel `CGAL::Epeck_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModels{CGAL::Epick_d} +\cgalHasModels{CGAL::Epeck_d} +\cgalHasModelsEnd */ class Kernel_d { public: diff --git a/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h b/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h index 932880c6f89..e0e523e5363 100644 --- a/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h +++ b/Kernel_d/doc/Kernel_d/Concepts/LinearAlgebraTraits_d.h @@ -13,8 +13,10 @@ correct. For example, if the linear system solver declares a linear system \f$ A x = b\f$ unsolvable it also returns a vector \f$ c\f$ such that \f$ c^T A = 0\f$ and \f$ c^T b \neq 0\f$. -\cgalHasModel `CGAL::Linear_algebraHd` -\cgalHasModel `CGAL::Linear_algebraCd` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Linear_algebraHd} +\cgalHasModels{CGAL::Linear_algebraCd} +\cgalHasModelsEnd */ diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point.h index e16404861ca..f653077d6b8 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Cell_attribute_with_point` represents an attribute containing a point and containing an information when `Info_` is different from `void`. This class can typically be used to associate a point to each 0-cell of a combinatorial or a generalized map. -\cgalModels `CellAttributeWithPoint` +\cgalModels{CellAttributeWithPoint} \tparam LCC a model of the `LinearCellComplex` concept. \tparam Info_ the type of the information contained in the attribute, `void` for no information. Equal to `void` by default. diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point_and_id.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point_and_id.h index 62dbacdd982..bc8d24854c8 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point_and_id.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Cell_attribute_with_point_and_id.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Cell_attribute_with_point_and_id` represents an attribute containing a point, containing an information when `Info_` is different from `void`, and having an id. This class can typically be used to associate a point with id to each 0-cell of a combinatorial or a generalized map. -\cgalModels `CellAttributeWithPoint` +\cgalModels{CellAttributeWithPoint} \tparam LCC a model of the `LinearCellComplex` concept. \tparam Info_ the type of the information contained in the attribute, `void` for no information. Equal to `void` by default. diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_combinatorial_map.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_combinatorial_map.h index e274cdc570b..0c0e0576463 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_combinatorial_map.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_combinatorial_map.h @@ -7,8 +7,7 @@ namespace CGAL { The class `Linear_cell_complex_for_combinatorial_map` represents a linear cell complex in dimension `d`, in an ambient space of dimension `d2`, using a combinatorial map as underlying combinatorial data-structure. Like for `Combinatorial_map`, two versions exist: one where Darts and non void attributes are stored in memory using `Compact_container`, using `Alloc` as allocator, and use handles as descriptors; a second one where Darts and non void attributes are stored in an internal std::vector like data-structure, and use indices as descriptors. The choice between the two versions is done through the item class. -\cgalModels `LinearCellComplex` -\cgalModels `CombinatorialMap` +\cgalModels{LinearCellComplex,CombinatorialMap} \tparam d the dimension of the combinatorial map. \tparam d2 the dimension of the ambient space. Equal to `d` by default. diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_generalized_map.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_generalized_map.h index 2dd97d9298a..bf105c68f2e 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_generalized_map.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_for_generalized_map.h @@ -7,8 +7,7 @@ namespace CGAL { The class `Linear_cell_complex_for_generalized_map` represents a linear cell complex in dimension `d`, in an ambient space of dimension `d2`, using a generalized map as underlying combinatorial data-structure. Like for `GeneralizedMap`, two versions exist: one where Darts and non void attributes are stored in memory using `Compact_container`, using `Alloc` as allocator, and use handles as descriptors; a second one where Darts and non void attributes are stored in an internal std::vector like data-structure, and use indices as descriptors. The choice between the two versions is done through the item class. -\cgalModels `LinearCellComplex` -\cgalModels `GeneralizedMap` +\cgalModels{LinearCellComplex,GeneralizedMap} \tparam d the dimension of the generalized map. \tparam d2 the dimension of the ambient space. Equal to `d` by default. diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_min_items.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_min_items.h index a9b3bc0ade4..1e489d463ec 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_min_items.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_min_items.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Linear_cell_complex_min_items` defines `void` as the information associated with darts, and the attributes used. In this class, 0-attributes are enabled and associated with `Cell_attribute_with_point`. -\cgalModels `LinearCellComplexItems` +\cgalModels{LinearCellComplexItems} \cgalHeading{Example} diff --git a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_traits.h b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_traits.h index e79db672469..a1d41384981 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_traits.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/CGAL/Linear_cell_complex_traits.h @@ -6,7 +6,7 @@ namespace CGAL { This geometric traits concept is used in the `Linear_cell_complex_for_combinatorial_map` and `Linear_cell_complex_for_generalized_map` classes. It can take as parameter any model of the concept `Kernel` (for example any \cgal kernel), and defines inner types and functors corresponding to the given dimension. -\cgalModels `LinearCellComplexTraits` +\cgalModels{LinearCellComplexTraits} \tparam d the dimension of the kernel, \tparam K a model of the concept `Kernel` if `d==2` or `d==3`; a model of the concept `Kernel_d` otherwise. Equal by default to `CGAL::Exact_predicates_inexact_constructions_kernel` if `d` is 2 or 3, and is `CGAL::Cartesian_d` otherwise. diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h index 4e7e19343b9..08820e4d061 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/CellAttributeWithPoint.h @@ -7,7 +7,9 @@ The concept `CellAttributeWithPoint` is a refinement of the `CellAttribute` conc \cgalRefines{CellAttribute} -\cgalHasModel \link CGAL::Cell_attribute_with_point `CGAL::Cell_attribute_with_point`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Cell_attribute_with_point `CGAL::Cell_attribute_with_point`\endlink} +\cgalHasModelsEnd \sa `LinearCellComplexItems` diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h index c64aa00f4ff..c7652262cf8 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplex.h @@ -7,8 +7,10 @@ The concept `LinearCellComplex` represents a linear cell complex in dimension `d \cgalRefines{GenericMap} -\cgalHasModel \link CGAL::Linear_cell_complex_for_combinatorial_map `CGAL::Linear_cell_complex_for_combinatorial_map`\endlink -\cgalHasModel \link CGAL::Linear_cell_complex_for_generalized_map `CGAL::Linear_cell_complex_for_generalized_map`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Linear_cell_complex_for_combinatorial_map `CGAL::Linear_cell_complex_for_combinatorial_map`\endlink} +\cgalHasModelsBare{\link CGAL::Linear_cell_complex_for_generalized_map `CGAL::Linear_cell_complex_for_generalized_map`\endlink} +\cgalHasModelsEnd \sa `LinearCellComplexItems` \sa `LinearCellComplexTraits` diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h index caf8d260895..4f40ff9f074 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexItems.h @@ -9,7 +9,9 @@ The concept `LinearCellComplexItems` refines the concept of `GenericMapItems` by The first type in `Attributes` tuple must be a model of the `CellAttributeWithPoint` concept. -\cgalHasModel `CGAL::Linear_cell_complex_min_items` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Linear_cell_complex_min_items} +\cgalHasModelsEnd \sa `LinearCellComplex` \sa `CellAttributeWithPoint` diff --git a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexTraits.h b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexTraits.h index ef4c0f72cf0..e701f011493 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexTraits.h +++ b/Linear_cell_complex/doc/Linear_cell_complex/Concepts/LinearCellComplexTraits.h @@ -5,7 +5,9 @@ Required types and functors for the `LinearCellComplexTraits` concept. This geometric traits concept is used in the \link CGAL::Linear_cell_complex_for_combinatorial_map `Linear_cell_complex_for_combinatorial_map`\endlink and \link CGAL::Linear_cell_complex_for_generalized_map `Linear_cell_complex_for_generalized_map`\endlink classes. -\cgalHasModel \link CGAL::Linear_cell_complex_traits `CGAL::Linear_cell_complex_traits`\endlink +\cgalHasModelsBegin +\cgalHasModelsBare{\link CGAL::Linear_cell_complex_traits `CGAL::Linear_cell_complex_traits`\endlink} +\cgalHasModelsEnd \sa `CGAL::Linear_cell_complex_for_combinatorial_map` \sa `CGAL::Linear_cell_complex_for_generalized_map` diff --git a/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt b/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt index d8cc1ad2fbd..ad0479d5128 100644 --- a/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt +++ b/Linear_cell_complex/doc/Linear_cell_complex/PackageDescription.txt @@ -12,17 +12,13 @@ /// \ingroup PkgLinearCellComplexRef /*! High-level operations. - \code - #include - \endcode +\cgalInclude{CGAL/Linear_cell_complex_operations.h} */ /// \defgroup PkgLinearCellComplexOperations Operations for Linear Cell Complex /// \ingroup PkgLinearCellComplexRef /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_linear_cell_complex.h} */ /// \defgroup PkgDrawLinearCellComplex Draw a Linear Cell Complex /// \ingroup PkgLinearCellComplexRef diff --git a/Matrix_search/doc/Matrix_search/CGAL/Dynamic_matrix.h b/Matrix_search/doc/Matrix_search/CGAL/Dynamic_matrix.h index 341f51327f9..d1c9609cd29 100644 --- a/Matrix_search/doc/Matrix_search/CGAL/Dynamic_matrix.h +++ b/Matrix_search/doc/Matrix_search/CGAL/Dynamic_matrix.h @@ -10,8 +10,7 @@ matrix search. \tparam M is a model of `BasicMatrix`. -\cgalModels `MonotoneMatrixSearchTraits` -\cgalModels `BasicMatrix` +\cgalModels{MonotoneMatrixSearchTraits,BasicMatrix} \sa `CGAL::monotone_matrix_search()` \sa `MonotoneMatrixSearchTraits` diff --git a/Matrix_search/doc/Matrix_search/CGAL/Sorted_matrix_search_traits_adaptor.h b/Matrix_search/doc/Matrix_search/CGAL/Sorted_matrix_search_traits_adaptor.h index 0a29ba6117c..baaacc6af3b 100644 --- a/Matrix_search/doc/Matrix_search/CGAL/Sorted_matrix_search_traits_adaptor.h +++ b/Matrix_search/doc/Matrix_search/CGAL/Sorted_matrix_search_traits_adaptor.h @@ -8,7 +8,7 @@ The class `Sorted_matrix_search_traits_adaptor` can be used as an adaptor to create sorted matrix search traits classes for arbitrary feasibility test and matrix classes `F` resp.\ `M`. -\cgalModels `SortedMatrixSearchTraits` +\cgalModels{SortedMatrixSearchTraits} \tparam M must be a model for `BasicMatrix` \tparam F must define a copy constructor and a monotone `bool operator()( const Value&)`. diff --git a/Matrix_search/doc/Matrix_search/Concepts/BasicMatrix.h b/Matrix_search/doc/Matrix_search/Concepts/BasicMatrix.h index 287afa30758..db4833f4218 100644 --- a/Matrix_search/doc/Matrix_search/Concepts/BasicMatrix.h +++ b/Matrix_search/doc/Matrix_search/Concepts/BasicMatrix.h @@ -8,7 +8,9 @@ A class `BasicMatrix` has to provide the following types and operations in order to be a model for `BasicMatrix`. -\cgalHasModel `CGAL::Dynamic_matrix` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Dynamic_matrix} +\cgalHasModelsEnd \sa `MonotoneMatrixSearchTraits` \sa `SortedMatrixSearchTraits` diff --git a/Matrix_search/doc/Matrix_search/Concepts/MonotoneMatrixSearchTraits.h b/Matrix_search/doc/Matrix_search/Concepts/MonotoneMatrixSearchTraits.h index 483a45b68a0..4c40f6e5138 100644 --- a/Matrix_search/doc/Matrix_search/Concepts/MonotoneMatrixSearchTraits.h +++ b/Matrix_search/doc/Matrix_search/Concepts/MonotoneMatrixSearchTraits.h @@ -21,7 +21,9 @@ add most of the functionality described above to arbitrary matrix classes. -\cgalHasModel `CGAL::Dynamic_matrix` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Dynamic_matrix} +\cgalHasModelsEnd \sa `CGAL::monotone_matrix_search()` diff --git a/Matrix_search/doc/Matrix_search/Concepts/SortedMatrixSearchTraits.h b/Matrix_search/doc/Matrix_search/Concepts/SortedMatrixSearchTraits.h index ad49f24d349..94bea1becca 100644 --- a/Matrix_search/doc/Matrix_search/Concepts/SortedMatrixSearchTraits.h +++ b/Matrix_search/doc/Matrix_search/Concepts/SortedMatrixSearchTraits.h @@ -8,7 +8,9 @@ needed to compute the smallest entry in a set of sorted matrices that fulfills a certain feasibility criterion using the function `CGAL::sorted_matrix_search`. -\cgalHasModel `CGAL::Sorted_matrix_search_traits_adaptor` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Sorted_matrix_search_traits_adaptor} +\cgalHasModelsEnd \sa `CGAL::sorted_matrix_search()` \sa `BasicMatrix` diff --git a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_criteria_2.h b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_criteria_2.h index 4d465b053f6..fb81215708f 100644 --- a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_criteria_2.h +++ b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_criteria_2.h @@ -20,7 +20,7 @@ so \f$ B=\sqrt{2}\f$ corresponds to \f$ \alpha_{min} \ge 20.7\f$ degrees. \tparam CDT must be a 2D constrained Delaunay triangulation. -\cgalModels `MeshingCriteria_2` +\cgalModels{MeshingCriteria_2} */ diff --git a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_face_base_2.h b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_face_base_2.h index ac28360e188..efebf4bef55 100644 --- a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_face_base_2.h +++ b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_face_base_2.h @@ -22,7 +22,7 @@ be the same as the one used for the Delaunay mesh. derives. It must be a model of the `ConstrainedTriangulationFaceBase_2` concept. -\cgalModels `DelaunayMeshFaceBase_2` +\cgalModels{DelaunayMeshFaceBase_2} */ template< typename Traits, typename Fb > diff --git a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_size_criteria_2.h b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_size_criteria_2.h index 6303b537ef8..17be1408a9c 100644 --- a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_size_criteria_2.h +++ b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_size_criteria_2.h @@ -23,7 +23,7 @@ triangles must be shorter than a bound \f$ S\f$. \tparam CDT must be a 2D constrained Delaunay triangulation. -\cgalModels `MeshingCriteria_2` +\cgalModels{MeshingCriteria_2} */ diff --git a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_vertex_base_2.h b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_vertex_base_2.h index bbaf9ea4418..be7a7e29394 100644 --- a/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_vertex_base_2.h +++ b/Mesh_2/doc/Mesh_2/CGAL/Delaunay_mesh_vertex_base_2.h @@ -17,7 +17,7 @@ be the same as the one used for the Delaunay mesh. \tparam Vb is the base class from which `Delaunay_mesh_vertex_base_2` derives. It must be a model of the `TriangulationVertexBase_2` concept. -\cgalModels `DelaunayMeshVertexBase_2` +\cgalModels{DelaunayMeshVertexBase_2} */ template< typename Traits, typename Vb > diff --git a/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h b/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h index 04cebff70d0..0980ae1d151 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h @@ -17,8 +17,10 @@ points on constrained edges. \cgalRefines{DelaunayTriangulationTraits_2} -\cgalHasModel Any model of `Kernel` concept. In particular, all \cgal kernels -\cgalHasModel `Projection_traits_xy_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModelsEnd */ diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h index 4c9bd5eec8b..e4289950e0c 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshFaceBase_2.h @@ -13,7 +13,9 @@ meshing domain or not. \cgalRefines{ConstrainedTriangulationFaceBase_2} -\cgalHasModel `CGAL::Delaunay_mesh_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Delaunay_mesh_face_base_2} +\cgalHasModelsEnd */ diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h index 042980a9684..e5e793bafff 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h @@ -12,8 +12,10 @@ object `Construct_circumcenter_2`. \cgalRefines{ConformingDelaunayTriangulationTraits_2} -\cgalHasModel Any model of the `Kernel` concept. In particular, all \cgal kernels -\cgalHasModel `CGAL::Projection_traits_xy_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModelsEnd */ diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h index 9385dae29ae..26f52e7993c 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshVertexBase_2.h @@ -13,7 +13,9 @@ the mesh density everywhere while modifying the mesh. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel `CGAL::Delaunay_mesh_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Delaunay_mesh_vertex_base_2} +\cgalHasModelsEnd */ diff --git a/Mesh_2/doc/Mesh_2/Concepts/MeshingCriteria_2.h b/Mesh_2/doc/Mesh_2/Concepts/MeshingCriteria_2.h index c7ff08ec100..c4dc873cc51 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/MeshingCriteria_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/MeshingCriteria_2.h @@ -37,8 +37,10 @@ comparable as the meshing algorithm will order bad triangles by quality, to split those with smallest quality first. The predicate `Is_bad` computes the quality of the triangle as a by-product. -\cgalHasModel `CGAL::Delaunay_mesh_criteria_2` -\cgalHasModel `CGAL::Delaunay_mesh_size_criteria_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Delaunay_mesh_criteria_2} +\cgalHasModels{CGAL::Delaunay_mesh_size_criteria_2} +\cgalHasModelsEnd */ diff --git a/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h new file mode 100644 index 00000000000..de4489b7cd7 --- /dev/null +++ b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_3.h @@ -0,0 +1,60 @@ +namespace CGAL { + +/*! +\ingroup PkgMesh3Domains + +The class `Polyhedral_mesh_domain_3` implements +a domain defined by a simplicial polyhedral surface. + +The input polyhedral surface must be free of intersection. +It must include (at least) one closed connected component +that defines the boundary of the domain to be meshed. +Inside this bounding component, +the input polyhedral surface may contain +several other components (closed or not) +that will be represented in the final mesh. +This class is a model of the concept `MeshDomain_3`. + +\tparam Polyhedron stands for the type of the input polyhedral surface(s), +model of `FaceListGraph`. + +\tparam IGT stands for a geometric traits class +providing the types and functors required to implement +the intersection tests and intersection computations +for polyhedral boundary surfaces. This parameter has to be instantiated +with a model of the concept `IntersectionGeometricTraits_3`. + +\cgalModels{MeshDomain_3} + +\sa `IntersectionGeometricTraits_3` +\sa `CGAL::make_mesh_3()`. + +*/ +template< typename Polyhedron, typename IGT, typename TriangleAccessor > +class Polyhedral_mesh_domain_3 +{ +public: + +/// \name Creation +/// @{ + +/*! +Construction from a bounding polyhedral surface which must be closed, and free of intersections. +The inside of `bounding_polyhedron` will be meshed. +*/ +Polyhedral_mesh_domain_3(const Polyhedron& bounding_polyhedron); + +/*! +Construction from a polyhedral surface, and a bounding polyhedral surface,. +The first polyhedron must be entirely included inside `bounding_polyhedron`, which must be closed +and free of intersections. +Using this constructor allows to mesh a polyhedral surface which is not closed, or has holes. +The inside of `bounding_polyhedron` will be meshed. +*/ +Polyhedral_mesh_domain_3(const Polyhedron& polyhedron, + const Polyhedron& bounding_polyhedron); + +/// @} + +}; /* end Polyhedral_mesh_domain_3 */ +} /* end namespace CGAL */ diff --git a/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h new file mode 100644 index 00000000000..8951889d690 --- /dev/null +++ b/Mesh_3/doc/Mesh_3/CGAL/Polyhedral_mesh_domain_with_features_3.h @@ -0,0 +1,105 @@ +namespace CGAL { + +/*! +\ingroup PkgMesh3Domains + +The class `Polyhedral_mesh_domain_with_features_3` implements a domain whose +boundary is a simplicial polyhedral surface. +This surface must be free of intersection. +It can either be closed, +included inside another polyhedral surface which is closed and free of intersection, +or open. In the latter case, the meshing process will only take care of the quality +of the 1D (features and boundaries) and 2D (surfaces) components of the mesh. + +It is a model of the concept `MeshDomainWithFeatures_3`. It also +provides a member function to automatically detect sharp features and boundaries from +the input polyhedral surface(s). + +\tparam IGT stands for a geometric traits class providing the types +and functors required to implement the intersection tests and intersection computations +for polyhedral boundary surfaces. This parameter has to be +instantiated with a model of the concept `IntersectionGeometricTraits_3`. + +\cgalModels{MeshDomainWithFeatures_3} + +\sa `CGAL::Mesh_domain_with_polyline_features_3` +\sa `CGAL::Polyhedral_mesh_domain_3` +\sa `CGAL::Mesh_polyhedron_3` +*/ +template< typename IGT > +class Polyhedral_mesh_domain_with_features_3 + : public CGAL::Mesh_domain_with_polyline_features_3< + CGAL::Polyhedral_mesh_domain_3< CGAL::Mesh_polyhedron_3::type, IGT> > + { +public: + +/// \name Types +/// @{ + +/*! +Numerical type. +*/ +typedef unspecified_type FT; + +/// @} + +/// \name Creation +/// @{ + +/*! +Constructs a `Polyhedral_mesh_domain_with_features_3` from a polyhedral surface of type `Polyhedron`. +The only requirement on type `Polyhedron` is that `CGAL::Mesh_polyhedron_3::%type` should +be constructible from `Polyhedron`. +No feature detection is done at this level. Note that a copy of `bounding_polyhedron` will be done. +The polyhedron `bounding_polyhedron` has to be closed and free of intersections. +Its interior of `bounding_polyhedron` will be meshed. +*/ +template +Polyhedral_mesh_domain_with_features_3(const Polyhedron& bounding_polyhedron); + + +/*! +Constructs a `Polyhedral_mesh_domain_with_features_3` from a polyhedral surface, and a bounding polyhedral surface. +`CGAL::Mesh_polyhedron_3::%type` should be constructible from `Polyhedron`. +The first polyhedron should be entirely included inside `bounding_polyhedron`, which has to be closed +and free of intersections. +Using this constructor allows to mesh a polyhedral surface which is not closed, or has holes. +The inside of `bounding_polyhedron` will be meshed. +*/ +template +Polyhedral_mesh_domain_with_features_3(const Polyhedron& polyhedron, + const Polyhedron& bounding_polyhedron); + +/*! +\deprecated Constructs a `Polyhedral_mesh_domain_with_features_3` from an off file. No feature +detection is done at this level. Users must read the file into a `Polyhedron_3` and call the +constructor above. +*/ +Polyhedral_mesh_domain_with_features_3(const std::string& filename); + +/// @} + +/// \name Operations +/// @{ + +/*! +Detects sharp features and boundaries of the internal bounding polyhedron (and the potential internal polyhedron) +and inserts them as features of the domain. `angle_bound` gives the maximum +angle (in degrees) between the two normal vectors of adjacent triangles. +For an edge of the polyhedron, if the angle between the two normal vectors of its +incident facets is bigger than the given bound, then the edge is considered as +a feature edge. +*/ +void detect_features(FT angle_bound=60); + + +/*! +Detects border edges of the bounding polyhedron and inserts them as features of the domain. +This function should be called alone only, and not before or after `detect_features()`. +*/ + void detect_borders(); + +/// @} + +}; /* end Polyhedral_mesh_domain_with_features_3 */ +} /* end namespace CGAL */ diff --git a/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h b/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h index 8d6b076a3ef..bab4df1ba94 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/BisectionGeometricTraits_3.h @@ -16,7 +16,9 @@ function from \f$ \mathbb{R}^3\f$ to \f$ \mathbb{R}\f$), the do-intersect predic is computed by evaluations of the function values at both end points of the segment. -\cgalHasModel Any \cgal Kernel. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `ImplicitSurfaceTraits_3` \sa `IntersectionGeometricTraits_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/IntersectionGeometricTraits_3.h b/Mesh_3/doc/Mesh_3/Concepts/IntersectionGeometricTraits_3.h index 6f09809fae9..cbe405b8d5f 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/IntersectionGeometricTraits_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/IntersectionGeometricTraits_3.h @@ -9,7 +9,9 @@ forming its boundary. The concept `IntersectionGeometricTraits_3` mainly provides the detection and construction of intersections between segments and triangles. -\cgalHasModel All models of the `Kernel` concept. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `BisectionGeometricTraits_3` \sa `CGAL::Polyhedral_mesh_domain_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h index f1b619635db..2b8f9497a44 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshCellBase_3.h @@ -43,8 +43,10 @@ each cell (see below). \cgalRefines{SimplicialMeshCellBase_3,RegularTriangulationCellBaseWithWeightedCircumcenter_3} -\cgalHasModel `CGAL::Compact_mesh_cell_base_3` -\cgalHasModel `CGAL::Mesh_cell_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Compact_mesh_cell_base_3} +\cgalHasModels{CGAL::Mesh_cell_base_3} +\cgalHasModelsEnd \sa `CGAL::make_mesh_3()` \sa `MeshDomain_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshCellCriteria_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshCellCriteria_3.h index efcab46d8d6..6b4b4519d9b 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshCellCriteria_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshCellCriteria_3.h @@ -9,7 +9,9 @@ that concern either mesh tetrahedra or surface facets. The concept `MeshCellCriteria_3` describes the types that handle the refinement criteria for mesh tetrahedra. -\cgalHasModel `CGAL::Mesh_cell_criteria_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_cell_criteria_3} +\cgalHasModelsEnd \sa `MeshEdgeCriteria_3` \sa `MeshFacetCriteria_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h index c53644cb36f..895fa9e8c0f 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshCriteriaWithFeatures_3.h @@ -14,7 +14,9 @@ that describes the requirements, in terms of sizing, for the discretization of t \cgalRefines{MeshCriteria_3} -\cgalHasModel `CGAL::Mesh_criteria_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_criteria_3} +\cgalHasModelsEnd \sa `MeshEdgeCriteria_3` \sa `MeshFacetCriteria_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshCriteria_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshCriteria_3.h index 07cd4f12acd..f2db45d772a 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshCriteria_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshCriteria_3.h @@ -12,7 +12,9 @@ while the refinement criteria for surface facets are described by the concept `MeshFacetCriteria_3`. The concept `MeshCriteria_3` encapsulates these concepts. -\cgalHasModel `CGAL::Mesh_criteria_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_criteria_3} +\cgalHasModelsEnd \sa `MeshFacetCriteria_3` \sa `MeshCellCriteria_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshDomainField_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshDomainField_3.h index c90469bf835..3d05823497b 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshDomainField_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshDomainField_3.h @@ -5,7 +5,9 @@ The concept `MeshDomainField_3` describes a scalar field which could be queried at any point of the space. -\cgalHasModel `CGAL::Mesh_constant_domain_field_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_constant_domain_field_3} +\cgalHasModelsEnd \sa `MeshDomain_3` \sa `MeshDomainWithFeatures_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h index 8e91075c581..ebc68d1e62b 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshDomainWithFeatures_3.h @@ -17,8 +17,10 @@ between two ordered points on the same curve. \cgalRefines{MeshDomain_3} -\cgalHasModel `CGAL::Mesh_domain_with_polyline_features_3` -\cgalHasModel `CGAL::Polyhedral_mesh_domain_with_features_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_domain_with_polyline_features_3} +\cgalHasModels{CGAL::Polyhedral_mesh_domain_with_features_3} +\cgalHasModelsEnd \sa `MeshDomain_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h index 16c37b7e611..b4ecaab30d8 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshDomain_3.h @@ -29,8 +29,10 @@ A segment, ray or line is said to intersect properly the domain boundary if it includes points which are strictly inside and strictly outside the domain (resp. the subdomain). -\cgalHasModel `CGAL::Polyhedral_mesh_domain_3` -\cgalHasModel `CGAL::Labeled_mesh_domain_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polyhedral_mesh_domain_3} +\cgalHasModels{CGAL::Labeled_mesh_domain_3} +\cgalHasModelsEnd \sa `MeshVertexBase_3` \sa `MeshCellBase_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshEdgeCriteria_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshEdgeCriteria_3.h index 50b9374fa98..7dee2ed3e48 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshEdgeCriteria_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshEdgeCriteria_3.h @@ -7,7 +7,9 @@ the 1-dimensional features of the domain. It provides an upper bound for the distance between two protecting ball centers that are consecutive on a 1-feature. -\cgalHasModel `CGAL::Mesh_edge_criteria_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_edge_criteria_3} +\cgalHasModelsEnd \sa `MeshCellCriteria_3` \sa `MeshFacetCriteria_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshFacetCriteria_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshFacetCriteria_3.h index f25f9a0f4f3..1767b458a24 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshFacetCriteria_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshFacetCriteria_3.h @@ -9,7 +9,9 @@ that concern either mesh tetrahedra or surface facets. The concept `MeshFacetCriteria_3` describes the types that handle the refinement criteria for surface facets. -\cgalHasModel `CGAL::Mesh_facet_criteria_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_facet_criteria_3} +\cgalHasModelsEnd \sa `MeshCellCriteria_3` \sa `MeshEdgeCriteria_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshPolyline_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshPolyline_3.h index b2a0fb4fa9c..c96f0917138 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshPolyline_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshPolyline_3.h @@ -6,7 +6,9 @@ The concept `MeshPolyline_3` implements a container of points designed to repres Types and functions provided in this concept are such as standard template library containers are natural models of this concept. -\cgalHasModel `std::vector` for any Kernel of \cgal is a natural model of this concept. +\cgalHasModelsBegin +\cgalHasModelsBare{`std::vector` for any Kernel of \cgal is a natural model of this concept.} +\cgalHasModelsEnd \sa `CGAL::Mesh_domain_with_polyline_features_3` diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h index 26d3d9403dd..7ec7195522c 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshTriangulationTraits_3.h @@ -9,7 +9,9 @@ a mesh generation process. \cgalRefines{RegularTriangulationTraits_3} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd In addition to the requirements described for the traits class RegularTriangulationTraits_3, the geometric traits class of a diff --git a/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h b/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h index a80d9c5b28f..97cf47315d0 100644 --- a/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h +++ b/Mesh_3/doc/Mesh_3/Concepts/MeshVertexBase_3.h @@ -22,7 +22,9 @@ each cell (see below). \cgalRefines{SimplicialMeshVertexBase_3,RegularTriangulationVertexBase_3,SurfaceMeshVertexBase_3} -\cgalHasModel `CGAL::Mesh_vertex_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_vertex_base_3} +\cgalHasModelsEnd \sa `CGAL::make_mesh_3()` \sa `CGAL::refine_mesh_3()` diff --git a/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h b/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h index 1e5ee765731..82380d7865b 100644 --- a/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h +++ b/Mesh_3/include/CGAL/Compact_mesh_cell_base_3.h @@ -724,7 +724,7 @@ belong. That parameter is only used by the rebind mechanism (see `::TriangulationDSCellBase_3::Rebind_TDS`). Users should always use the default parameter value `void`. -\cgalModels `MeshCellBase_3` +\cgalModels{MeshCellBase_3} \sa `CGAL::Mesh_complex_3_in_triangulation_3` \sa `CGAL::Mesh_cell_base_3` diff --git a/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h b/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h index 99f7d003957..ec47da8542d 100644 --- a/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h +++ b/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h @@ -340,7 +340,7 @@ The function type can be any model of the concept `Callable` compatible with the `Subdomain_index(const %Point_3&)`: it can be a function, a function object, a lambda expression... that takes a `%Point_3` as argument, and returns a type convertible to `Subdomain_index`. -\cgalModels `MeshDomain_3` +\cgalModels{MeshDomain_3} \sa `CGAL::Implicit_multi_domain_to_labeling_function_wrapper` \sa `CGAL::make_mesh_3()` diff --git a/Mesh_3/include/CGAL/Mesh_cell_base_3.h b/Mesh_3/include/CGAL/Mesh_cell_base_3.h index 33f7f5448cf..d2f09a0606a 100644 --- a/Mesh_3/include/CGAL/Mesh_cell_base_3.h +++ b/Mesh_3/include/CGAL/Mesh_cell_base_3.h @@ -117,7 +117,7 @@ of the concept `MeshDomain_3`. of the concept `RegularTriangulationCellBaseWithWeightedCircumcenter_3` and defaults to `Regular_triangulation_cell_base_with_weighted_circumcenter_3`. -\cgalModels `MeshCellBase_3` +\cgalModels{MeshCellBase_3} \sa `CGAL::Mesh_complex_3_in_triangulation_3` \sa `CGAL::Compact_mesh_cell_base_3` diff --git a/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h b/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h index b8bfd6cfdcf..4627578c5ef 100644 --- a/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h @@ -39,7 +39,7 @@ and a sizing field which may be a uniform or variable field. `Triangulation` of the instance used as model of `MeshComplex_3InTriangulation_3`. -\cgalModels `MeshCellCriteria_3` +\cgalModels{MeshCellCriteria_3} \sa `MeshCriteria_3` \sa `CGAL::Mesh_criteria_3` diff --git a/Mesh_3/include/CGAL/Mesh_constant_domain_field_3.h b/Mesh_3/include/CGAL/Mesh_constant_domain_field_3.h index 46b23a408c3..fa8ee77dd2e 100644 --- a/Mesh_3/include/CGAL/Mesh_constant_domain_field_3.h +++ b/Mesh_3/include/CGAL/Mesh_constant_domain_field_3.h @@ -44,7 +44,7 @@ namespace CGAL { * @tparam Index_ is the type of index of the vertices of the triangulation. * It must match the type `%Index` of the model of `MeshDomain_3` used in the meshing process. * -* @cgalModels `MeshDomainField_3` +* @cgalModels{MeshDomainField_3} */ template class Mesh_constant_domain_field_3 diff --git a/Mesh_3/include/CGAL/Mesh_criteria_3.h b/Mesh_3/include/CGAL/Mesh_criteria_3.h index a6220203a64..96511da5520 100644 --- a/Mesh_3/include/CGAL/Mesh_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_criteria_3.h @@ -146,7 +146,7 @@ where `C3T3` is the model of `MeshComplex_3InTriangulation_3` used in the mesh generation process, and `C3T3::Triangulation` its nested triangulation type. -\cgalModels `MeshCriteria_3` and `MeshCriteriaWithFeatures_3` +\cgalModels{MeshCriteria_3,MeshCriteriaWithFeatures_3} \cgalHeading{Example} diff --git a/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h b/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h index b23f4e6a05a..1792177d9d5 100644 --- a/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h +++ b/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h @@ -524,7 +524,7 @@ whose endpoints are the added corners. \tparam MD is the type of the domain which is extended. It has to be a model of the `MeshDomain_3` concept. -\cgalModels `MeshDomainWithFeatures_3` +\cgalModels{MeshDomainWithFeatures_3} \sa `MeshPolyline_3` \sa `CGAL::Polyhedral_mesh_domain_3` diff --git a/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h b/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h index ca001d12072..cc15651d087 100644 --- a/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h @@ -92,7 +92,7 @@ namespace internal { The function object class `Mesh_edge_criteria_3` is a model of `MeshEdgeCriteria_3`. It provides a bound for the size criterion. -\cgalModels `MeshEdgeCriteria_3` +\cgalModels{MeshEdgeCriteria_3} \sa `MeshCriteria_3` \sa `CGAL::Mesh_criteria_3` diff --git a/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h b/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h index 916e1073ac8..ef69c9413d5 100644 --- a/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h @@ -41,7 +41,7 @@ namespace CGAL { `Triangulation` of the instance used as model of `MeshComplex_3InTriangulation_3`. - \cgalModels `MeshFacetCriteria_3` + \cgalModels{MeshFacetCriteria_3} \sa `MeshCriteria_3` \sa `MeshFacetCriteria_3` diff --git a/Mesh_3/include/CGAL/Mesh_vertex_base_3.h b/Mesh_3/include/CGAL/Mesh_vertex_base_3.h index 1dbfac05a50..2cf97e4bdc1 100644 --- a/Mesh_3/include/CGAL/Mesh_vertex_base_3.h +++ b/Mesh_3/include/CGAL/Mesh_vertex_base_3.h @@ -309,7 +309,7 @@ of the concept `MeshDomain_3`. of the concept `RegularTriangulationVertexBase_3` and defaults to `Regular_triangulation_vertex_base_3`. -\cgalModels `MeshVertexBase_3` +\cgalModels{MeshVertexBase_3} \sa `CGAL::Mesh_complex_3_in_triangulation_3` */ diff --git a/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h b/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h index 4a975d8f70e..9c27b1cf57c 100644 --- a/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h +++ b/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h @@ -91,7 +91,7 @@ the intersection tests and intersection computations for polyhedral boundary surfaces. This parameter has to be instantiated with a model of the concept `IntersectionGeometricTraits_3`. -\cgalModels `MeshDomainWithFeatures_3` +\cgalModels{MeshDomainWithFeatures_3} \sa `CGAL::make_mesh_3()` \sa `CGAL::Mesh_domain_with_polyline_features_3` @@ -528,9 +528,9 @@ public: return r_domain_.bounding_aabb_tree_ptr()-> first_intersected_primitive(ray); } - -#if USE_ALL_INTERSECTIONS - std::optional shoot_a_ray_2(const Ray_3 ray) const { +#define CGAL_USE_ALL_INTERSECTIONS 0 +#if CGAL_USE_ALL_INTERSECTIONS + std::optional shoot_a_ray_2(const Ray_3& ray) const { const Point_3& p = ray.source(); typedef typename AABB_tree:: template Intersection_and_primitive_id::Type Inter_and_prim; @@ -556,7 +556,7 @@ public: return it->second; } } -#endif // USE_ALL_INTERSECTIONS +#endif // CGAL_USE_ALL_INTERSECTIONS Subdomain operator()(const Point_3& p) const { if(r_domain_.bounding_aabb_tree_ptr() == 0) return Subdomain(); @@ -578,8 +578,7 @@ public: const Ray_3 ray_shot = ray(p, vector(CGAL::ORIGIN,*random_point)); -#define USE_ALL_INTERSECTIONS 0 -#if USE_ALL_INTERSECTIONS +#if CGAL_USE_ALL_INTERSECTIONS std::optional opt = shoot_a_ray_2(ray_shot); #else // first_intersected_primitive std::optional opt = shoot_a_ray_1(ray_shot); @@ -617,7 +616,11 @@ public: return pair.second == 0 ? Subdomain() : Subdomain(Subdomain_index(pair.second)); - default: /* COPLANAR */ continue; // loop + default: /* COPLANAR */ + if (!triangle.has_on(p)) + continue; // loop + else + return Subdomain(Subdomain_index((std::max)(pair.first,pair.second))); // make a canonical choice } // end switch on the orientation } // opt } // end while(true) diff --git a/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h b/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h index 450826da13f..60f6d9bc827 100644 --- a/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h +++ b/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h @@ -129,7 +129,7 @@ the intersection tests and intersection computations for polyhedral boundary surfaces. This parameter has to be instantiated with a model of the concept `IntersectionGeometricTraits_3`. -\cgalModels `MeshDomain_3` +\cgalModels{MeshDomain_3} \sa `IntersectionGeometricTraits_3` \sa `CGAL::make_mesh_3()`. diff --git a/Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h b/Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h index 593c0624258..f6e8bf43d24 100644 --- a/Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h +++ b/Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h @@ -80,7 +80,7 @@ instantiated with a model of the concept \tparam Polyhedron stands for the type of the input polyhedral surface(s), model of `FaceListGraph`. -\cgalModels `MeshDomainWithFeatures_3` +\cgalModels{MeshDomainWithFeatures_3} \sa `CGAL::Mesh_domain_with_polyline_features_3` \sa `CGAL::Polyhedral_mesh_domain_3` diff --git a/Mesh_3/include/CGAL/Sizing_field_with_aabb_tree.h b/Mesh_3/include/CGAL/Sizing_field_with_aabb_tree.h index a71bef61734..74346f5ce94 100644 --- a/Mesh_3/include/CGAL/Sizing_field_with_aabb_tree.h +++ b/Mesh_3/include/CGAL/Sizing_field_with_aabb_tree.h @@ -59,7 +59,7 @@ namespace CGAL { * and derive from `CGAL::Polyhedral_mesh_domain_with_features_3` -* @cgalModels `MeshDomainField_3` +* @cgalModels{MeshDomainField_3} */ template `. -\cgalModels `PolygonConvexDecomposition_2` +\cgalModels{PolygonConvexDecomposition_2} \sa `CGAL::greene_approx_convex_partition_2()` @@ -47,7 +47,7 @@ optimal decomposition. \tparam Container must be a container that can be used for the polygon. It is by default `std::vector`. -\cgalModels `PolygonConvexDecomposition_2` +\cgalModels{PolygonConvexDecomposition_2} \sa `CGAL::approx_convex_partition_2()` @@ -77,7 +77,7 @@ the worst case, where \f$ n\f$ is the size of the input polygon. \tparam Container must be a container that can be used for the polygon. It is by default `std::vector`. -\cgalModels `PolygonConvexDecomposition_2` +\cgalModels{PolygonConvexDecomposition_2} \sa `CGAL::optimal_convex_partition_2()` diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_nop_decomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_nop_decomposition_2.h index b2843d722dc..7bace4bd09d 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_nop_decomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_nop_decomposition_2.h @@ -8,7 +8,7 @@ decomposition of a polygon, which merely passes the input polygon to the list of output convex polygons. It should be used when it is known that the input polygon is convex to start with. -\cgalModels `PolygonConvexDecomposition_2` +\cgalModels{PolygonConvexDecomposition_2} */ template diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_triangulation_decomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_triangulation_decomposition_2.h index 4dd0cf19ca0..a49e176adcf 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_triangulation_decomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_triangulation_decomposition_2.h @@ -8,7 +8,7 @@ decomposition of a polygon or a polygon with holes into triangles using the Delaunay constrained triangulation functionality of the \ref Chapter_2D_Triangulations "2D Triangulation" package. -\cgalModels `PolygonWithHolesConvexDecomposition_2` +\cgalModels{PolygonWithHolesConvexDecomposition_2} */ template diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_vertical_decomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_vertical_decomposition_2.h index eae2b05c67b..2b2526fa681 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_vertical_decomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Polygon_vertical_decomposition_2.h @@ -12,7 +12,7 @@ The algorithm operates in \cgalBigO{n \log n} time and takes \cgalBigO{n} space at the worst case, where \f$ n\f$ is the size of the input polygon. -\cgalModels `PolygonWithHolesConvexDecomposition_2` +\cgalModels{PolygonWithHolesConvexDecomposition_2} */ template diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Small_side_angle_bisector_decomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Small_side_angle_bisector_decomposition_2.h index cfbce57f7a3..fe5f47d3437 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Small_side_angle_bisector_decomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/Small_side_angle_bisector_decomposition_2.h @@ -15,7 +15,7 @@ the angle bisector of the reflex vertex. The algorithm operates in \cgalBigO{n^2} time and takes \cgalBigO{n} space at the worst case, where \f$ n\f$ is the size of the input polygon. -\cgalModels `PolygonConvexDecomposition_2` +\cgalModels{PolygonConvexDecomposition_2} */ template diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonConvexDecomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonConvexDecomposition_2.h index 20b4cf23fb7..547dde07838 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonConvexDecomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonConvexDecomposition_2.h @@ -6,11 +6,13 @@ A model of the `PolygonConvexDecomposition_2` concept is capable of decomposing an input polygon \f$ P\f$ into a set of convex sub-polygons \f$ P_1, \ldots, P_k\f$, such that \f$ \cup_{i=1}^{k}{P_k} = P\f$. -\cgalHasModel `CGAL::Small_side_angle_bisector_decomposition_2` -\cgalHasModel `CGAL::Optimal_convex_decomposition_2` -\cgalHasModel `CGAL::Hertel_Mehlhorn_convex_decomposition_2` -\cgalHasModel `CGAL::Greene_convex_decomposition_2` -\cgalHasModel `CGAL::Polygon_nop_decomposition_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Small_side_angle_bisector_decomposition_2} +\cgalHasModels{CGAL::Optimal_convex_decomposition_2} +\cgalHasModels{CGAL::Hertel_Mehlhorn_convex_decomposition_2} +\cgalHasModels{CGAL::Greene_convex_decomposition_2} +\cgalHasModels{CGAL::Polygon_nop_decomposition_2} +\cgalHasModelsEnd */ diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h index 7c27e91a6c8..5a1fac77173 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/Concepts/PolygonWithHolesConvexDecomposition_2.h @@ -9,8 +9,10 @@ convex sub-polygons \f$ P_1, \ldots, P_k\f$, such that \cgalRefines{PolygonConvexDecomposition_2} -\cgalHasModel `CGAL::Polygon_vertical_decomposition_2` -\cgalHasModel `CGAL::Polygon_triangulation_decomposition_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polygon_vertical_decomposition_2} +\cgalHasModels{CGAL::Polygon_triangulation_decomposition_2} +\cgalHasModelsEnd */ diff --git a/Miscellany/doc/Miscellany/CGAL/Handle_hash_function.h b/Miscellany/doc/Miscellany/CGAL/Handle_hash_function.h index 89f0849e800..a02143d5231 100644 --- a/Miscellany/doc/Miscellany/CGAL/Handle_hash_function.h +++ b/Miscellany/doc/Miscellany/CGAL/Handle_hash_function.h @@ -10,7 +10,7 @@ functionality, such as handles, iterators, and circulators. Specifically, for a `key` value the expression `&*key` must return a unique address. -\cgalModels `UniqueHashFunction` +\cgalModels{UniqueHashFunction} \sa `CGAL::Unique_hash_map` diff --git a/Miscellany/doc/Miscellany/Concepts/UniqueHashFunction.h b/Miscellany/doc/Miscellany/Concepts/UniqueHashFunction.h index c315deb05fd..8509b42a07f 100644 --- a/Miscellany/doc/Miscellany/Concepts/UniqueHashFunction.h +++ b/Miscellany/doc/Miscellany/Concepts/UniqueHashFunction.h @@ -9,7 +9,9 @@ function object. It maps objects of its domain type `Key` to the integral image type `std::size_t`. The image values have to be unique for all keys in the domain type `Key`. -\cgalHasModel `CGAL::Handle_hash_function` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Handle_hash_function} +\cgalHasModelsEnd \sa `CGAL::Unique_hash_map` diff --git a/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Modular_traits.h b/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Modular_traits.h index afc8672cc4b..5814ee5e967 100644 --- a/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Modular_traits.h +++ b/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Modular_traits.h @@ -7,7 +7,7 @@ namespace CGAL { An instance of `Modular_traits` is a model of `ModularTraits`, where T is the associated type. -\cgalModels `ModularTraits` +\cgalModels{ModularTraits} */ template< typename T > diff --git a/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Residue.h b/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Residue.h index 706830fcc4f..02011c98a2c 100644 --- a/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Residue.h +++ b/Modular_arithmetic/doc/Modular_arithmetic/CGAL/Residue.h @@ -43,7 +43,7 @@ penalty. Hence, it may be advisable to configure \cgal with `CGAL_HAS_NO_THREADS`. See Section \ref Preliminaries_thread_safety "Thread Safety" in the preliminaries. -\cgalModels `Field` +\cgalModels{Field} */ diff --git a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits.h b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits.h index 022ed5c526b..53e9c0badd0 100644 --- a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits.h +++ b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/ModularTraits.h @@ -8,7 +8,9 @@ In case this associated type is a model of `Modularizable`, this is indicated by Boolean tag `ModularTraits::Is_modularizable`. The mapping into the `Residue_type` is provided by the functor `ModularTraits::Modular_image`. -\cgalHasModel CGAL::Modular_traits +\cgalHasModelsBegin +\cgalHasModels{CGAL::Modular_traits} +\cgalHasModelsEnd \sa `CGAL::Residue` \sa `Modularizable` diff --git a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/Modularizable.h b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/Modularizable.h index 0001b5b400b..6bc74bc0084 100644 --- a/Modular_arithmetic/doc/Modular_arithmetic/Concepts/Modularizable.h +++ b/Modular_arithmetic/doc/Modular_arithmetic/Concepts/Modularizable.h @@ -18,18 +18,22 @@ of denominator, are not `Modularizable`. This is due to the fact that the denominator may be zero modulo the prime, which can not be represented. -\cgalHasModel `int` -\cgalHasModel `long` -\cgalHasModel `CORE::BigInt` -\cgalHasModel `CGAL::Gmpz` -\cgalHasModel `leda_integer` -\cgalHasModel `mpz_class` +\cgalHasModelsBegin +\cgalHasModels{int} +\cgalHasModels{long} +\cgalHasModels{CORE::BigInt} +\cgalHasModels{CGAL::Gmpz} +\cgalHasModels{leda_integer} +\cgalHasModels{mpz_class} +\cgalHasModelsEnd The following types are `Modularizable` iff their template arguments are. -\cgalHasModel `CGAL::Lazy_exact_nt` -\cgalHasModel `CGAL::Sqrt_extension` -\cgalHasModel `CGAL::Polynomial` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Lazy_exact_nt} +\cgalHasModels{CGAL::Sqrt_extension} +\cgalHasModels{CGAL::Polynomial} +\cgalHasModelsEnd \sa `CGAL::Residue` \sa `CGAL::Modular_traits` diff --git a/Nef_2/doc/Nef_2/CGAL/Extended_cartesian.h b/Nef_2/doc/Nef_2/CGAL/Extended_cartesian.h index 4bb5cb0eaca..4632460207d 100644 --- a/Nef_2/doc/Nef_2/CGAL/Extended_cartesian.h +++ b/Nef_2/doc/Nef_2/CGAL/Extended_cartesian.h @@ -8,7 +8,7 @@ The class `Extended_cartesian` serves as a traits class for the class `Nef_polyhedron_2`. It uses a polynomial component representation based on a field number type `FT`. -\cgalModels `ExtendedKernelTraits_2` +\cgalModels{ExtendedKernelTraits_2} \tparam FT must be a model of `FieldNumberType`. diff --git a/Nef_2/doc/Nef_2/CGAL/Extended_homogeneous.h b/Nef_2/doc/Nef_2/CGAL/Extended_homogeneous.h index ae3aec7f350..bd26fea58ac 100644 --- a/Nef_2/doc/Nef_2/CGAL/Extended_homogeneous.h +++ b/Nef_2/doc/Nef_2/CGAL/Extended_homogeneous.h @@ -8,7 +8,7 @@ The class `Extended_homogeneous` serves as a traits class for the class `Nef_polyhedron_2`. It uses a polynomial component representation based on a Euclidean ring number type `RT`. -\cgalModels `ExtendedKernelTraits_2` +\cgalModels{ExtendedKernelTraits_2} \tparam RT must be a model of `RingNumberType`. diff --git a/Nef_2/doc/Nef_2/CGAL/Filtered_extended_homogeneous.h b/Nef_2/doc/Nef_2/CGAL/Filtered_extended_homogeneous.h index 63e3cda8e22..064f786c8b4 100644 --- a/Nef_2/doc/Nef_2/CGAL/Filtered_extended_homogeneous.h +++ b/Nef_2/doc/Nef_2/CGAL/Filtered_extended_homogeneous.h @@ -8,7 +8,7 @@ The class `Filtered_extended_homogeneous` serves as a traits class for the class `Nef_polyhedron_2`. It uses a polynomial component representation based on a ring number type `RT`. -\cgalModels `ExtendedKernelTraits_2` +\cgalModels{ExtendedKernelTraits_2} \tparam RT must be a model of `RingNumberType`. diff --git a/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h b/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h index 8d5e82f7fed..1311b83a7d5 100644 --- a/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h +++ b/Nef_2/doc/Nef_2/Concepts/ExtendedKernelTraits_2.h @@ -8,7 +8,7 @@ geometry\cgalFootnote{It is called extended geometry for simplicity, though it is not a real geometry in the classical sense}. Let `K` be an instance of the data type `ExtendedKernelTraits_2`. The central notion of extended geometry are extended points. An extended point -represents either a standard affine point of the Cartesian plane or a +represents either a standard affine point of the %Cartesian plane or a non-standard point representing the equivalence class of rays where two rays are equivalent if one is contained in the other. @@ -38,9 +38,11 @@ functionality for changing between standard affine and extended geometry. At the same time it provides extensible geometric primitives on the extended geometric objects. -\cgalHasModel `CGAL::Extended_cartesian` -\cgalHasModel `CGAL::Extended_homogeneous` -\cgalHasModel `CGAL::Filtered_extended_homogeneous` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Extended_cartesian} +\cgalHasModels{CGAL::Extended_homogeneous} +\cgalHasModels{CGAL::Filtered_extended_homogeneous} +\cgalHasModelsEnd */ @@ -353,4 +355,3 @@ const char* output_identifier() ; /// @} }; /* end ExtendedKernelTraits_2 */ - diff --git a/Nef_2/include/CGAL/Nef_2/PM_checker.h b/Nef_2/include/CGAL/Nef_2/PM_checker.h index 4000d0d497e..89d60c6cd7e 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_checker.h +++ b/Nef_2/include/CGAL/Nef_2/PM_checker.h @@ -203,7 +203,7 @@ check_boundary_is_clockwise_weakly_polygon() const for (vit = v_min = this->vertices_begin() ; vit != this->vertices_end(); ++vit) if ( K.compare_xy(point(vit), point(v_min))<0 ) v_min = vit; CGAL_assertion_msg(!is_isolated(v_min),"Minimal vertex not connected."); - Point p_min = point(v_min); + const Point& p_min = point(v_min); // determine boundary edge incident to v_min: Halfedge_const_handle e_boundary_at_v_min = first_out_edge(v_min); // all out edges are forward oriented due to minimality @@ -211,8 +211,8 @@ check_boundary_is_clockwise_weakly_polygon() const hvit(e_boundary_at_v_min), hend(hvit); do { --hvit; - Point p1 = point(target(e_boundary_at_v_min)); - Point p2 = point(target(hvit)); + const Point& p1 = point(target(e_boundary_at_v_min)); + const Point& p2 = point(target(hvit)); if ( K.orientation(p_min,p1,p2) > 0 ) { // left_turn e_boundary_at_v_min = hvit; break; diff --git a/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h b/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h index 5a685f9e310..41f125c5d84 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h +++ b/Nef_2/include/CGAL/Nef_2/PM_const_decorator.h @@ -434,9 +434,10 @@ check_integrity_and_topological_planarity(bool faces) const /* check the source links of out edges and count isolated vertices */ for (vit = vertices_begin() ; vit != vend; ++vit) { if ( is_isolated(vit) ) { - if ( faces ) - CGAL_assertion_msg( vit->face() != Face_const_handle(), - VI(vit).c_str()); + if (faces) { + CGAL_assertion_msg(vit->face() != Face_const_handle(), + VI(vit).c_str()); + } ++iso_vert_num; } else { CGAL_assertion_msg( vit->halfedge() != Halfedge_const_handle(), @@ -481,6 +482,8 @@ check_integrity_and_topological_planarity(bool faces) const first=false; } + CGAL_assertion(iso_vert_num == iv_num); + std::size_t v_num = number_of_vertices() - iso_vert_num; std::size_t e_num = number_of_edges(); std::size_t c_num = number_of_connected_components() - iso_vert_num; diff --git a/Nef_2/include/CGAL/Nef_2/PM_decorator.h b/Nef_2/include/CGAL/Nef_2/PM_decorator.h index 6cc528c7dab..6460048bac3 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_decorator.h +++ b/Nef_2/include/CGAL/Nef_2/PM_decorator.h @@ -802,8 +802,10 @@ void PM_decorator::clone(const HDS& H) const /* First clone all objects and store correspondence in three maps.*/ Vertex_const_iterator vit, vend = H.vertices_end(); - for (vit = H.vertices_begin(); vit!=vend; ++vit) - Vnew[vit] = this->phds->vertices_push_back(Vertex_base()); + for (vit = H.vertices_begin(); vit != vend; ++vit) { + Vnew[vit] = this->phds->vertices_push_back(Vertex_base()); + assert(Vnew[vit] != Vertex_handle()); + } Halfedge_const_iterator eit, eend = H.halfedges_end(); for (eit = H.halfedges_begin(); eit!=eend; ++(++eit)) { Hnew[eit] = this->phds->edges_push_back(Halfedge_base(),Halfedge_base()); @@ -820,8 +822,12 @@ void PM_decorator::clone(const HDS& H) const vit2!=vend2; ++vit, ++vit2) { mark(vit2) = DC.mark(vit); point(vit2) = DC.point(vit); - if ( DC.is_isolated(vit) ) vit2->set_face(Fnew[vit->face()]); - else vit2->set_halfedge(Hnew[vit->halfedge()]); + if (DC.is_isolated(vit)) { + vit2->set_face(Fnew[vit->face()]); + } + else { + vit2->set_halfedge(Hnew[vit->halfedge()]); + } } Halfedge_iterator eit2, eend2 = this->phds->halfedges_end(); for (eit = H.halfedges_begin(), eit2 = halfedges_begin(); @@ -843,9 +849,10 @@ void PM_decorator::clone(const HDS& H) const fit2->store_fc(Hnew[fcit]); } // hole face cycles Isolated_vertex_const_iterator ivit; - for (ivit = isolated_vertices_begin(fit); - ivit != isolated_vertices_end(fit); ++ivit) + for (ivit = DC.isolated_vertices_begin(fit); + ivit != DC.isolated_vertices_end(fit); ++ivit) { fit2->store_iv(Vnew[ivit]); + } // isolated vertices in the interior mark(fit2) = DC.mark(fit); } diff --git a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h index 947239b9c05..a9f109aad34 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_overlayer.h +++ b/Nef_2/include/CGAL/Nef_2/PM_overlayer.h @@ -336,6 +336,8 @@ public: using Base::set_isolated_vertex; using Base::has_outdeg_two; using Base::merge_halfedge_pairs_at_target; + using Base::isolated_vertices_begin; + using Base::isolated_vertices_end; // C++ is really friendly: #define USECMARK(t) const Mark& mark(t h) const { return Base::mark(h); } @@ -605,18 +607,18 @@ avoid the simplification for edge pairs referenced by |e|.}*/ CGAL_For_all(hfc,hend) { set_face(hfc,f); if(target(hfc) == target(e_min)) { - Point p1 = point(source(hfc)), - p2 = point(target(hfc)), - p3 = point(target(next(hfc))); + const Point& p1 = point(source(hfc)); + const Point& p2 = point(target(hfc)); + const Point& p3 = point(target(next(hfc))); if (!K.left_turn(p1,p2,p3) ) e_min = hfc; } else if ( K.compare_xy(point(target(hfc)), point(target(e_min))) < 0 ) e_min = hfc; linked[hfc]=true; } - Point p1 = point(source(e_min)), - p2 = point(target(e_min)), - p3 = point(target(next(e_min))); + const Point& p1 = point(source(e_min)); + const Point& p2 = point(target(e_min)); + const Point& p3 = point(target(next(e_min))); if ( K.orientation(p1,p2,p3) > 0 ) set_halfedge(f,e_min); // outer else set_hole(f,e_min); // store as inner } @@ -626,12 +628,15 @@ avoid the simplification for edge pairs referenced by |e|.}*/ for(v = this->vertices_begin(); v != vend; v=vn) { CGAL_NEF_TRACEN("at vertex "<faces_begin(); f != fend; f=fn) { fn=f; ++fn; Union_find_handle pit = Pitem[f]; - if ( unify_faces.find(pit) != pit ) delete_face(f); + Union_find_handle root = unify_faces.find(pit); + if (root != pit) { + + for(Isolated_vertex_iterator ivi = isolated_vertices_begin(f); ivi != isolated_vertices_end(f); ++ivi){ + ivi->set_face(*root); + link_as_isolated_vertex(*root,ivi); + } + delete_face(f); + } } @@ -828,9 +841,9 @@ void create_face_objects(const Below_info& D) const CGAL_For_all(hfc,hend) { FaceCycle[hfc]=i; // assign face cycle number if(target(hfc) == target(e_min)) { - Point p1 = point(source(hfc)), - p2 = point(target(hfc)), - p3 = point(target(next(hfc))); + const Point& p1 = point(source(hfc)); + const Point&p2 = point(target(hfc)); + const Point&p3 = point(target(next(hfc))); if (!K.left_turn(p1,p2,p3) ) e_min = hfc; } else if ( K.compare_xy(point(target(hfc)), point(target(e_min))) < 0 ) @@ -844,10 +857,10 @@ void create_face_objects(const Below_info& D) const Face_handle f_outer = this->new_face(); for (int j=0; j outer face cycle CGAL_NEF_TRACEN(" creating new face object"); Face_handle f = this->new_face(); @@ -889,9 +902,9 @@ void create_face_objects_pl(const Below_info& D) const CGAL_For_all(hfc,hend) { FaceCycle[hfc]=i; // assign face cycle number if(target(hfc) == target(e_min)) { - Point p1 = point(source(hfc)), - p2 = point(target(hfc)), - p3 = point(target(next(hfc))); + const Point& p1 = point(source(hfc)); + const Point& p2 = point(target(hfc)); + const Point& p3 = point(target(next(hfc))); if (!K.left_turn(p1,p2,p3) ) e_min = hfc; } else if ( K.compare_xy(point(target(hfc)), point(target(e_min))) < 0 ) @@ -905,10 +918,10 @@ void create_face_objects_pl(const Below_info& D) const (void)/* Face_handle f_outer = */ this->new_face(); for (int j=0; j outer face cycle CGAL_NEF_TRACEN(" creating new face object"); Face_handle f = this->new_face(); @@ -953,8 +966,8 @@ Segment segment(const Const_decorator& N, bool is_forward_edge(const Const_decorator& N, Halfedge_const_iterator hit) const -{ Point p1 = N.point(N.source(hit)); - Point p2 = N.point(N.target(hit)); +{ const Point& p1 = N.point(N.source(hit)); + const Point& p2 = N.point(N.target(hit)); return (K.compare_xy(p1,p2) < 0); } void assert_type_precondition() const diff --git a/Nef_2/include/CGAL/Nef_2/PM_persistent_PL.h b/Nef_2/include/CGAL/Nef_2/PM_persistent_PL.h index 221387e096b..278ae4589db 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_persistent_PL.h +++ b/Nef_2/include/CGAL/Nef_2/PM_persistent_PL.h @@ -72,8 +72,8 @@ struct PM_persistent_PL_traits EdgeCategory ClassifyEdge(const Graph& G, const Edge& e, const Node& u) { - Point p_u = G.point(u); - Point p_v = G.point(opposite(G,e,u)); + const Point& p_u = G.point(u); + const Point& p_v = G.point(opposite(G,e,u)); int cmpX = pK->compare_x(p_u, p_v); if ( cmpX < 0 ) return StartingNonVertical; @@ -111,7 +111,8 @@ struct PM_persistent_PL_traits Curve makeCurve(const Graph& G, const Node& n) const { return makeCurve(G.point(n)); } Curve makeCurve(const Graph& G, const Edge& e) const - { Point ps = G.point(G.source(e)), pt = G.point(G.target(e)); + { const Point& ps = G.point(G.source(e)); + const Point& pt = G.point(G.target(e)); Curve res(G.point(G.source(e)),G.point(G.target(e))); if ( pK->compare_xy(ps,pt) < 0 ) res = pK->construct_segment(ps,pt); else res = pK->construct_segment(pt,ps); @@ -135,10 +136,10 @@ struct PM_persistent_PL_traits int operator()(const Curve& s1, const Curve& s2) const { - Point a = pK->source(s1); - Point b = pK->target(s1); - Point c = pK->source(s2); - Point d = pK->target(s2); + const Point& a = pK->source(s1); + const Point& b = pK->target(s1); + const Point& c = pK->source(s2); + const Point& d = pK->target(s2); if ( a==b ) if ( c==d ) return pK->compare_y(a,c); else return cmppntseg(a, s2); diff --git a/Nef_2/include/CGAL/Nef_2/PM_point_locator.h b/Nef_2/include/CGAL/Nef_2/PM_point_locator.h index 0e2d063b9cd..ed10484d574 100644 --- a/Nef_2/include/CGAL/Nef_2/PM_point_locator.h +++ b/Nef_2/include/CGAL/Nef_2/PM_point_locator.h @@ -165,7 +165,6 @@ public: { CGAL_NEF_TRACEN("out_wedge "<number_of_vertices() == 0) CGAL_error_msg("PM_naive_point_locator: plane map is empty."); - Point p = K.source(s); + const Point& p = K.source(s); Vertex_const_iterator vit; for(vit = this->vertices_begin(); vit != this->vertices_end(); ++vit) { if ( p == point(vit) ) return make_object(vit); @@ -236,7 +235,7 @@ public: Direction dso = K.construct_direction(K.target(s),p), d_res; CGAL::Unique_hash_map visited(false); for(vit = this->vertices_begin(); vit != this->vertices_end(); ++vit) { - Point p_res, vp = point(vit); + const Point& vp = point(vit); if ( K.contains(ss,vp) ) { CGAL_NEF_TRACEN(" location via vertex at "<halfedges_begin(); eit != this->halfedges_end(); ++eit) { if ( visited[eit] ) continue; - Point se = point(source(eit)), - te = point(target(eit)); + const Point& se = point(source(eit)); + const Point& te = point(target(eit)); int o1 = K.orientation(ss,se); int o2 = K.orientation(ss,te); if ( o1 == -o2 && // internal intersection @@ -298,7 +297,7 @@ public: along |s| does not hit any object |h| of |P| with |M(h)|.}*/ { CGAL_NEF_TRACEN("naive ray_shoot "<vertices_begin(); v != this->vertices_end(); ++v) { - Point pv = point(v); + const Point& pv = point(v); if ( !K.contains(ss,pv) ) continue; CGAL_NEF_TRACEN("candidate "<K.orientation(b,d,a) > 0 && // left_turn this->K.orientation(b,d,c) < 0) ) // right_turn @@ -731,7 +730,7 @@ public: Halfedge_const_handle& e, const Tag_false& ) const { CGAL_NEF_TRACEN("target on outer facet"); - Point p = this->K.source(s); + const Point& p = this->K.source(s); Vertex_const_handle v1 = CT.vertices_begin(); Halfedge_const_handle e1 = CT.twin(CT.first_out_edge(v1)); Halfedge_around_face_const_circulator circ(e1), end(circ); @@ -782,7 +781,7 @@ public: { Segment s(ss); CGAL_NEF_TRACEN("ray_shoot "<K.is_degenerate(s) ); - Point p = this->K.source(s); + const Point& p = this->K.source(s); Direction d = this->K.construct_direction(p,s.target()); Vertex_const_handle v; Halfedge_const_handle e; @@ -813,9 +812,9 @@ public: if ( M(input_face(e)) ) // face mark return make_object(input_face(e)); - Point p1 = CT.point(CT.source(e)), - p2 = CT.point(CT.target(e)), - p3 = CT.point(CT.target(next(e))); + const Point& p1 = CT.point(CT.source(e)); + const Point& p2 = CT.point(CT.target(e)); + const Point& p3 = CT.point(CT.target(next(e))); int or1 = this->K.orientation(p,s.target(),p1); int or2 = this->K.orientation(p,s.target(),p2); int or3 = this->K.orientation(p,s.target(),p3); @@ -999,7 +998,7 @@ PM_point_locator::walk_in_triangulation(const Point& q) const return Object_handle(); Halfedge_const_handle e; - Point p = CT.point(v); + const Point& p = CT.point(v); if ( p == q ) return make_object(v); // Segment s = this->K.construct_segment(p,q); Direction dir = this->K.construct_direction(p,q); diff --git a/Nef_2/include/CGAL/Nef_2/Segment_overlay_traits.h b/Nef_2/include/CGAL/Nef_2/Segment_overlay_traits.h index 7e4bfc619b6..1eecd047efd 100644 --- a/Nef_2/include/CGAL/Nef_2/Segment_overlay_traits.h +++ b/Nef_2/include/CGAL/Nef_2/Segment_overlay_traits.h @@ -161,11 +161,13 @@ public: } - Point_2 source(ISegment is) const + Point_2 source(const ISegment& is) const { return K.source(is->first()); } - Point_2 target(ISegment is) const + + Point_2 target(const ISegment& is) const { return K.target(is->first()); } - ITERATOR original(ISegment s) const + + ITERATOR original(const ISegment& s) const { return s->second(); } int orientation(ST_item sit, const Point_2& p) const @@ -474,7 +476,7 @@ public: public: compare_segs_at_sweepline(const Point_2& pi, - ISegment s1, ISegment s2, + ISegment s1, ISegment s2, const GEOMETRY& k) : p(pi), s_bottom(s1), s_top(s2), K(k) {} @@ -673,6 +675,7 @@ public: Point_2 source(ISegment is) const { return K.source(is->first); } + Point_2 target(ISegment is) const { return K.target(is->first); } @@ -687,7 +690,8 @@ public: *sit1 == &sh || *sit2 == &sl || *sit2 == &sh) return false; - Point_2 ps = source(*sit2), pt = target(*sit2); + const Point_2& ps = source(*sit2); + const Point_2& pt = target(*sit2); return ( orientation(sit1,ps)==0 && orientation(sit1,pt)==0 ); } @@ -758,8 +762,8 @@ public: continue; // ignore zero-length segments regarding YS } - Point_2 p = *it1; - Point_2 q = *it2; + const Point_2& p = *it1; + const Point_2& q = *it2; Segment_2 s1; if ( K.compare_xy(p,q) < 0 ) diff --git a/Nef_2/test/Nef_2/issue7662.cpp b/Nef_2/test/Nef_2/issue7662.cpp new file mode 100644 index 00000000000..41432aa3e8e --- /dev/null +++ b/Nef_2/test/Nef_2/issue7662.cpp @@ -0,0 +1,116 @@ +#include +#include +#include +#include +#include +#include + +typedef CGAL::Lazy_exact_nt FT; +typedef CGAL::Simple_cartesian Kernel; +typedef CGAL::Bounded_kernel Bounded_kernel; +typedef CGAL::Nef_polyhedron_2 Nef_polyhedron; +typedef Nef_polyhedron::Point Point; + +typedef Nef_polyhedron::Explorer Explorer; +typedef Explorer::Face_const_iterator Face_const_iterator; +typedef Explorer::Hole_const_iterator Hole_const_iterator; +typedef Explorer::Halfedge_around_face_const_circulator Halfedge_around_face_const_circulator; +typedef Explorer::Vertex_const_handle Vertex_const_handle; +typedef Explorer::Isolated_vertex_const_iterator Isolated_vertex_const_iterator; + +void print(Explorer& explorer, Vertex_const_handle vh, bool exact) +{ + std::cout << explorer.point(vh); + if (exact) + std::cout << " [" << explorer.point(vh).x().exact() << " | " << explorer.point(vh).y().exact() << "]"; + std::cout << ", "; +} + +void print(const Nef_polyhedron& poly, bool exact = false) +{ + + + Explorer explorer = poly.explorer(); + + // The first face is the infinite one. It has no outer face cycle but only holes + Face_const_iterator fit = explorer.faces_begin(); + std::cout << "explorer.mark(explorer.faces_begin()) " << ((explorer.mark(fit)) ? "is part of polygon" : "is not part of polygon") << std::endl; + for (Hole_const_iterator hit = explorer.holes_begin(fit); hit != explorer.holes_end(fit); hit++) { + std::cout << " A hole" << std::endl; + Halfedge_around_face_const_circulator hafc(hit), done(hit); + do { + Vertex_const_handle vh = explorer.target(hafc); + print(explorer, vh, exact); + hafc++; + } while (hafc != done); + std::cout << std::endl; + } + + for (Isolated_vertex_const_iterator it = explorer.isolated_vertices_begin(fit); it != explorer.isolated_vertices_end(fit); ++it) { + std::cout << "isolated vertex A" << explorer.point(it) << std::endl; + } + + // The other faces have outer face cycles, and they may have holes + for (fit++; + fit != explorer.faces_end(); + fit++) { + for (Isolated_vertex_const_iterator it = explorer.isolated_vertices_begin(fit); it != explorer.isolated_vertices_end(fit); ++it) { + std::cout << "isolated vertex B" << std::endl; + } + Halfedge_around_face_const_circulator hafc = explorer.face_cycle(fit), done(hafc); + std::cout << "face: " << ((explorer.mark(fit)) ? "is part of polygon" : "is not part of polygon") << std::endl; + do { + Vertex_const_handle vh = explorer.target(hafc); + print(explorer, vh, exact); + hafc++; + } while (hafc != done); + std::cout << std::endl; + for (Hole_const_iterator hit = explorer.holes_begin(fit); hit != explorer.holes_end(fit); hit++) { + std::cout << " A hole" << std::endl; + Halfedge_around_face_const_circulator hafc(hit), done(hit); + do { + Vertex_const_handle vh = explorer.target(hafc); + print(explorer, vh, exact); + hafc++; + } while (hafc != done); + std::cout << std::endl; + } + } + +} + + + +int main() +{ + Point p1[] = { + Point(0,0), + Point(100,100), + Point(0,100) + }; + + Point p2[] = { + Point(100, 100), + Point(110, 100), + Point(100, 110) + }; + + + std::list > polygons1; + polygons1.push_back(std::make_pair(p1, p1 + sizeof(p1) / sizeof(Point))); + + Nef_polyhedron poly1(polygons1.begin(), polygons1.end(), Nef_polyhedron::POLYGONS); + poly1.explorer().check_integrity_and_topological_planarity(); + + Nef_polyhedron poly2(p2, p2 + sizeof(p2) / sizeof(Point)); + poly2.explorer().check_integrity_and_topological_planarity(); + + Nef_polyhedron intersect = poly1.intersection(poly2); + intersect.explorer().check_integrity_and_topological_planarity(); + + print(intersect); + + Nef_polyhedron comp = intersect.complement(); //leads to crash/exception since topological plane map of intersect is not correct! + comp.explorer().check_integrity_and_topological_planarity(); + return 0; +} diff --git a/Nef_3/doc/Nef_3/Nef_3.txt b/Nef_3/doc/Nef_3/Nef_3.txt index 60e98f18864..bd7de74fd27 100644 --- a/Nef_3/doc/Nef_3/Nef_3.txt +++ b/Nef_3/doc/Nef_3/Nef_3.txt @@ -448,7 +448,7 @@ We recommend the use of the \cgal kernels `Homogeneous`, The homogeneous kernel provides reliable fast performance. In combination with `leda_integer` it is the fastest kernel for `Nef_polyhedron_3`. The `Exact_predicates_exact_constructions_kernel` uses filtering. In non-degenerate -scenarios it's faster than the Homogeneous kernel. The most +scenarios it's faster than the homogeneous kernel. The most important advantage of the filtered kernel is that it is a %Cartesian kernel, which allows the proper handling of OFF files using floating-point coordinates. diff --git a/Nef_3/doc/Nef_3/PackageDescription.txt b/Nef_3/doc/Nef_3/PackageDescription.txt index 7edd3f45d4b..be928e299ee 100644 --- a/Nef_3/doc/Nef_3/PackageDescription.txt +++ b/Nef_3/doc/Nef_3/PackageDescription.txt @@ -4,9 +4,7 @@ /// \ingroup PkgNef3Ref /*! Draw. - \code - #include - \endcode +\cgalInclude{CGAL/draw_nef_3.h} */ /// \defgroup PkgDrawNef3 Draw a Nef Polyhedron /// \ingroup PkgNef3Ref diff --git a/Number_types/doc/Number_types/CGAL/CORE_BigFloat.h b/Number_types/doc/Number_types/CGAL/CORE_BigFloat.h index 754985917d9..f6a7d5f1576 100644 --- a/Number_types/doc/Number_types/CGAL/CORE_BigFloat.h +++ b/Number_types/doc/Number_types/CGAL/CORE_BigFloat.h @@ -14,9 +14,7 @@ This number type is provided by the \core library \cgalCite{klpy-clp-99}. \cgal defines the necessary functions so that this class complies to the requirements on number types. -\cgalModels `FieldWithKthRoot` -\cgalModels `RealEmbeddable` -\cgalModels `FromDoubleConstructible` +\cgalModels{FieldWithKthRoot,RealEmbeddable,FromDoubleConstructible} */ diff --git a/Number_types/doc/Number_types/CGAL/CORE_BigInt.h b/Number_types/doc/Number_types/CGAL/CORE_BigInt.h index 6e3f81effc1..2fcd05b6b7f 100644 --- a/Number_types/doc/Number_types/CGAL/CORE_BigInt.h +++ b/Number_types/doc/Number_types/CGAL/CORE_BigInt.h @@ -12,8 +12,7 @@ This number type is provided by the \core library \cgalCite{klpy-clp-99}. \cgal defines the necessary functions so that this class complies to the requirements on number types. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} */ diff --git a/Number_types/doc/Number_types/CGAL/CORE_BigRat.h b/Number_types/doc/Number_types/CGAL/CORE_BigRat.h index 672adee91df..12c57a6c30e 100644 --- a/Number_types/doc/Number_types/CGAL/CORE_BigRat.h +++ b/Number_types/doc/Number_types/CGAL/CORE_BigRat.h @@ -10,10 +10,7 @@ This number type is provided by the \core library \cgalCite{klpy-clp-99}. \cgal defines the necessary functions so that this class complies to the requirements on number types. -\cgalModels `Field` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` -\cgalModels `FromDoubleConstructible` +\cgalModels{Field,RealEmbeddable,Fraction,FromDoubleConstructible} */ diff --git a/Number_types/doc/Number_types/CGAL/CORE_Expr.h b/Number_types/doc/Number_types/CGAL/CORE_Expr.h index ac6805b8914..bbe851d5fc3 100644 --- a/Number_types/doc/Number_types/CGAL/CORE_Expr.h +++ b/Number_types/doc/Number_types/CGAL/CORE_Expr.h @@ -13,9 +13,7 @@ This number type is provided by the \cgal defines the necessary functions so that this class complies to the requirements on number types. -\cgalModels `FieldWithRootOf` -\cgalModels `RealEmbeddable` -\cgalModels `FromDoubleConstructible` +\cgalModels{FieldWithRootOf,RealEmbeddable,FromDoubleConstructible} */ class Expr { diff --git a/Number_types/doc/Number_types/CGAL/Gmpfi.h b/Number_types/doc/Number_types/CGAL/Gmpfi.h index 3b54efc175f..b48623b2212 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpfi.h +++ b/Number_types/doc/Number_types/CGAL/Gmpfi.h @@ -18,8 +18,7 @@ This type is `ImplicitInteroperable` with `Gmpfr`, `Gmpz`, `Gmpq`, long, unsigned long, int, double and long double. -\cgalModels `FieldWithKthRoot` -\cgalModels `RealEmbeddable` +\cgalModels{FieldWithKthRoot,RealEmbeddable} \cgalHeading{Implementation} diff --git a/Number_types/doc/Number_types/CGAL/Gmpfr.h b/Number_types/doc/Number_types/CGAL/Gmpfr.h index c664a209f0f..78ee816943f 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpfr.h +++ b/Number_types/doc/Number_types/CGAL/Gmpfr.h @@ -23,8 +23,7 @@ used is `std::float_round_style`. This type is `ImplicitInteroperable` with `Gmpz`, long, unsigned long, int, double and long double. -\cgalModels `FieldWithKthRoot` -\cgalModels `RealEmbeddable` +\cgalModels{FieldWithKthRoot,RealEmbeddable} \cgalHeading{Comparisons} diff --git a/Number_types/doc/Number_types/CGAL/Gmpq.h b/Number_types/doc/Number_types/CGAL/Gmpq.h index c399e69e83d..f885758460f 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpq.h +++ b/Number_types/doc/Number_types/CGAL/Gmpq.h @@ -7,9 +7,7 @@ namespace CGAL { An object of the class `Gmpq` is an arbitrary precision rational number based on the \gmp library. -\cgalModels `Field` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` +\cgalModels{Field,RealEmbeddable,Fraction} \cgalHeading{Implementation} diff --git a/Number_types/doc/Number_types/CGAL/Gmpz.h b/Number_types/doc/Number_types/CGAL/Gmpz.h index 2eb6873a837..b110329d7d3 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpz.h +++ b/Number_types/doc/Number_types/CGAL/Gmpz.h @@ -7,8 +7,7 @@ namespace CGAL { An object of the class `Gmpz` is an arbitrary precision integer based on the \gmp Library. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} \cgalHeading{Implementation} diff --git a/Number_types/doc/Number_types/CGAL/Gmpzf.h b/Number_types/doc/Number_types/CGAL/Gmpzf.h index fd0e02c8710..876bd37069f 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpzf.h +++ b/Number_types/doc/Number_types/CGAL/Gmpzf.h @@ -11,8 +11,7 @@ is of type `long`. This type can be considered exact, even if the exponent is not a multiple-precision number. This number type offers functionality very similar to `MP_Float` but is generally faster. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} \cgalHeading{Implementation} diff --git a/Number_types/doc/Number_types/CGAL/Interval_nt.h b/Number_types/doc/Number_types/CGAL/Interval_nt.h index 97c5dd7a45c..89dad6cced3 100644 --- a/Number_types/doc/Number_types/CGAL/Interval_nt.h +++ b/Number_types/doc/Number_types/CGAL/Interval_nt.h @@ -46,8 +46,7 @@ take care about setting the rounding mode towards plus infinity before doing any computations with the interval class. He can do so using the `Protect_FPU_rounding` class for example. -\cgalModels `FieldWithSqrt` -\cgalModels `RealEmbeddable` +\cgalModels{FieldWithSqrt,RealEmbeddable} \cgalHeading{Example} diff --git a/Number_types/doc/Number_types/CGAL/Lazy_exact_nt.h b/Number_types/doc/Number_types/CGAL/Lazy_exact_nt.h index 03b0097a903..8d225da3b08 100644 --- a/Number_types/doc/Number_types/CGAL/Lazy_exact_nt.h +++ b/Number_types/doc/Number_types/CGAL/Lazy_exact_nt.h @@ -26,9 +26,8 @@ least model of concept `IntegralDomainWithoutDivision`. Note that some filtering mechanism is available at the predicate level using `Filtered_predicate` and `Filtered_kernel`. -\cgalModels `IntegralDomainWithoutDivision` same as `NT` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction`, if `NT` is a `Fraction` +\cgalModels{IntegralDomainWithoutDivision same as `NT`,RealEmbeddable, + Fraction, if `NT` is a `Fraction`} \cgalHeading{Example} diff --git a/Number_types/doc/Number_types/CGAL/MP_Float.h b/Number_types/doc/Number_types/CGAL/MP_Float.h index c5fd2d19939..6f3b097d71b 100644 --- a/Number_types/doc/Number_types/CGAL/MP_Float.h +++ b/Number_types/doc/Number_types/CGAL/MP_Float.h @@ -18,8 +18,7 @@ limited by the available memory, the exponent is currently represented by a (integral valued) `double`, which can overflow in some circumstances. We plan to also have a multiprecision exponent to fix this issue. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} \cgalHeading{Implementation} diff --git a/Number_types/doc/Number_types/CGAL/Mpzf.h b/Number_types/doc/Number_types/CGAL/Mpzf.h index 6844b33bdac..0de6ce167cd 100644 --- a/Number_types/doc/Number_types/CGAL/Mpzf.h +++ b/Number_types/doc/Number_types/CGAL/Mpzf.h @@ -14,8 +14,7 @@ normalized finite floating point number represents exactly that number. This number type offers functionality very similar to `MP_Float` and `Gmpzf` but is faster. -\cgalModels `IntegralDomainWithoutDivision` -\cgalModels `RealEmbeddable` +\cgalModels{IntegralDomainWithoutDivision,RealEmbeddable} \cgalHeading{Implementation} diff --git a/Number_types/doc/Number_types/CGAL/NT_converter.h b/Number_types/doc/Number_types/CGAL/NT_converter.h index 874d6b7f78f..d0d649f6df3 100644 --- a/Number_types/doc/Number_types/CGAL/NT_converter.h +++ b/Number_types/doc/Number_types/CGAL/NT_converter.h @@ -5,7 +5,7 @@ namespace CGAL { A number type converter usable as default, for `Cartesian_converter` and `Homogeneous_converter`. -\cgalModels `AdaptableFunctor` +\cgalModels{AdaptableFunctor} */ template < class NT1, class NT2 > diff --git a/Number_types/doc/Number_types/CGAL/Number_type_checker.h b/Number_types/doc/Number_types/CGAL/Number_type_checker.h index 06002e878de..b28eb4db292 100644 --- a/Number_types/doc/Number_types/CGAL/Number_type_checker.h +++ b/Number_types/doc/Number_types/CGAL/Number_type_checker.h @@ -19,8 +19,7 @@ as first argument, and `NT2` as second. The `Comparator` parameter has a default value which is a functor calling `operator==` between the two arguments. -\cgalModels `IntegralDomainWithoutDivision` (same as `NT1`) -\cgalModels `RealEmbeddable` +\cgalModels{IntegralDomainWithoutDivision (same as `NT1`),RealEmbeddable} \cgalHeading{Operations} diff --git a/Number_types/doc/Number_types/CGAL/Quotient.h b/Number_types/doc/Number_types/CGAL/Quotient.h index f24d5b3b7d5..f32d724806f 100644 --- a/Number_types/doc/Number_types/CGAL/Quotient.h +++ b/Number_types/doc/Number_types/CGAL/Quotient.h @@ -15,9 +15,7 @@ A `Quotient` `q` is represented as a pair of \tparam NT must be at least model of concept `IntegralDomainWithoutDivision` and a model of concept `RealEmbeddable`. -\cgalModels `Field` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` +\cgalModels{Field,RealEmbeddable,Fraction} \cgalHeading{Operations} diff --git a/Number_types/doc/Number_types/CGAL/Sqrt_extension.h b/Number_types/doc/Number_types/CGAL/Sqrt_extension.h index a52f55780dc..8281df43339 100644 --- a/Number_types/doc/Number_types/CGAL/Sqrt_extension.h +++ b/Number_types/doc/Number_types/CGAL/Sqrt_extension.h @@ -87,14 +87,16 @@ The fourth template argument, `FilterPredicates`, triggers an internal filter th In case `NT` is not `RealEmbeddable`, `DifferentExtensionComparable` as well as `FilterPredicates` have no effect. -\cgalModels `Assignable` -\cgalModels `CopyConstructible` -\cgalModels `DefaultConstructible` -\cgalModels `EqualityComparable` -\cgalModels `ImplicitInteroperable` with `int` -\cgalModels `ImplicitInteroperable` with `NT` -\cgalModels `Fraction` if NT is a `Fraction` -\cgalModels `RootOf_2` +\cgalModelsBareBegin +\cgalModelsBare{`Assignable`} +\cgalModelsBare{`CopyConstructible`} +\cgalModelsBare{`DefaultConstructible`} +\cgalModelsBare{`EqualityComparable`} +\cgalModelsBare{`ImplicitInteroperable` with `int`} +\cgalModelsBare{`ImplicitInteroperable` with `NT`} +\cgalModelsBare{`Fraction` if NT is a `Fraction`} +\cgalModelsBare{`RootOf_2`} +\cgalModelsBareEnd \sa `IntegralDomainWithoutDivision` \sa `IntegralDomain` diff --git a/Number_types/doc/Number_types/CGAL/double.h b/Number_types/doc/Number_types/CGAL/double.h index c38a596c0cc..5c48d4332c8 100644 --- a/Number_types/doc/Number_types/CGAL/double.h +++ b/Number_types/doc/Number_types/CGAL/double.h @@ -7,8 +7,7 @@ type `double` is a model of the concepts `RealEmbeddable` and `Field`. Due to rounding errors and overflow `double` is considered as not exact. -\cgalModels `FieldWithSqrt` -\cgalModels `RealEmbeddable` +\cgalModels{FieldWithSqrt,RealEmbeddable} */ diff --git a/Number_types/doc/Number_types/CGAL/float.h b/Number_types/doc/Number_types/CGAL/float.h index 26028a3a46e..84f782c4d82 100644 --- a/Number_types/doc/Number_types/CGAL/float.h +++ b/Number_types/doc/Number_types/CGAL/float.h @@ -9,8 +9,7 @@ This header provides all necessary functions so the fundamental type `FieldWithSqrt`. Due to rounding errors and overflow `float` is considered as not exact. -\cgalModels `FieldWithSqrt` -\cgalModels `RealEmbeddable` +\cgalModels{FieldWithSqrt,RealEmbeddable} */ diff --git a/Number_types/doc/Number_types/CGAL/gmpxx.h b/Number_types/doc/Number_types/CGAL/gmpxx.h index 4d93317f45d..b6c19f42328 100644 --- a/Number_types/doc/Number_types/CGAL/gmpxx.h +++ b/Number_types/doc/Number_types/CGAL/gmpxx.h @@ -9,9 +9,7 @@ provided by \gmp. CGAL provides the necessary functions to make it compliant to the number type concept. -\cgalModels `Field` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` +\cgalModels{Field,RealEmbeddable,Fraction} See the \gmp documentation for additional details. @@ -31,8 +29,7 @@ provided by \gmp. CGAL provides the necessary functions to make it compliant to the number type concept. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} See the \gmp documentation for additional details. diff --git a/Number_types/doc/Number_types/CGAL/leda_bigfloat.h b/Number_types/doc/Number_types/CGAL/leda_bigfloat.h index 41c8e6b5425..8fbca4b8517 100644 --- a/Number_types/doc/Number_types/CGAL/leda_bigfloat.h +++ b/Number_types/doc/Number_types/CGAL/leda_bigfloat.h @@ -12,9 +12,7 @@ Rounding mode and precision (i.e.\ mantissa length) of For more details on the number types of \leda we refer to the \leda manual \cgalCite{cgal:as-lum}. -\cgalModels `FieldWithKthRoot` -\cgalModels `RealEmbeddable` -\cgalModels `FromDoubleConstructible` +\cgalModels{FieldWithKthRoot,RealEmbeddable,FromDoubleConstructible} */ diff --git a/Number_types/doc/Number_types/CGAL/leda_integer.h b/Number_types/doc/Number_types/CGAL/leda_integer.h index f0f5de4602c..ad7009c6fd2 100644 --- a/Number_types/doc/Number_types/CGAL/leda_integer.h +++ b/Number_types/doc/Number_types/CGAL/leda_integer.h @@ -8,8 +8,7 @@ The class `leda_integer` is a wrapper class that provides the functions needed to use the number type `leda::integer`, representing exact multiprecision integers provided by \leda. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} For more details on the number types of \leda we refer to the \leda manual \cgalCite{cgal:as-lum}. diff --git a/Number_types/doc/Number_types/CGAL/leda_rational.h b/Number_types/doc/Number_types/CGAL/leda_rational.h index 7c2add08b97..8cfc60ea942 100644 --- a/Number_types/doc/Number_types/CGAL/leda_rational.h +++ b/Number_types/doc/Number_types/CGAL/leda_rational.h @@ -7,10 +7,7 @@ The class `leda_rational` is a wrapper class that provides the functions needed to use the number type `rational`, representing exact multiprecision rational numbers provided by \leda. -\cgalModels `Field` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` -\cgalModels `FromDoubleConstructible` +\cgalModels{Field,RealEmbeddable,Fraction,FromDoubleConstructible} For more details on the number types of \leda we refer to the \leda manual \cgalCite{cgal:as-lum}. */ diff --git a/Number_types/doc/Number_types/CGAL/leda_real.h b/Number_types/doc/Number_types/CGAL/leda_real.h index f13dfa7aa72..131ba0839e6 100644 --- a/Number_types/doc/Number_types/CGAL/leda_real.h +++ b/Number_types/doc/Number_types/CGAL/leda_real.h @@ -12,9 +12,7 @@ numbers that contains integers, and which is closed by the operations Operations and comparisons between objects of this type are guaranteed to be exact. -\cgalModels `FieldWithRootOf` -\cgalModels `RealEmbeddable` -\cgalModels `FromDoubleConstructible` +\cgalModels{FieldWithRootOf,RealEmbeddable,FromDoubleConstructible} For more details on the number types of \leda we refer to the \leda manual \cgalCite{cgal:as-lum}. diff --git a/Number_types/doc/Number_types/CGAL/long_long.h b/Number_types/doc/Number_types/CGAL/long_long.h index 750c18fdfa9..83e6e23a058 100644 --- a/Number_types/doc/Number_types/CGAL/long_long.h +++ b/Number_types/doc/Number_types/CGAL/long_long.h @@ -5,5 +5,4 @@ /// type `long long int` is an `RealEmbeddable` `EuclideanRing`. Due /// to overflow `long long int` is considered as not exact. /// -/// \cgalModels `EuclideanRing` -/// \cgalModels `RealEmbeddable` +/// \cgalModels{EuclideanRing,RealEmbeddable} diff --git a/Number_types/doc/Number_types/CGAL/utils_classes.h b/Number_types/doc/Number_types/CGAL/utils_classes.h index 0e6ef4fc72c..ac0a83c6191 100644 --- a/Number_types/doc/Number_types/CGAL/utils_classes.h +++ b/Number_types/doc/Number_types/CGAL/utils_classes.h @@ -11,7 +11,7 @@ For example, an expression like `NT(0)/NT(0)` can result in an invalid number. Routines may have as a precondition that all values are valid. -\cgalModels `AdaptableFunctor` +\cgalModels{AdaptableFunctor} */ template< typename T > @@ -43,7 +43,7 @@ The default value for `Less` is `std::less`. Note that `T` must be a model of `LessThanComparable` in case `std::less` is used. -\cgalModels `AdaptableFunctor` +\cgalModels{AdaptableFunctor} */ template< typename T, typename Less > @@ -90,7 +90,7 @@ The default value for `Less` is `std::less`. Note that `T` must be a model of `LessThanComparable` in case `std::less` is used. -\cgalModels `AdaptableFunctor` +\cgalModels{AdaptableFunctor} */ template< typename T, typename Less > diff --git a/Number_types/doc/Number_types/Concepts/RootOf_2.h b/Number_types/doc/Number_types/Concepts/RootOf_2.h index a772693794d..9ae9883f80f 100644 --- a/Number_types/doc/Number_types/Concepts/RootOf_2.h +++ b/Number_types/doc/Number_types/Concepts/RootOf_2.h @@ -30,8 +30,10 @@ special construction for extensions of degree 2: \cgalRefines{DefaultConstructible,CopyConstructible,FromIntConstructible, ImplicitInteroperable with `RT`,ImplicitInteroperable with `FT`} -\cgalHasModel `double` (not exact) -\cgalHasModel `CGAL::Sqrt_extension` +\cgalHasModelsBegin +\cgalHasModelsBare{`double` (not exact)} +\cgalHasModels{CGAL::Sqrt_extension} +\cgalHasModelsEnd \sa `CGAL::make_root_of_2` \sa `CGAL::make_sqrt` diff --git a/Number_types/doc/Number_types/NumberTypeSupport.txt b/Number_types/doc/Number_types/NumberTypeSupport.txt index 705e1fe6d27..d22aee9d648 100644 --- a/Number_types/doc/Number_types/NumberTypeSupport.txt +++ b/Number_types/doc/Number_types/NumberTypeSupport.txt @@ -120,7 +120,7 @@ To use these classes, \gmp and \mpfr must be installed. \anchor ledant \leda provides number types that can be used for exact computation -with both Cartesian and homogeneous representations. If you are using +with both %Cartesian and homogeneous representations. If you are using homogeneous representation with the built-in integer types `short`, `int`, and `long` as ring type, exactness of computations can be guaranteed only if your input data come from a @@ -130,7 +130,7 @@ integers of arbitrary length. (Of course the length is somehow bounded by the resources of your computer.) It can be used as ring type in homogeneous kernels and leads to exact computation as long as all intermediate results are rational. For the -same kind of problems, Cartesian representation with number type +same kind of problems, %Cartesian representation with number type `leda_rational` leads to exact computation as well. The number type `leda_bigfloat` in \leda is a variable precision floating-point type. Rounding mode and precision (i.e.\ mantissa length) of diff --git a/Number_types/include/CGAL/Exact_algebraic.h b/Number_types/include/CGAL/Exact_algebraic.h index 4abdf596784..8a911b0b102 100644 --- a/Number_types/include/CGAL/Exact_algebraic.h +++ b/Number_types/include/CGAL/Exact_algebraic.h @@ -37,10 +37,7 @@ It is a typedef of another number type. Its exact definition depends on the availability the third-party libraries \core, and \leda. \cgal must be configured with at least one of those libraries. -\cgalModels `FieldWithSqrt` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` -\cgalModels `FromDoubleConstructible` +\cgalModels{FieldWithSqrt,RealEmbeddable,Fraction,FromDoubleConstructible} */ #if DOXYGEN_RUNNING diff --git a/Number_types/include/CGAL/Exact_integer.h b/Number_types/include/CGAL/Exact_integer.h index 86b13dd3dc6..fe5d793a99c 100644 --- a/Number_types/include/CGAL/Exact_integer.h +++ b/Number_types/include/CGAL/Exact_integer.h @@ -30,8 +30,7 @@ It is a typedef of another number type. Its exact definition depends on the availability the third-party libraries \gmp, \core, and \leda. \cgal must be configured with at least one of those libraries. -\cgalModels `EuclideanRing` -\cgalModels `RealEmbeddable` +\cgalModels{EuclideanRing,RealEmbeddable} */ #if DOXYGEN_RUNNING diff --git a/Number_types/include/CGAL/Exact_rational.h b/Number_types/include/CGAL/Exact_rational.h index 7b53700b5b4..a80795a61dc 100644 --- a/Number_types/include/CGAL/Exact_rational.h +++ b/Number_types/include/CGAL/Exact_rational.h @@ -30,10 +30,7 @@ It is a typedef of another number type. Its exact definition depends on the availability the third-party libraries \gmp, \core, and \leda. \cgal must be configured with at least one of those libraries. -\cgalModels `Field` -\cgalModels `RealEmbeddable` -\cgalModels `Fraction` -\cgalModels `FromDoubleConstructible` +\cgalModels{Field,RealEmbeddable,Fraction,FromDoubleConstructible} */ #if DOXYGEN_RUNNING diff --git a/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h b/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h index dceb2345f0c..80f3c1e28dc 100644 --- a/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h +++ b/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h @@ -8,7 +8,9 @@ a 3x3 matrix type. \cgalRefines{Kernel} -\cgalHasModel `CGAL::Oriented_bounding_box_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Oriented_bounding_box_traits_3} +\cgalHasModelsEnd */ class OrientedBoundingBoxTraits_3 diff --git a/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/Oriented_bounding_box_traits_3.h b/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/Oriented_bounding_box_traits_3.h index 01cd1df588c..4ce23d3d00e 100644 --- a/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/Oriented_bounding_box_traits_3.h +++ b/Optimal_bounding_box/include/CGAL/Optimal_bounding_box/Oriented_bounding_box_traits_3.h @@ -36,7 +36,7 @@ namespace CGAL { /// /// \tparam K must be a model of `Kernel` /// -/// \cgalModels `OrientedBoundingBoxTraits_3` +/// \cgalModels{OrientedBoundingBoxTraits_3} /// template class Oriented_bounding_box_traits_3 diff --git a/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h b/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h index fe99dd293c4..69f33226b2c 100644 --- a/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h +++ b/Optimal_transportation_reconstruction_2/doc/Optimal_transportation_reconstruction_2/Concepts/OptimalTransportationReconstructionTraits_2.h @@ -8,8 +8,10 @@ for the traits class of `CGAL::Optimal_transportation_reconstruction_2`. \cgalRefines{DelaunayTriangulationTraits_2} -\cgalHasModel Any model of the `Kernel` concept -\cgalHasModel `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended) +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsBare{`CGAL::Exact_predicates_inexact_constructions_kernel` (recommended)} +\cgalHasModelsEnd \sa `CGAL::Optimal_transportation_reconstruction_2` diff --git a/Orthtree/doc/Orthtree/Concepts/OrthtreeTraits.h b/Orthtree/doc/Orthtree/Concepts/OrthtreeTraits.h index eac6e2e914d..fdb0781ba26 100644 --- a/Orthtree/doc/Orthtree/Concepts/OrthtreeTraits.h +++ b/Orthtree/doc/Orthtree/Concepts/OrthtreeTraits.h @@ -5,9 +5,11 @@ The concept `OrthtreeTraits` defines the requirements for the template parameter of the `CGAL::Orthtree` class. - \cgalHasModel `CGAL::Orthtree_traits_2` - \cgalHasModel `CGAL::Orthtree_traits_3` - \cgalHasModel `CGAL::Orthtree_traits_d` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Orthtree_traits_2} + \cgalHasModels{CGAL::Orthtree_traits_3} + \cgalHasModels{CGAL::Orthtree_traits_d} + \cgalHasModelsEnd */ class OrthtreeTraits { diff --git a/Orthtree/doc/Orthtree/Concepts/OrthtreeTraversal.h b/Orthtree/doc/Orthtree/Concepts/OrthtreeTraversal.h index d763be714e5..5aeda690079 100644 --- a/Orthtree/doc/Orthtree/Concepts/OrthtreeTraversal.h +++ b/Orthtree/doc/Orthtree/Concepts/OrthtreeTraversal.h @@ -9,10 +9,12 @@ A traversal is used to iterate on a tree with a user-selected order (e.g. preorder, postorder). - \cgalHasModel `CGAL::Orthtrees::Preorder_traversal` - \cgalHasModel `CGAL::Orthtrees::Postorder_traversal` - \cgalHasModel `CGAL::Orthtrees::Leaves_traversal` - \cgalHasModel `CGAL::Orthtrees::Level_traversal` + \cgalHasModelsBegin + \cgalHasModels{CGAL::Orthtrees::Preorder_traversal} + \cgalHasModels{CGAL::Orthtrees::Postorder_traversal} + \cgalHasModels{CGAL::Orthtrees::Leaves_traversal} + \cgalHasModels{CGAL::Orthtrees::Level_traversal} + \cgalHasModelsEnd */ class OrthtreeTraversal { diff --git a/Orthtree/include/CGAL/Orthtree/Node.h b/Orthtree/include/CGAL/Orthtree/Node.h index a16d2fff192..777066a295d 100644 --- a/Orthtree/include/CGAL/Orthtree/Node.h +++ b/Orthtree/include/CGAL/Orthtree/Node.h @@ -77,7 +77,7 @@ struct Node_access A `Node` is a lightweight object and thus generally passed by copy. It is also a model of `ConstRange` with value type `Traits::Point_d`. - \cgalModels `ConstRange` + \cgalModels{ConstRange} */ template class Orthtree::Node diff --git a/Orthtree/include/CGAL/Orthtree/Traversals.h b/Orthtree/include/CGAL/Orthtree/Traversals.h index 885af4f9b4d..1ab9b77ccea 100644 --- a/Orthtree/include/CGAL/Orthtree/Traversals.h +++ b/Orthtree/include/CGAL/Orthtree/Traversals.h @@ -123,7 +123,7 @@ Node first_child_at_depth(Node n, std::size_t depth) { A preorder traversal starts from the root towards the leaves. - \cgalModels `OrthtreeTraversal` + \cgalModels{OrthtreeTraversal} */ struct Preorder_traversal { @@ -156,7 +156,7 @@ struct Preorder_traversal { A postorder traversal starts from the leaves towards the root. - \cgalModels `OrthtreeTraversal` + \cgalModels{OrthtreeTraversal} */ struct Postorder_traversal { @@ -184,7 +184,7 @@ struct Postorder_traversal { All non-leave nodes are ignored. - \cgalModels `OrthtreeTraversal` + \cgalModels{OrthtreeTraversal} */ struct Leaves_traversal { @@ -213,7 +213,7 @@ struct Leaves_traversal { All trees at another depth are ignored. If the selected depth is higher than the maximum depth of the orthtree, no node will be traversed. - \cgalModels `OrthtreeTraversal` + \cgalModels{OrthtreeTraversal} */ struct Level_traversal { diff --git a/Orthtree/include/CGAL/Orthtree_traits_2.h b/Orthtree/include/CGAL/Orthtree_traits_2.h index 0ef87d2ce6e..b849ae450f5 100644 --- a/Orthtree/include/CGAL/Orthtree_traits_2.h +++ b/Orthtree/include/CGAL/Orthtree_traits_2.h @@ -28,7 +28,7 @@ namespace CGAL \tparam GeomTraits model of `Kernel`. - \cgalModels `OrthtreeTraits` + \cgalModels{OrthtreeTraits} \sa `CGAL::Quadtree` \sa `CGAL::Orthtree_traits_3` \sa `CGAL::Orthtree_traits_d` diff --git a/Orthtree/include/CGAL/Orthtree_traits_3.h b/Orthtree/include/CGAL/Orthtree_traits_3.h index 7cfb0723b27..c50028fb8f2 100644 --- a/Orthtree/include/CGAL/Orthtree_traits_3.h +++ b/Orthtree/include/CGAL/Orthtree_traits_3.h @@ -28,7 +28,7 @@ namespace CGAL \tparam GeomTraits model of `Kernel`. - \cgalModels `OrthtreeTraits` + \cgalModels{OrthtreeTraits} \sa `CGAL::Octree` \sa `CGAL::Orthtree_traits_2` \sa `CGAL::Orthtree_traits_d` diff --git a/Orthtree/include/CGAL/Orthtree_traits_d.h b/Orthtree/include/CGAL/Orthtree_traits_d.h index 5415487afed..4f48caba07f 100644 --- a/Orthtree/include/CGAL/Orthtree_traits_d.h +++ b/Orthtree/include/CGAL/Orthtree_traits_d.h @@ -28,7 +28,7 @@ namespace CGAL \tparam GeomTraits model of `Kernel`. \tparam DimensionTag specialization of `CGAL::Dimension_tag`. - \cgalModels `OrthtreeTraits` + \cgalModels{OrthtreeTraits} \sa `CGAL::Orthtree` \sa `CGAL::Orthtree_traits_2` \sa `CGAL::Orthtree_traits_3` diff --git a/Partition_2/doc/Partition_2/CGAL/Partition_is_valid_traits_2.h b/Partition_2/doc/Partition_2/CGAL/Partition_is_valid_traits_2.h index 9bf0e53abf0..d08e20e0a0a 100644 --- a/Partition_2/doc/Partition_2/CGAL/Partition_is_valid_traits_2.h +++ b/Partition_2/doc/Partition_2/CGAL/Partition_is_valid_traits_2.h @@ -7,7 +7,7 @@ Class that derives a traits class for `partition_is_valid_2()` from a given traits class by defining the validity testing function object in terms of a supplied template parameter. -\cgalModels `PartitionIsValidTraits_2` +\cgalModels{PartitionIsValidTraits_2} \sa `CGAL::Is_convex_2` \sa `CGAL::Is_vacuously_valid` diff --git a/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h b/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h index 5fe96c19873..577eccd5d4f 100644 --- a/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h +++ b/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h @@ -10,11 +10,7 @@ Traits class that can be used with all the \tparam R a representation class \tparam PointPropertyMap a property map that maps to points of type `R::Point_2` -\cgalModels `ConvexPartitionIsValidTraits_2` -\cgalModels `IsYMonotoneTraits_2` -\cgalModels `OptimalConvexPartitionTraits_2` -\cgalModels `PartitionTraits_2` -\cgalModels `YMonotonePartitionIsValidTraits_2` +\cgalModels{ConvexPartitionIsValidTraits_2,IsYMonotoneTraits_2,OptimalConvexPartitionTraits_2,PartitionTraits_2,YMonotonePartitionIsValidTraits_2} \sa `CGAL::approx_convex_partition_2()` \sa `CGAL::convex_partition_is_valid_2()` diff --git a/Partition_2/doc/Partition_2/CGAL/polygon_function_objects.h b/Partition_2/doc/Partition_2/CGAL/polygon_function_objects.h index d7341e0f5f8..8d695729768 100644 --- a/Partition_2/doc/Partition_2/CGAL/polygon_function_objects.h +++ b/Partition_2/doc/Partition_2/CGAL/polygon_function_objects.h @@ -6,7 +6,7 @@ namespace CGAL { Function object class for testing if a sequence of points represents a convex polygon or not. -\cgalModels `PolygonIsValid` +\cgalModels{PolygonIsValid} \sa `CGAL::convex_partition_is_valid_2()` \sa `CGAL::Partition_is_valid_traits_2` @@ -55,7 +55,7 @@ namespace CGAL { Function object class that indicates all sequences of points are valid. -\cgalModels `PolygonIsValid` +\cgalModels{PolygonIsValid} \sa `CGAL::partition_is_valid_2()` \sa `CGAL::Partition_is_valid_traits_2` @@ -103,7 +103,7 @@ namespace CGAL { Function object class that tests whether a sequence of points represents a \f$ y\f$-monotone polygon or not. -\cgalModels `PolygonIsValid` +\cgalModels{PolygonIsValid} \sa `CGAL::convex_partition_is_valid_2()` \sa `CGAL::Partition_is_valid_traits_2` diff --git a/Partition_2/doc/Partition_2/Concepts/ConvexPartitionIsValidTraits_2.h b/Partition_2/doc/Partition_2/Concepts/ConvexPartitionIsValidTraits_2.h index c1919ce2444..ad0d171d07a 100644 --- a/Partition_2/doc/Partition_2/Concepts/ConvexPartitionIsValidTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/ConvexPartitionIsValidTraits_2.h @@ -6,7 +6,9 @@ Requirements of a traits class used by `convex_partition_is_valid_2` for testing the validity of a convex partition of a polygon. -\cgalHasModel `CGAL::Partition_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Partition_traits_2} +\cgalHasModelsEnd \sa `CGAL::approx_convex_partition_2()` \sa `CGAL::greene_approx_convex_partition_2()` diff --git a/Partition_2/doc/Partition_2/Concepts/IsYMonotoneTraits_2.h b/Partition_2/doc/Partition_2/Concepts/IsYMonotoneTraits_2.h index d677751f991..12b863da2ad 100644 --- a/Partition_2/doc/Partition_2/Concepts/IsYMonotoneTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/IsYMonotoneTraits_2.h @@ -6,8 +6,10 @@ Requirements of a traits class to be used with the function `is_y_monotone_2()` that tests whether a sequence of 2D points defines a \f$ y\f$-monotone polygon or not. -\cgalHasModel `CGAL::Partition_traits_2` -\cgalHasModel `CGAL::Kernel_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Partition_traits_2} +\cgalHasModels{CGAL::Kernel_traits_2} +\cgalHasModelsEnd \sa `CGAL::Is_y_monotone_2` \sa `CGAL::y_monotone_partition_2()` diff --git a/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h b/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h index 3f1e4722dc2..c1f7de776c6 100644 --- a/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/OptimalConvexPartitionTraits_2.h @@ -8,7 +8,9 @@ an optimal convex partition of a polygon. \cgalRefines{PartitionTraits_2} -\cgalHasModel `CGAL::Partition_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Partition_traits_2} +\cgalHasModelsEnd \sa `CGAL::convex_partition_is_valid_2()` \sa `CGAL::Partition_is_valid_traits_2` diff --git a/Partition_2/doc/Partition_2/Concepts/PartitionIsValidTraits_2.h b/Partition_2/doc/Partition_2/Concepts/PartitionIsValidTraits_2.h index 31f7e3c0136..537588e4ecf 100644 --- a/Partition_2/doc/Partition_2/Concepts/PartitionIsValidTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/PartitionIsValidTraits_2.h @@ -14,7 +14,9 @@ function `CGAL::is_convex_2()` and the concept `YMonotonePartitionTraits_2` for the additional requirements for testing for convexity and \f$ y\f$-monotonicity, respectively. -\cgalHasModel `CGAL::Partition_is_valid_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Partition_is_valid_traits_2} +\cgalHasModelsEnd \sa `CGAL::approx_convex_partition_2()` \sa `CGAL::greene_approx_convex_partition_2()` diff --git a/Partition_2/doc/Partition_2/Concepts/PartitionTraits_2.h b/Partition_2/doc/Partition_2/Concepts/PartitionTraits_2.h index c4c3827f664..955d8da4547 100644 --- a/Partition_2/doc/Partition_2/Concepts/PartitionTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/PartitionTraits_2.h @@ -8,7 +8,9 @@ common to all traits classes. The concept `PartitionTraits_2` defines this common set of requirements. -\cgalHasModel `CGAL::Partition_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Partition_traits_2} +\cgalHasModelsEnd \sa `CGAL::approx_convex_partition_2()` \sa `CGAL::greene_approx_convex_partition_2()` diff --git a/Partition_2/doc/Partition_2/Concepts/PolygonIsValid.h b/Partition_2/doc/Partition_2/Concepts/PolygonIsValid.h index b0e5ff298d1..be190734ab0 100644 --- a/Partition_2/doc/Partition_2/Concepts/PolygonIsValid.h +++ b/Partition_2/doc/Partition_2/Concepts/PolygonIsValid.h @@ -6,8 +6,10 @@ Function object that determines if a sequence of points represents a valid partition polygon or not, where "valid" can assume any of several meanings (e.g., convex or \f$ y\f$-monotone). -\cgalHasModel `CGAL::Is_convex_2` -\cgalHasModel `CGAL::Is_y_monotone_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Is_convex_2} +\cgalHasModels{CGAL::Is_y_monotone_2} +\cgalHasModelsEnd \sa `CGAL::approx_convex_partition_2()` \sa `CGAL::convex_partition_is_valid_2()` diff --git a/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionIsValidTraits_2.h b/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionIsValidTraits_2.h index a7500c62d6b..aaf6d9eea5a 100644 --- a/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionIsValidTraits_2.h +++ b/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionIsValidTraits_2.h @@ -6,7 +6,9 @@ Requirements of a traits class that is used by `y_monotone_partition_is_valid_2` for testing the validity of a \f$ y\f$-monotone partition of a polygon. -\cgalHasModel `CGAL::Partition_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Partition_traits_2} +\cgalHasModelsEnd \sa `CGAL::partition_is_valid_2()` \sa `CGAL::y_monotone_partition_2()` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_Delaunay_triangulation_traits_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_Delaunay_triangulation_traits_2.h index 0f72f4c2b15..30a16b19ab8 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_Delaunay_triangulation_traits_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_Delaunay_triangulation_traits_2.h @@ -21,7 +21,7 @@ predicates. This holds implicitly for `CGAL::Exact_predicates_inexact_constructions_kernel`, as it is an instantiation of `CGAL::Filtered_kernel`. -\cgalModels `::Periodic_2DelaunayTriangulationTraits_2` +\cgalModels{::Periodic_2DelaunayTriangulationTraits_2} */ template< typename Traits, typename Periodic_2Offset_2 > class Periodic_2_Delaunay_triangulation_traits_2 diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_2.h index 1689f5187bc..52fa86bf761 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_2.h @@ -210,7 +210,7 @@ public: The vertices and faces of the triangulations are accessed through `handles`, `iterators` and `circulators`. The handles are %CGAL - \ref models "models" of + models of the concept `Handle` which basically offers the two dereference operators and `->`. The iterators and circulators are all bidirectional and non-mutable. The circulators and iterators are diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_face_base_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_face_base_2.h index 2f2cc601cf1..5674d7086f5 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_face_base_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_face_base_2.h @@ -29,7 +29,7 @@ the offset corresponding to vertex \f$ i\f$. The implementation of `has_zero_offsets()` results in checking whether all offsets are zero. -\cgalModels `::Periodic_2TriangulationFaceBase_2` +\cgalModels{::Periodic_2TriangulationFaceBase_2} \sa `CGAL::Triangulation_face_base_2` \sa `CGAL::Triangulation_face_base_with_info_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_traits_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_traits_2.h index e14eab6d490..b0bbb524f12 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_traits_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_traits_2.h @@ -20,7 +20,7 @@ will be used if the flag `Traits::Has_static_filters` exists and is `true`. By default, this holds for `CGAL::Exact_predicates_inexact_constructions_kernel` and `CGAL::Exact_predicates_exact_constructions_kernel`. -\cgalModels `Periodic_2TriangulationTraits_2` +\cgalModels{Periodic_2TriangulationTraits_2} */ template< typename Traits, typename Periodic_2Offset_2 > diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_vertex_base_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_vertex_base_2.h index 6ead6620b64..961222f0561 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_vertex_base_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/CGAL/Periodic_2_triangulation_vertex_base_2.h @@ -19,7 +19,7 @@ class to which the additional information for the periodic vertex is added and should be a model of `TriangulationDSVertexBase_2` -\cgalModels `Periodic_2TriangulationVertexBase_2` +\cgalModels{Periodic_2TriangulationVertexBase_2} \sa `CGAL::Periodic_2_triangulation_face_base_2` \sa `CGAL::Triangulation_vertex_base_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h index 402a3eca806..f9a8d6be4d9 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2DelaunayTriangulationTraits_2.h @@ -27,7 +27,9 @@ dual functions are called. The additional predicate type `::Periodic_2DelaunayTriangulationTraits_2::Compare_distance_2` is required if calls to `nearest_vertex(..)` are issued. -\cgalHasModel `CGAL::Periodic_2_Delaunay_triangulation_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_2_Delaunay_triangulation_traits_2} +\cgalHasModelsEnd \sa `DelaunayTriangulationTraits_2` */ diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2Offset_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2Offset_2.h index c3d9e3b3c7b..3ff8cfc2b53 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2Offset_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2Offset_2.h @@ -7,7 +7,9 @@ The concept `Periodic_2Offset_2` describes a two-/dimensional integer vector with some specialized access functions and operations. -\cgalHasModel `CGAL::Periodic_2_offset_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_2_offset_2} +\cgalHasModelsEnd \sa `Periodic_2TriangulationTraits_2` \sa `Periodic_2DelaunayTriangulationTraits_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h index 7d7771d981e..41eb5dded8e 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationFaceBase_2.h @@ -13,7 +13,9 @@ vertex \f$ i\f$. \cgalRefines{TriangulationFaceBase_2} -\cgalHasModel `CGAL::Periodic_2_triangulation_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_2_triangulation_face_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `TriangulationFaceBase_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h index 71bfd55b268..658d1a104da 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationTraits_2.h @@ -24,7 +24,9 @@ In addition to the requirements described for the traits class Periodic triangulation must fulfill the following requirements: -\cgalHasModel `CGAL::Periodic_2_triangulation_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_2_triangulation_traits_2} +\cgalHasModelsEnd \sa `TriangulationTraits_2` \sa `CGAL::Periodic_2_triangulation_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h index 26c88f7b157..f9d6f4cc5a6 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/Concepts/Periodic_2TriangulationVertexBase_2.h @@ -16,7 +16,9 @@ The storage of the offset is only needed when a triangulation is copied. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel` CGAL::Periodic_2_triangulation_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_2_triangulation_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `TriangulationVertexBase_2` diff --git a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/PackageDescription.txt b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/PackageDescription.txt index dcffaea8da8..00c17ceec12 100644 --- a/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/PackageDescription.txt +++ b/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/PackageDescription.txt @@ -16,9 +16,7 @@ /// \ingroup PkgPeriodic2Triangulation2Ref /*! Draw. - \code - #include - \endcode +\cgalInclude{CGAL/draw_periodic_2_triangulation_2.h} */ /// \defgroup PkgDrawPeriodic2Triangulation2 Draw a 2D Periodic Triangulation /// \ingroup PkgPeriodic2Triangulation2Ref diff --git a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h index 51a0f2dff73..27c90fd712b 100644 --- a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h +++ b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomainWithFeatures_3.h @@ -22,8 +22,9 @@ Wrapping any model of `Periodic_3MeshDomain_3` with the class `CGAL::Mesh_domain_with_polyline_features_3` gives a model of `Periodic_3MeshDomainWithFeatures_3`. -\cgalHasModel `CGAL::Mesh_domain_with_polyline_features_3< - CGAL::Labeled_mesh_domain_3 >` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_domain_with_polyline_features_3 >} +\cgalHasModelsEnd \sa `CGAL::Periodic_3_function_wrapper` diff --git a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h index d646476f139..2d4ef680a92 100644 --- a/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h +++ b/Periodic_3_mesh_3/doc/Periodic_3_mesh_3/Concepts/Periodic_3MeshDomain_3.h @@ -20,7 +20,9 @@ The class `CGAL::Labeled_mesh_domain_3` paired with a periodic labeling fun is a model of this concept. It is possible to create artificially periodic functions through the class `CGAL::Periodic_3_function_wrapper`. -\cgalHasModel `CGAL::Labeled_mesh_domain_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Labeled_mesh_domain_3} +\cgalHasModelsEnd \sa `CGAL::Labeled_mesh_domain_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h index d5c6de09876..c13dbfc5ee9 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_Delaunay_triangulation_traits_3.h @@ -16,7 +16,7 @@ will be used if the flag `Traits::Has_static_filters` exists and is `true`. By default, this holds for `CGAL::Exact_predicates_inexact_constructions_kernel` and `CGAL::Exact_predicates_exact_constructions_kernel`. -\cgalModels `Periodic_3DelaunayTriangulationTraits_3` +\cgalModels{Periodic_3DelaunayTriangulationTraits_3} */ template< typename Traits, typename Offset > class Periodic_3_Delaunay_triangulation_traits_3 diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_offset_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_offset_3.h index 87f1a0c5552..da581a53cef 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_offset_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_offset_3.h @@ -7,7 +7,7 @@ namespace CGAL { The class `Periodic_3_offset_3` is a model of the concept `Periodic_3Offset_3`. -\cgalModels `Periodic_3Offset_3` +\cgalModels{Periodic_3Offset_3} */ diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_regular_triangulation_traits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_regular_triangulation_traits_3.h index acfe43f7c32..0802beeee19 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_regular_triangulation_traits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_regular_triangulation_traits_3.h @@ -15,7 +15,7 @@ and is `true`), this class automatically provides filtered predicates. By default, this holds for `CGAL::Exact_predicates_inexact_constructions_kernel` and `CGAL::Exact_predicates_exact_constructions_kernel`. -\cgalModels `Periodic_3RegularTriangulationTraits_3` +\cgalModels{Periodic_3RegularTriangulationTraits_3} */ template< typename Traits, typename Offset > class Periodic_3_regular_triangulation_traits_3 : diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_cell_base_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_cell_base_3.h index efb25f6c201..58e3e90e2e3 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_cell_base_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_cell_base_3.h @@ -9,7 +9,7 @@ the concept `Periodic_3TriangulationDSCellBase_3` to be used by `Triangulation_data_structure_3` to represent cells of a periodic triangulation. -\cgalModels `Periodic_3TriangulationDSCellBase_3` +\cgalModels{Periodic_3TriangulationDSCellBase_3} \sa `CGAL::Periodic_3_triangulation_ds_vertex_base_3` \sa `CGAL::Triangulation_cell_base_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_vertex_base_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_vertex_base_3.h index a712381ffda..92c3fc05704 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_vertex_base_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_ds_vertex_base_3.h @@ -9,7 +9,7 @@ of the concept `Periodic_3TriangulationDSVertexBase_3` to be used by `Triangulation_data_structure_3` to represent vertices of a periodic triangulation. -\cgalModels `Periodic_3TriangulationDSVertexBase_3` +\cgalModels{Periodic_3TriangulationDSVertexBase_3} \sa `CGAL::Periodic_3_triangulation_ds_cell_base_3` \sa `CGAL::Triangulation_vertex_base_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_traits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_traits_3.h index 815940b5911..5c62f819857 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_traits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_traits_3.h @@ -16,7 +16,7 @@ will be used if the flag `Traits::Has_static_filters` exists and is `true`. By default, this holds for `CGAL::Exact_predicates_inexact_constructions_kernel` and `CGAL::Exact_predicates_exact_constructions_kernel`. -\cgalModels `Periodic_3TriangulationTraits_3` +\cgalModels{Periodic_3TriangulationTraits_3} */ template< typename Traits, typename Offset > class Periodic_3_triangulation_traits_3 : public Traits { diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h index 9ca96674cc7..10eab7ef1c8 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3DelaunayTriangulationTraits_3.h @@ -15,7 +15,9 @@ functor the version without offsets. \cgalRefines{Periodic_3TriangulationTraits_3,DelaunayTriangulationTraits_3} -\cgalHasModel `CGAL::Periodic_3_Delaunay_triangulation_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_3_Delaunay_triangulation_traits_3} +\cgalHasModelsEnd In addition to the requirements described by the concepts `Periodic_3TriangulationTraits_3` and `DelaunayTriangulationTraits_3`, diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3Offset_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3Offset_3.h index 1896b2291dc..6de19e6a0d2 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3Offset_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3Offset_3.h @@ -6,7 +6,9 @@ The concept `Periodic_3Offset_3` describes a three-dimensional integer vector with some specialized access functions and operations. -\cgalHasModel `CGAL::Periodic_3_offset_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_3_offset_3} +\cgalHasModelsEnd \sa `Periodic_3TriangulationTraits_3` \sa `Periodic_3DelaunayTriangulationTraits_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h index 803505e302e..1f2c12dbba3 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSCellBase_3.h @@ -5,10 +5,10 @@ \cgalRefines{RegularTriangulationCellBase_3,Periodic_3TriangulationDSCellBase_3} -\cgalHasModel `CGAL::Regular_triangulation_cell_base_3 >` -\cgalHasModel `CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3 >` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_cell_base_3 >} +\cgalHasModels{CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3 >} +\cgalHasModelsEnd The template parameter `Periodic_3RegularTriangulationTraits_3` is expected to be the same as the traits class used in `CGAL::Periodic_3_regular_triangulation_3`. diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h index 762aceede94..a0ecbaa24e4 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationDSVertexBase_3.h @@ -5,8 +5,9 @@ \cgalRefines{RegularTriangulationVertexBase_3,Periodic_3TriangulationDSVertexBase_3} -\cgalHasModel `CGAL::Regular_triangulation_vertex_base_3 >` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_vertex_base_3 >} +\cgalHasModelsEnd The template parameter `Periodic_3RegularTriangulationTraits_3` is expected to be the same as the traits class used in `CGAL::Periodic_3_regular_triangulation_3`. diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h index c84d4e8885c..b190e091be4 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3RegularTriangulationTraits_3.h @@ -15,7 +15,9 @@ functor the version without offsets. \cgalRefines{Periodic_3TriangulationTraits_3,RegularTriangulationTraits_3} -\cgalHasModel `CGAL::Periodic_3_regular_triangulation_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_3_regular_triangulation_traits_3} +\cgalHasModelsEnd In addition to the requirements described for the traits class RegularTriangulationTraits_3, the geometric traits class of a diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h index 048264c8c7b..5ce61b440a8 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSCellBase_3.h @@ -18,7 +18,9 @@ does not contain any information. \cgalRefines{TriangulationDSCellBase_3} -\cgalHasModel `CGAL::Periodic_3_triangulation_ds_cell_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_3_triangulation_ds_cell_base_3} +\cgalHasModelsEnd \sa `TriangulationDataStructure_3` \sa `TriangulationDSCellBase_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h index cc3de413a70..fe9e9872026 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h @@ -12,7 +12,9 @@ a vertex provides access to one of its incident cells through a handle. \cgalRefines{TriangulationDSVertexBase_3} -\cgalHasModel `CGAL::Periodic_3_triangulation_ds_vertex_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_3_triangulation_ds_vertex_base_3} +\cgalHasModelsEnd \sa `TriangulationDataStructure_3` \sa `TriangulationDSVertexBase_3` diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h index f786b27ea94..b25e098a01c 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationTraits_3.h @@ -14,7 +14,9 @@ functor the version without offsets. \cgalRefines{TriangulationTraits_3} -\cgalHasModel `CGAL::Periodic_3_triangulation_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_3_triangulation_traits_3} +\cgalHasModelsEnd \sa `Periodic_3DelaunayTriangulationTraits_3` \sa `Periodic_3RegularTriangulationTraits_3` diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_Delaunay_triangulation_traits_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_Delaunay_triangulation_traits_2.h index 4f15616d8fe..489d75ef26f 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_Delaunay_triangulation_traits_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_Delaunay_triangulation_traits_2.h @@ -10,7 +10,7 @@ namespace CGAL The class `Periodic_4_hyperbolic_Delaunay_triangulation_traits_2` is the default traits class for the class `Periodic_4_hyperbolic_Delaunay_triangulation_2`. -\cgalModels `Periodic_4HyperbolicDelaunayTriangulationTraits_2` +\cgalModels{Periodic_4HyperbolicDelaunayTriangulationTraits_2} \sa `Periodic_4_hyperbolic_Delaunay_triangulation_2` */ diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_face_base_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_face_base_2.h index c21e673c91c..3ddf15a4a75 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_face_base_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_face_base_2.h @@ -21,7 +21,7 @@ concept `Periodic_4HyperbolicTriangulationFaceBase_2`. It accepts two template p data structure of a periodic hyperbolic triangulation, or used as a base class to derive other base vertex classes tuned for specific applications. -\cgalModels `Periodic_4HyperbolicTriangulationFaceBase_2` +\cgalModels{Periodic_4HyperbolicTriangulationFaceBase_2} \sa `Periodic_4_hyperbolic_triangulation_vertex_base_2` */ diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_vertex_base_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_vertex_base_2.h index 9d2804d744f..44ddebfe575 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_vertex_base_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/CGAL/Periodic_4_hyperbolic_triangulation_vertex_base_2.h @@ -21,7 +21,7 @@ concept `Periodic_4HyperbolicTriangulationVertexBase_2`. It accepts two template data structure of a periodic hyperbolic triangulation, or used as a base class to derive other base vertex classes tuned for specific applications. -\cgalModels `Periodic_4HyperbolicTriangulationVertexBase_2` +\cgalModels{Periodic_4HyperbolicTriangulationVertexBase_2} \sa `Periodic_4_hyperbolic_triangulation_face_base_2` */ diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h index 6628fffd89f..17efb2f3505 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicDelaunayTriangulationTraits_2.h @@ -12,7 +12,9 @@ to `Periodic_4HyperbolicTriangulationTraits_2` that needs to be fulfilled by any class used to instantiate the first template parameter of the class `CGAL::Periodic_4_hyperbolic_Delaunay_triangulation_2`. -\cgalHasModel `CGAL::Periodic_4_hyperbolic_Delaunay_triangulation_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_4_hyperbolic_Delaunay_triangulation_traits_2} +\cgalHasModelsEnd */ diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h index 959e3c3a25e..2ebf4a74bbd 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationFaceBase_2.h @@ -20,7 +20,9 @@ corresponding vertex produces the canonical representative of the face in the hy Hyperbolic translations are represented by a nested type which is provided by the concept `Periodic_4HyperbolicDelaunayTriangulationTraits_2`. -\cgalHasModel `CGAL::Periodic_4_hyperbolic_triangulation_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_4_hyperbolic_triangulation_face_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `Periodic_4HyperbolicTriangulationVertexBase_2` diff --git a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h index 3221dc57a11..5b3c5f915eb 100644 --- a/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h +++ b/Periodic_4_hyperbolic_triangulation_2/doc/Periodic_4_hyperbolic_triangulation_2/Concepts/Periodic_4HyperbolicTriangulationVertexBase_2.h @@ -14,7 +14,9 @@ translation during the insertion process. A boolean flag indicates whether the face stores a translation or not. The value of the flag is automatically set when storing or removing a translation. -\cgalHasModel `CGAL::Periodic_4_hyperbolic_triangulation_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Periodic_4_hyperbolic_triangulation_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `Periodic_4HyperbolicTriangulationFaceBase_2` diff --git a/Point_set_3/doc/Point_set_3/PackageDescription.txt b/Point_set_3/doc/Point_set_3/PackageDescription.txt index 271b13b4634..afa3d9882f2 100644 --- a/Point_set_3/doc/Point_set_3/PackageDescription.txt +++ b/Point_set_3/doc/Point_set_3/PackageDescription.txt @@ -1,9 +1,7 @@ /// \defgroup PkgPointSet3Ref 3D Point Set Reference /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_point_set_3.h} */ /// \defgroup PkgDrawPointSet3D Draw a 3D Point Set /// \ingroup PkgPointSet3Ref diff --git a/Point_set_3/include/CGAL/Point_set_3.h b/Point_set_3/include/CGAL/Point_set_3.h index 70cd87aee04..35a7afcad80 100644 --- a/Point_set_3/include/CGAL/Point_set_3.h +++ b/Point_set_3/include/CGAL/Point_set_3.h @@ -114,7 +114,7 @@ namespace internal { \tparam Point Point type \tparam Vector Normal vector type - \cgalModels `Range` + \cgalModels{Range} */ template diff --git a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h index 9c2c5885fec..68c71a27151 100644 --- a/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h +++ b/Poisson_surface_reconstruction_3/include/CGAL/Poisson_reconstruction_function.h @@ -145,7 +145,7 @@ Delaunay triangulation instead of an adaptive octree. \tparam Gt Geometric traits class. -\cgalModels `ImplicitFunction` +\cgalModels{ImplicitFunction} */ template diff --git a/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h b/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h index 97517ca4a3d..c27e8b4a706 100644 --- a/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h +++ b/Polygon/doc/Polygon/Concepts/GeneralPolygonWithHoles_2.h @@ -8,8 +8,10 @@ * represents the outer boundary and the general polygons that represent * the holes. * - * \cgalHasModel `CGAL::General_polygon_with_holes_2` - * \cgalHasModel `CGAL::Polygon_with_holes_2` + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::General_polygon_with_holes_2} + * \cgalHasModels{CGAL::Polygon_with_holes_2} + * \cgalHasModelsEnd */ class GeneralPolygonWithHoles_2 { diff --git a/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h b/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h index 674a57e4374..639ed921bb7 100644 --- a/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h +++ b/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h @@ -14,10 +14,12 @@ and refer to the description of the kernel concept for details. \cgalRefines{DefaultConstructible,CopyConstructable} -\cgalHasModel The kernels supplied by \cgal are models of `PolygonTraits_2`. -\cgalHasModel `CGAL::Projection_traits_xy_3` -\cgalHasModel `CGAL::Projection_traits_yz_3` -\cgalHasModel `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModelsBare{The kernels supplied by \cgal are models of `PolygonTraits_2`} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd \sa `CGAL::Polygon_2` diff --git a/Polygon/doc/Polygon/PackageDescription.txt b/Polygon/doc/Polygon/PackageDescription.txt index 1d48e74493c..49c33a81228 100644 --- a/Polygon/doc/Polygon/PackageDescription.txt +++ b/Polygon/doc/Polygon/PackageDescription.txt @@ -7,17 +7,13 @@ /// \ingroup PkgPolygon2Ref /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_polygon_2.h} */ /// \defgroup PkgDrawPolygon2 Draw a 2D Polygon /// \ingroup PkgPolygon2Ref /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_polygon_with_holes_2.h} */ /// \defgroup PkgDrawPolygonWithHoles2 Draw a 2D Polygon with Holes /// \ingroup PkgPolygon2Ref diff --git a/Polygon/include/CGAL/General_polygon_with_holes_2.h b/Polygon/include/CGAL/General_polygon_with_holes_2.h index ae37e05eba9..42173fc2ad6 100644 --- a/Polygon/include/CGAL/General_polygon_with_holes_2.h +++ b/Polygon/include/CGAL/General_polygon_with_holes_2.h @@ -34,7 +34,7 @@ namespace CGAL { * * \tparam Polygon_ must have input and output operators. * - * \cgalModels `GeneralPolygonWithHoles_2` + * \cgalModels{GeneralPolygonWithHoles_2} */ template class General_polygon_with_holes_2 { diff --git a/Polygon/include/CGAL/Polygon_with_holes_2.h b/Polygon/include/CGAL/Polygon_with_holes_2.h index 3e4eb83c0a9..e41104c943a 100644 --- a/Polygon/include/CGAL/Polygon_with_holes_2.h +++ b/Polygon/include/CGAL/Polygon_with_holes_2.h @@ -33,7 +33,7 @@ types (`Kernel` and `Container`) that are used to instantiate the type `Polygon_2`. The latter is used to represents the outer boundary and the boundary of the holes (if any exist). -\cgalModels `GeneralPolygonWithHoles_2` +\cgalModels{GeneralPolygonWithHoles_2} */ template = 4) @@ -156,7 +157,7 @@ void simplify_range(HalfedgeRange& halfedge_range, bool do_collapse = true; for(halfedge_descriptor he : halfedges_around_target(h, tm)) { - if(he != h && + if(he != prev_oh && // ignore the triangle incident to h that will disappear !is_border(he, tm) && collinear(get(vpm, source(he, tm)), new_p, get(vpm, target(next(he,tm),tm)))) { diff --git a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h index fd007d5915f..03171af70bc 100644 --- a/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h +++ b/Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/remesh_planar_patches.h @@ -1019,10 +1019,11 @@ void propagate_corner_status( template + typename VertexPointMap, + typename TagFunction> bool decimate_meshes_with_common_interfaces_impl(TriangleMeshRange& meshes, MeshMap mesh_map, - double coplanar_cos_threshold, + const TagFunction& tag_function, const std::vector& vpms, bool do_not_triangulate_faces) { @@ -1033,7 +1034,6 @@ bool decimate_meshes_with_common_interfaces_impl(TriangleMeshRange& meshes, typedef typename graph_traits::vertex_descriptor vertex_descriptor; typedef typename graph_traits::edge_descriptor edge_descriptor; typedef typename graph_traits::face_descriptor face_descriptor; - CGAL_assertion(coplanar_cos_threshold<0); typedef typename graph_traits::halfedge_descriptor halfedge_descriptor; // declare and init all property maps @@ -1128,13 +1128,11 @@ bool decimate_meshes_with_common_interfaces_impl(TriangleMeshRange& meshes, put(face_cc_ids_maps[mesh_id], f, -1); if (!mesh_has_non_manifold_vertices[mesh_id]) - nb_corners_and_nb_cc_all[mesh_id] = - tag_corners_and_constrained_edges(tm, - coplanar_cos_threshold, - vertex_corner_id_maps[mesh_id], - edge_is_constrained_maps[mesh_id], - face_cc_ids_maps[mesh_id], - vpms[mesh_id]); + nb_corners_and_nb_cc_all[mesh_id] = tag_function(tm, + vertex_corner_id_maps[mesh_id], + edge_is_constrained_maps[mesh_id], + face_cc_ids_maps[mesh_id], + vpms[mesh_id]); else { nb_corners_and_nb_cc_all[mesh_id]={0,1}; @@ -1274,6 +1272,39 @@ bool decimate_meshes_with_common_interfaces_impl(TriangleMeshRange& meshes, return res; } +template +bool decimate_meshes_with_common_interfaces_impl(TriangleMeshRange& meshes, + MeshMap mesh_map, + double coplanar_cos_threshold, + const std::vector& vpms, + bool do_not_triangulate_faces) +{ + typedef typename boost::property_traits::value_type Triangle_mesh; + auto tag_function = [coplanar_cos_threshold](Triangle_mesh& tm, + typename boost::property_map >::type vertex_corner_id, + typename boost::property_map >::type edge_is_constrained, + typename boost::property_map >::type face_cc_ids, + VertexPointMap vpm) + { + return tag_corners_and_constrained_edges(tm, + coplanar_cos_threshold, + vertex_corner_id, + edge_is_constrained, + face_cc_ids, + vpm); + }; + + return decimate_meshes_with_common_interfaces_impl(meshes, + mesh_map, + tag_function, + vpms, + do_not_triangulate_faces); + +} + } //end of namespace Planar_segmentation diff --git a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_items_3.h b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_items_3.h index 6b8bc334c90..975cf3271c6 100644 --- a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_items_3.h +++ b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_items_3.h @@ -11,7 +11,7 @@ provide the respective types for the point and the plane equation. Vertices and facets both contain a halfedge handle to an incident halfedge. -\cgalModels `PolyhedronItems_3` +\cgalModels{PolyhedronItems_3} \sa `CGAL::Polyhedron_3` \sa `CGAL::Polyhedron_min_items_3` diff --git a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_min_items_3.h b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_min_items_3.h index d568e954d92..37febfd3ac0 100644 --- a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_min_items_3.h +++ b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_min_items_3.h @@ -11,7 +11,7 @@ must provide the respective type for the point. Vertices and facets both do not contain a halfedge handle to an incident halfedge. -\cgalModels `PolyhedronItems_3` +\cgalModels{PolyhedronItems_3} \sa `CGAL::Polyhedron_3` \sa `CGAL::Polyhedron_items_3` diff --git a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_3.h b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_3.h index e1d67569768..f7e7442bdd5 100644 --- a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_3.h +++ b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_3.h @@ -10,7 +10,7 @@ in the polyhedral surface data structure `Polyhedron_3` in terms of the \cgal `Kernel`. It keeps a local copy of the kernel which makes it suitable for kernels with local state. -\cgalModels `PolyhedronTraits_3` +\cgalModels{PolyhedronTraits_3} \sa `CGAL::Polyhedron_traits_with_normals_3` diff --git a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_with_normals_3.h b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_with_normals_3.h index a049527067f..98954d5ca2d 100644 --- a/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_with_normals_3.h +++ b/Polyhedron/doc/Polyhedron/CGAL/Polyhedron_traits_with_normals_3.h @@ -12,7 +12,7 @@ normal vector from `Kernel` for the plane equation in facets. It keeps a local copy of the kernel which makes it suitable for kernels with local state. -\cgalModels `PolyhedronTraits_3` +\cgalModels{PolyhedronTraits_3} \sa `CGAL::Polyhedron_traits_3` diff --git a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h index 2b6150c70a1..f6b86ba2c1c 100644 --- a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h +++ b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronItems_3.h @@ -13,9 +13,11 @@ polyhedral surface renames faces to facets. \cgalRefines{HalfedgeDSItems} -\cgalHasModel `CGAL::Polyhedron_items_3` -\cgalHasModel `CGAL::Polyhedron_min_items_3` -\cgalHasModel `CGAL::Polyhedron_items_with_id_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polyhedron_items_3} +\cgalHasModels{CGAL::Polyhedron_min_items_3} +\cgalHasModels{CGAL::Polyhedron_items_with_id_3} +\cgalHasModelsEnd \sa `CGAL::Polyhedron_3` \sa `HalfedgeDSItems` diff --git a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h index 6849eb7f175..39c4476cf7b 100644 --- a/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h +++ b/Polyhedron/doc/Polyhedron/Concepts/PolyhedronTraits_3.h @@ -10,9 +10,11 @@ and can be used directly as template argument. \cgalRefines{CopyConstructible,Assignable} -\cgalHasModel `CGAL::Polyhedron_traits_3` -\cgalHasModel `CGAL::Polyhedron_traits_with_normals_3` -\cgalHasModel All models of the `Kernel` concept, e.g., `CGAL::Simple_cartesian` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the `Kernel` concept, e.g. `CGAL::Simple_cartesian`} +\cgalHasModels{CGAL::Polyhedron_traits_3} +\cgalHasModels{CGAL::Polyhedron_traits_with_normals_3} +\cgalHasModelsEnd \sa `CGAL::Polyhedron_3` diff --git a/Polyhedron/doc/Polyhedron/PackageDescription.txt b/Polyhedron/doc/Polyhedron/PackageDescription.txt index 827683c7918..780ed734446 100644 --- a/Polyhedron/doc/Polyhedron/PackageDescription.txt +++ b/Polyhedron/doc/Polyhedron/PackageDescription.txt @@ -6,9 +6,7 @@ /// \ingroup PkgPolyhedronRef /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_polyhedron.h} */ /// \defgroup PkgDrawPolyhedron Draw a Polyhedron 3 /// \ingroup PkgPolyhedronRef diff --git a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h index b945f776017..3a015ca93ce 100644 --- a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h +++ b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationCostFunction.h @@ -12,9 +12,11 @@ preserve the overall polyline set shape as much as possible \cgalRefines{CopyConstructible,Assignable} -\cgalHasModel `CGAL::Polyline_simplification_2::Hybrid_squared_distance_cost` -\cgalHasModel `CGAL::Polyline_simplification_2::Scaled_squared_distance_cost` -\cgalHasModel `CGAL::Polyline_simplification_2::Squared_distance_cost` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polyline_simplification_2::Hybrid_squared_distance_cost} +\cgalHasModels{CGAL::Polyline_simplification_2::Scaled_squared_distance_cost} +\cgalHasModels{CGAL::Polyline_simplification_2::Squared_distance_cost} +\cgalHasModelsEnd */ diff --git a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationStopPredicate.h b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationStopPredicate.h index 62e84c66f48..0c2ae58a59f 100644 --- a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationStopPredicate.h +++ b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationStopPredicate.h @@ -5,9 +5,11 @@ Models of this concept are passed to the polyline simplification algorithm to indicate when to stop the process. -\cgalHasModel `CGAL::Polyline_simplification_2::Stop_below_count_ratio_threshold` -\cgalHasModel `CGAL::Polyline_simplification_2::Stop_below_count_threshold` -\cgalHasModel `CGAL::Polyline_simplification_2::Stop_above_cost_threshold` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polyline_simplification_2::Stop_below_count_ratio_threshold} +\cgalHasModels{CGAL::Polyline_simplification_2::Stop_below_count_threshold} +\cgalHasModels{CGAL::Polyline_simplification_2::Stop_above_cost_threshold} +\cgalHasModelsEnd */ class PolylineSimplificationStopPredicate diff --git a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h index c51684ad8d6..19838b07ac7 100644 --- a/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h +++ b/Polyline_simplification_2/doc/Polyline_simplification_2/Concepts/PolylineSimplificationVertexBase_2.h @@ -8,7 +8,9 @@ whether a vertex can be removed, and the cost of the removal. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel `CGAL::Polyline_simplification_2::Vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polyline_simplification_2::Vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationFaceBase_2` \sa `CGAL::Constrained_triangulation_plus_2` diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Hybrid_squared_distance_cost.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Hybrid_squared_distance_cost.h index aa5418d0d43..c854a6c2578 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Hybrid_squared_distance_cost.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Hybrid_squared_distance_cost.h @@ -27,7 +27,7 @@ namespace Polyline_simplification_2 /// This class is a cost function which calculates the cost as the square of the distance between the original and simplified polylines, /// possibly scaled based on a factor. /// -/// \cgalModels `PolylineSimplificationCostFunction`. +/// \cgalModels{PolylineSimplificationCostFunction} template class Hybrid_squared_distance_cost { diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Scaled_squared_distance_cost.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Scaled_squared_distance_cost.h index d26e3f22294..82b5df2e764 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Scaled_squared_distance_cost.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Scaled_squared_distance_cost.h @@ -27,7 +27,7 @@ namespace Polyline_simplification_2 /// This class is a cost function which calculates the cost as a scaled variant of the square of the distance between the original and simplified polylines. /// -/// \cgalModels `PolylineSimplificationCostFunction` +/// \cgalModels{ PolylineSimplificationCostFunction} class Scaled_squared_distance_cost { diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Squared_distance_cost.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Squared_distance_cost.h index 70cfa39a6af..2a77c499cb3 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Squared_distance_cost.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Squared_distance_cost.h @@ -34,7 +34,7 @@ namespace Polyline_simplification_2 /// This class is a cost function which calculates the cost as the square of the distance between the original and simplified polylines. /// -/// \cgalModels `PolylineSimplificationCostFunction`. +/// \cgalModels{PolylineSimplificationCostFunction} class Squared_distance_cost { diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_above_cost_threshold.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_above_cost_threshold.h index e1ab3d7fc01..fd4648fa01d 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_above_cost_threshold.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_above_cost_threshold.h @@ -28,7 +28,7 @@ namespace Polyline_simplification_2 /// This class is a stop predicate returning `true` when the cost for /// simplifying a vertex is greater than a certain threshold. /// -/// \cgalModels `PolylineSimplificationStopPredicate`. +/// \cgalModels{PolylineSimplificationStopPredicate} class Stop_above_cost_threshold { public : diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_ratio_threshold.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_ratio_threshold.h index 2c98b695a20..1a18d7ceddd 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_ratio_threshold.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_ratio_threshold.h @@ -27,7 +27,7 @@ namespace Polyline_simplification_2 /// This class is a stop predicate returning `true` when the percentage /// of remaining vertices is smaller than a certain threshold. /// -/// \cgalModels `PolylineSimplificationStopPredicate`. +/// \cgalModels{PolylineSimplificationStopPredicate} class Stop_below_count_ratio_threshold { public : diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_threshold.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_threshold.h index 63e9ce6cc03..d8987f323e3 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_threshold.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Stop_below_count_threshold.h @@ -27,7 +27,7 @@ namespace Polyline_simplification_2 /// This class is a stop predicate returning `true` when the number of /// vertices is smaller than a certain threshold. /// -/// \cgalModels `PolylineSimplificationStopPredicate`. +/// \cgalModels{PolylineSimplificationStopPredicate} class Stop_below_count_threshold { public : diff --git a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Vertex_base_2.h b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Vertex_base_2.h index d5f2856e239..5b1d5c25463 100644 --- a/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Vertex_base_2.h +++ b/Polyline_simplification_2/include/CGAL/Polyline_simplification_2/Vertex_base_2.h @@ -25,7 +25,7 @@ namespace Polyline_simplification_2 { /// A vertex base class with data members needed by the simplification algorithm. /// \tparam Vb must be a model of the concept `TriangulationVertexBase_2` -/// \cgalModels `PolylineSimplificationVertexBase_2`. +/// \cgalModels{PolylineSimplificationVertexBase_2} template > class Vertex_base_2 : public Vb diff --git a/Polynomial/doc/Polynomial/CGAL/Exponent_vector.h b/Polynomial/doc/Polynomial/CGAL/Exponent_vector.h index 77868373ab9..ff9105c68fb 100644 --- a/Polynomial/doc/Polynomial/CGAL/Exponent_vector.h +++ b/Polynomial/doc/Polynomial/CGAL/Exponent_vector.h @@ -21,12 +21,7 @@ the lexicographic order starts the comparison at the last entry. This reflects the fact that the last entry corresponds to the outermost variable of a multivariate polynomial. -\cgalModels `RandomAccessContainer` -\cgalModels `DefaultConstructible` -\cgalModels `Assignable` -\cgalModels `CopyConstructible` -\cgalModels `EqualityComparable` -\cgalModels `LessThanComparable` +\cgalModels{RandomAccessContainer,DefaultConstructible,Assignable,CopyConstructible,EqualityComparable,LessThanComparable} \sa `Polynomial_d` \sa `PolynomialTraits_d` diff --git a/Polynomial/doc/Polynomial/CGAL/Polynomial.h b/Polynomial/doc/Polynomial/CGAL/Polynomial.h index 15c657b628d..6e8be426862 100644 --- a/Polynomial/doc/Polynomial/CGAL/Polynomial.h +++ b/Polynomial/doc/Polynomial/CGAL/Polynomial.h @@ -53,16 +53,18 @@ the coefficient sequence does not contain leading zero coefficients (where leading means at the high-degree end), with the exception that the zero polynomial is represented by a single zero coefficient. -\cgalModels `Polynomial_d` -\cgalModels `Assignable` -\cgalModels `CopyConstructible` -\cgalModels `DefaultConstructible` -\cgalModels `EqualityComparable` -\cgalModels `ImplicitInteroperable` with int -\cgalModels `ImplicitInteroperable` with Coeff -\cgalModels `Fraction` if Coeff is model of `Fraction` -\cgalModels `LessThanComparable` if Coeff is model of `LessThanComparable` -\cgalModels `Modularizable` if `Coeff` is model of `Modularizable` +\cgalModelsBareBegin +\cgalModelsBare{`Polynomial_d`} +\cgalModelsBare{`Assignable`} +\cgalModelsBare{`CopyConstructible`} +\cgalModelsBare{`DefaultConstructible`} +\cgalModelsBare{`EqualityComparable`} +\cgalModelsBare{`ImplicitInteroperable` with `int`} +\cgalModelsBare{`ImplicitInteroperable` with `Coeff`} +\cgalModelsBare{`Fraction` if `Coeff` is model of `Fraction`} +\cgalModelsBare{`LessThanComparable` if `Coeff` is model of `LessThanComparable`} +\cgalModelsBare{`Modularizable` if `Coeff` is model of `Modularizable`} +\cgalModelsBareEnd */ template< typename Coeff > class Polynomial { diff --git a/Polynomial/doc/Polynomial/CGAL/Polynomial_traits_d.h b/Polynomial/doc/Polynomial/CGAL/Polynomial_traits_d.h index 08bd67675a0..1ca6805a816 100644 --- a/Polynomial/doc/Polynomial/CGAL/Polynomial_traits_d.h +++ b/Polynomial/doc/Polynomial/CGAL/Polynomial_traits_d.h @@ -6,7 +6,7 @@ namespace CGAL { A model of concept `PolynomialTraits_d` -\cgalModels `PolynomialTraits_d` +\cgalModels{PolynomialTraits_d} */ template< typename Polynomial_d > diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h index 3f778a6fc9e..1369e95f518 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--IsZeroAt.h @@ -4,7 +4,7 @@ \cgalConcept This `AdaptableFunctor` returns whether a -`PolynomialTraits_d::Polynomial_d` \f$ p\f$ is zero at a given Cartesian point, +`PolynomialTraits_d::Polynomial_d` \f$ p\f$ is zero at a given %Cartesian point, which is represented as an iterator range. \cgalRefines{AdaptableFunctor,CopyConstructible,DefaultConstructible} @@ -32,7 +32,7 @@ typedef bool result_type; /*! -Computes whether \f$ p\f$ is zero at the Cartesian point given by the iterator range, +Computes whether \f$ p\f$ is zero at the %Cartesian point given by the iterator range, where `begin` is referring to the innermost variable. \pre (end-begin == `PolynomialTraits_d::d`) @@ -47,4 +47,3 @@ InputIterator end ); /// @} }; /* end PolynomialTraits_d::IsZeroAt */ - diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h index 89dc6556dad..d1645dd00e2 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SignAt.h @@ -4,7 +4,7 @@ \cgalConcept This `AdaptableFunctor` returns the sign of a -`PolynomialTraits_d::Polynomial_d` \f$ p\f$ at given Cartesian point represented +`PolynomialTraits_d::Polynomial_d` \f$ p\f$ at given %Cartesian point represented as an iterator range. This functor is well defined if `PolynomialTraits_d::Innermost_coefficient_type` is @@ -35,7 +35,7 @@ typedef CGAL::Sign result_type; /*! -Returns the sign of \f$ p\f$ at the given Cartesian point, where `begin` is referring +Returns the sign of \f$ p\f$ at the given %Cartesian point, where `begin` is referring to the innermost variable. \pre (`end-begin` == `PolynomialTraits_d::d`) \pre `std::iterator_traits< InputIterator >::%value_type` is `ExplicitInteroperable` with `PolynomialTraits_d::Innermost_coefficient_type`. @@ -49,4 +49,3 @@ InputIterator end ); /// @} }; /* end PolynomialTraits_d::SignAt */ - diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h index d5552d6b328..d7d961ac56d 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h @@ -31,7 +31,9 @@ is possible to select a certain variable. \sa `Polynomial_d` -\cgalHasModel `CGAL::Polynomial_traits_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polynomial_traits_d} +\cgalHasModelsEnd */ diff --git a/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h b/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h index ed86c99c683..e58552f582f 100644 --- a/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h +++ b/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h @@ -32,7 +32,9 @@ coefficient is a `Field` the polynomial is model of `EuclideanRing`. \sa `AlgebraicStructureTraits` \sa `PolynomialTraits_d` -\cgalHasModel `CGAL::Polynomial` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polynomial} +\cgalHasModelsEnd */ diff --git a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_2.h b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_2.h index cd0d661178b..b5e189e51ce 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_2.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_2.h @@ -12,7 +12,7 @@ optimisation algorithms using the two-dimensional \cgal kernel. \tparam ET NT must be models for `RingNumberType`. Their default is `K::RT`. -\cgalModels `PolytopeDistanceDTraits` +\cgalModels{PolytopeDistanceDTraits} \sa `CGAL::Polytope_distance_d` \sa `CGAL::Polytope_distance_d_traits_3` diff --git a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_3.h b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_3.h index ab873c594a5..207b4a8bd7b 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_3.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_3.h @@ -13,7 +13,7 @@ optimisation algorithms using the three-dimensional \cgal kernel. \tparam ET NT must be models for `RingNumberType`. Their default is `K::RT`. -\cgalModels `PolytopeDistanceDTraits` +\cgalModels{PolytopeDistanceDTraits} \sa `CGAL::Polytope_distance_d` \sa `CGAL::Polytope_distance_d_traits_2` diff --git a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_d.h b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_d.h index 536d2e43b33..37ad80ae56b 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_d.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Polytope_distance_d_traits_d.h @@ -13,7 +13,7 @@ optimisation algorithms using the \f$ d\f$-dimensional \cgal kernel. \tparam ET NT must be models for `RingNumberType`. Their default is `K::RT`. -\cgalModels `PolytopeDistanceDTraits` +\cgalModels{PolytopeDistanceDTraits} \sa `CGAL::Polytope_distance_d` \sa `CGAL::Polytope_distance_d_traits_2` diff --git a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Width_default_traits_3.h b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Width_default_traits_3.h index 508bad703bb..7fa7e77385c 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Width_default_traits_3.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/CGAL/Width_default_traits_3.h @@ -9,7 +9,7 @@ using the three-dimensional \cgal kernel. \tparam K must be a model for `Kernel`. -\cgalModels `WidthTraits_3` +\cgalModels{WidthTraits_3} \sa `CGAL::Width_3` \sa `WidthTraits_3` diff --git a/Polytope_distance_d/doc/Polytope_distance_d/Concepts/AllFurthestNeighborsTraits_2.h b/Polytope_distance_d/doc/Polytope_distance_d/Concepts/AllFurthestNeighborsTraits_2.h index a792e16ee38..874782161e7 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/Concepts/AllFurthestNeighborsTraits_2.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/Concepts/AllFurthestNeighborsTraits_2.h @@ -7,10 +7,12 @@ The concept `AllFurthestNeighborsTraits_2` defines types and operations needed to compute all furthest neighbors for the vertices of a convex polygon using the function `all_furthest_neighbors_2()`. -\cgalHasModel `CGAL::Cartesian` -\cgalHasModel `CGAL::Homogeneous` -\cgalHasModel `CGAL::Simple_cartesian` -\cgalHasModel `CGAL::Simple_homogeneous` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian} +\cgalHasModels{CGAL::Homogeneous} +\cgalHasModels{CGAL::Simple_cartesian} +\cgalHasModels{CGAL::Simple_homogeneous} +\cgalHasModelsEnd \sa `CGAL::all_furthest_neighbors_2()` diff --git a/Polytope_distance_d/doc/Polytope_distance_d/Concepts/PolytopeDistanceDTraits.h b/Polytope_distance_d/doc/Polytope_distance_d/Concepts/PolytopeDistanceDTraits.h index cfece60d3a4..32004e174ba 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/Concepts/PolytopeDistanceDTraits.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/Concepts/PolytopeDistanceDTraits.h @@ -6,9 +6,11 @@ This concept defines the requirements for traits classes of \f$ d\f$-dimensional optimisation algorithms. -\cgalHasModel `CGAL::Polytope_distance_d_traits_2` -\cgalHasModel `CGAL::Polytope_distance_d_traits_3` -\cgalHasModel `CGAL::Polytope_distance_d_traits_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polytope_distance_d_traits_2} +\cgalHasModels{CGAL::Polytope_distance_d_traits_3} +\cgalHasModels{CGAL::Polytope_distance_d_traits_d} +\cgalHasModelsEnd \sa `CGAL::Polytope_distance_d` diff --git a/Polytope_distance_d/doc/Polytope_distance_d/Concepts/WidthTraits_3.h b/Polytope_distance_d/doc/Polytope_distance_d/Concepts/WidthTraits_3.h index 6f882dd1280..5686aec87e1 100644 --- a/Polytope_distance_d/doc/Polytope_distance_d/Concepts/WidthTraits_3.h +++ b/Polytope_distance_d/doc/Polytope_distance_d/Concepts/WidthTraits_3.h @@ -12,7 +12,9 @@ Whatever the coordinates of the points are, it is required for the width-algorithm to have access to the homogeneous representation of points. -\cgalHasModel CGAL::Width_default_traits_3 +\cgalHasModelsBegin +\cgalHasModels{CGAL::Width_default_traits_3} +\cgalHasModelsEnd \sa `CGAL::Width_3` diff --git a/Property_map/include/CGAL/property_map.h b/Property_map/include/CGAL/property_map.h index 12fd06503fe..735c1f5da49 100644 --- a/Property_map/include/CGAL/property_map.h +++ b/Property_map/include/CGAL/property_map.h @@ -102,7 +102,7 @@ make_OR_property_map(const PM1& pm1, const PM2& pm2) /// Property map that accesses a value from an iterator /// -/// \cgalModels `ReadablePropertyMap` +/// \cgalModels{ReadablePropertyMap} /// /// \tparam InputIterator an input iterator /// \endcond @@ -287,7 +287,7 @@ make_compose_property_map(const KeyMap& km, const ValueMap& vm) /// Property map that converts a `T*` pointer (or in general an iterator /// over `T` elements) to the `T` object. /// -/// \cgalModels `LvaluePropertyMap` +/// \cgalModels{LvaluePropertyMap} template struct Dereference_property_map : public boost::put_get_helper::reference, Dereference_property_map > @@ -319,7 +319,7 @@ make_dereference_property_map(Iter) /// A `LvaluePropertyMap` property map mapping a key to itself (by reference). /// It is mutable if `T` is not `const` and non-mutable otherwise. /// -/// \cgalModels `LvaluePropertyMap` +/// \cgalModels{LvaluePropertyMap} template struct Identity_property_map { @@ -385,7 +385,7 @@ Identity_property_map /// \ingroup PkgPropertyMapRef /// Property map that accesses the first item of a `std::pair`. /// \tparam Pair Instance of `std::pair`. -/// \cgalModels `LvaluePropertyMap` +/// \cgalModels{LvaluePropertyMap} /// /// \sa `CGAL::Second_of_pair_property_map` template @@ -425,7 +425,7 @@ First_of_pair_property_map /// /// \tparam Pair Instance of `std::pair`. /// -/// \cgalModels `LvaluePropertyMap` +/// \cgalModels{LvaluePropertyMap} /// /// \sa `CGAL::First_of_pair_property_map` template @@ -466,7 +466,7 @@ Second_of_pair_property_map /// \tparam N %Index of the item to access. /// \tparam Tuple Instance of `boost::tuple` or `std::tuple`. /// -/// \cgalModels `LvaluePropertyMap` +/// \cgalModels{LvaluePropertyMap} template struct Nth_of_tuple_property_map { @@ -611,7 +611,7 @@ make_property_map(const std::vector& v) /// Note that this value is chosen when the map is constructed and cannot /// be changed afterwards. Specifically, the free function `put()` does nothing. /// -/// \cgalModels `ReadWritePropertyMap` +/// \cgalModels{ReadWritePropertyMap} template struct Constant_property_map { @@ -640,7 +640,7 @@ struct Constant_property_map /// return `true` if the key is inside the set and `false` otherwise. The `put` /// function will insert an element in the set if `true` is passed and erase it /// otherwise. -/// \cgalModels `ReadWritePropertyMap` +/// \cgalModels{ReadWritePropertyMap} template struct Boolean_property_map { @@ -688,7 +688,7 @@ make_boolean_property_map(Set& set_) /// a geometric object of the same type as `GeomObject` but possibly from /// another kernel. /// Conversions between the two geometric objects are done using `Cartesian_converter`. -/// \cgalModels `ReadWritePropertyMap` +/// \cgalModels{ReadWritePropertyMap} template struct Cartesian_converter_property_map { @@ -726,7 +726,7 @@ make_cartesian_converter_property_map(Vpm vpm) /// \ingroup PkgPropertyMapRef /// A property map with `std::size_t` as key-type that can be used /// to access the i'th element in a container with random access. -/// \cgalModels `LvaluePropertyMap`, constness being than of `Container`. +/// \cgalModels{LvaluePropertyMap constness being than of `Container`.} template class Random_access_property_map { diff --git a/QP_solver/doc/QP_solver/CGAL/QP_models.h b/QP_solver/doc/QP_solver/CGAL/QP_models.h index 892d0027947..bfb7416a602 100644 --- a/QP_solver/doc/QP_solver/CGAL/QP_models.h +++ b/QP_solver/doc/QP_solver/CGAL/QP_models.h @@ -42,8 +42,7 @@ namespace CGAL { some container; an instance of the class `Const_oneset_iterator`, constructed from the value in question, does the job more efficiently. - \cgalModels `QuadraticProgram` - \cgalModels `LinearProgram` + \cgalModels{QuadraticProgram,LinearProgram} \cgalHeading{Example} @@ -296,10 +295,7 @@ make_quadratic_program_from_iterators ( some container; an instance of the class `Const_oneset_iterator`, constructed from the value in question, does the job more efficiently. - \cgalModels `QuadraticProgram` - \cgalModels `LinearProgram` - \cgalModels `NonnegativeQuadraticProgram` - \cgalModels `NonnegativeLinearProgram` + \cgalModels{QuadraticProgram,LinearProgram,NonnegativeQuadraticProgram,NonnegativeLinearProgram} \cgalHeading{Example} @@ -378,8 +374,7 @@ public: some container; an instance of the class `Const_oneset_iterator`, constructed from the value in question, does the job more efficiently. - \cgalModels `QuadraticProgram` - \cgalModels `NonnegativeQuadraticProgram` + \cgalModels{QuadraticProgram,NonnegativeQuadraticProgram} \cgalHeading{Example} @@ -467,7 +462,7 @@ public: some container; an instance of the class `Const_oneset_iterator`, constructed from the value in question, does the job more efficiently. - \cgalModels `QuadraticProgram` + \cgalModels{QuadraticProgram} \cgalHeading{Example} @@ -560,10 +555,7 @@ public: into type `NT`. The constructed program can be further manipulated by using the set-methods below. - \cgalModels `QuadraticProgram` - \cgalModels `LinearProgram` - \cgalModels `NonnegativeQuadraticProgram` - \cgalModels `NonnegativeLinearProgram` + \cgalModels{QuadraticProgram,LinearProgram,NonnegativeQuadraticProgram,NonnegativeLinearProgram} \cgalHeading{Example} @@ -771,10 +763,7 @@ namespace CGAL { If you want to read a quadratic program in `MPSFormat` from a stream, please use the model `Quadratic_program_from_mps`. - \cgalModels `QuadraticProgram` - \cgalModels `LinearProgram` - \cgalModels `NonnegativeQuadraticProgram` - \cgalModels `NonnegativeLinearProgram` + \cgalModels{QuadraticProgram,LinearProgram,NonnegativeQuadraticProgram,NonnegativeLinearProgram} \cgalHeading{Example} diff --git a/QP_solver/doc/QP_solver/Concepts/LinearProgram.h b/QP_solver/doc/QP_solver/Concepts/LinearProgram.h index 6cc3639cff5..ce598886ee9 100644 --- a/QP_solver/doc/QP_solver/Concepts/LinearProgram.h +++ b/QP_solver/doc/QP_solver/Concepts/LinearProgram.h @@ -35,9 +35,11 @@ The description is given by appropriate random-access iterators over the program data, see below. The program therefore comes in dense representation which includes zero entries. -\cgalHasModel `CGAL::Quadratic_program` -\cgalHasModel `CGAL::Quadratic_program_from_mps` -\cgalHasModel `CGAL::Linear_program_from_iterators` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Quadratic_program} +\cgalHasModels{CGAL::Quadratic_program_from_mps} +\cgalHasModels{CGAL::Linear_program_from_iterators} +\cgalHasModelsEnd and the other concepts diff --git a/QP_solver/doc/QP_solver/Concepts/NonnegativeLinearProgram.h b/QP_solver/doc/QP_solver/Concepts/NonnegativeLinearProgram.h index e3a75a9aaf7..b9304ca0737 100644 --- a/QP_solver/doc/QP_solver/Concepts/NonnegativeLinearProgram.h +++ b/QP_solver/doc/QP_solver/Concepts/NonnegativeLinearProgram.h @@ -29,17 +29,21 @@ The description is given by appropriate random-access iterators over the program data, see below. The program therefore comes in dense representation which includes zero entries. -\cgalHasModel `CGAL::Quadratic_program` -\cgalHasModel `CGAL::Quadratic_program_from_mps` -\cgalHasModel `CGAL::Nonnegative_linear_program_from_iterators` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Quadratic_program} +\cgalHasModels{CGAL::Quadratic_program_from_mps} +\cgalHasModels{CGAL::Nonnegative_linear_program_from_iterators} +\cgalHasModelsEnd The value types of all iterator types (nested iterator types, respectively, for `A_iterator`) must be convertible to some common `IntegralDomain` `ET`. -\cgalHasModel `CGAL::Quadratic_program` -\cgalHasModel `CGAL::Quadratic_program_from_mps` -\cgalHasModel `CGAL::Nonnegative_linear_program_from_iterators` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Quadratic_program} +\cgalHasModels{CGAL::Quadratic_program_from_mps} +\cgalHasModels{CGAL::Nonnegative_linear_program_from_iterators} +\cgalHasModelsEnd \sa `QuadraticProgram` \sa `LinearProgram` diff --git a/QP_solver/doc/QP_solver/Concepts/NonnegativeQuadraticProgram.h b/QP_solver/doc/QP_solver/Concepts/NonnegativeQuadraticProgram.h index 585eb911b0a..07709e9da11 100644 --- a/QP_solver/doc/QP_solver/Concepts/NonnegativeQuadraticProgram.h +++ b/QP_solver/doc/QP_solver/Concepts/NonnegativeQuadraticProgram.h @@ -33,9 +33,11 @@ The description is given by appropriate random-access iterators over the program data, see below. The program therefore comes in dense representation which includes zero entries. -\cgalHasModel `CGAL::Quadratic_program` -\cgalHasModel `CGAL::Quadratic_program_from_mps` -\cgalHasModel `CGAL::Nonnegative_quadratic_program_from_iterators` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Quadratic_program} +\cgalHasModels{CGAL::Quadratic_program_from_mps} +\cgalHasModels{CGAL::Nonnegative_quadratic_program_from_iterators} +\cgalHasModelsEnd The value types of all iterator types (nested iterator types, respectively, for `A_iterator` and `D_iterator`) must be diff --git a/QP_solver/doc/QP_solver/Concepts/QuadraticProgram.h b/QP_solver/doc/QP_solver/Concepts/QuadraticProgram.h index 6070e27ceb9..f5948e20519 100644 --- a/QP_solver/doc/QP_solver/Concepts/QuadraticProgram.h +++ b/QP_solver/doc/QP_solver/Concepts/QuadraticProgram.h @@ -34,9 +34,11 @@ The description is given by appropriate random-access iterators over the program data, see below. The program therefore comes in dense representation which includes zero entries. -\cgalHasModel `CGAL::Quadratic_program` -\cgalHasModel `CGAL::Quadratic_program_from_mps` -\cgalHasModel `CGAL::Quadratic_program_from_iterators` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Quadratic_program} +\cgalHasModels{CGAL::Quadratic_program_from_mps} +\cgalHasModels{CGAL::Quadratic_program_from_iterators} +\cgalHasModelsEnd The value types of all iterator types (nested iterator types, respectively, for `A_iterator` and `D_iterator`) must be diff --git a/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h b/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h index d76e8032e54..f436119cf12 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/MeshComplexWithFeatures_3InTriangulation_3.h @@ -48,7 +48,9 @@ of the input complex. \cgalRefines{MeshComplex_3InTriangulation_3} -\cgalHasModel `CGAL::Mesh_complex_3_in_triangulation_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_complex_3_in_triangulation_3} +\cgalHasModelsEnd \sa `MeshComplex_3InTriangulation_3` \sa `MeshDomainWithFeatures_3` diff --git a/SMDS_3/doc/SMDS_3/Concepts/MeshComplex_3InTriangulation_3.h b/SMDS_3/doc/SMDS_3/Concepts/MeshComplex_3InTriangulation_3.h index c3b1696a58d..35a40e898e3 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/MeshComplex_3InTriangulation_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/MeshComplex_3InTriangulation_3.h @@ -42,7 +42,9 @@ the current approximation of each subdomain and each boundary surface patch. The data structure encodes the final mesh at the end of the meshing process. -\cgalHasModel `CGAL::Mesh_complex_3_in_triangulation_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_complex_3_in_triangulation_3} +\cgalHasModelsEnd \sa `MeshDomain_3` \sa `MeshComplexWithFeatures_3InTriangulation_3` diff --git a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h index ff424c1281d..3ae475cbba7 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshCellBase_3.h @@ -4,24 +4,24 @@ The concept `SimplicialMeshCellBase_3` describes the requirements for the `TriangulationDataStructure_3::Cell` type of the triangulation -used in the 3D simplicial mesh data structure. The type `SimplicialMeshCellBase_3` -refines the concept `TriangulationCellBase_3` -and must be copy constructible. -The concept `SimplicialMeshCellBase_3` -includes a way to store and retrieve -if a given cell of the triangulation is inside a subdomain or not, -and which subdomain it belongs to -in case of a multi-domain. +used in a 3D simplicial mesh data structure. + +The type `SimplicialMeshCellBase_3` refines the concept `TriangulationCellBase_3` +and must be copy constructible. The concept `SimplicialMeshCellBase_3` includes a way to store and +retrieve if a given cell of the triangulation is inside a subdomain or not, and which subdomain it +belongs to in case of a multi-domain. Moreover, this concept adds four markers per cell to mark the facets of the triangulation that are surface facets. \cgalRefines{TriangulationCellBase_3,CopyConstructible} -\cgalHasModel `CGAL::Compact_mesh_cell_base_3` -\cgalHasModel `CGAL::Mesh_cell_base_3` -\cgalHasModel `CGAL::Simplicial_mesh_cell_base_3` -\cgalHasModel `CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Compact_mesh_cell_base_3} +\cgalHasModels{CGAL::Mesh_cell_base_3} +\cgalHasModels{CGAL::Simplicial_mesh_cell_base_3} +\cgalHasModels{CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3} +\cgalHasModelsEnd */ diff --git a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h index ad034bbb982..3ff3421ef9c 100644 --- a/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h +++ b/SMDS_3/doc/SMDS_3/Concepts/SimplicialMeshVertexBase_3.h @@ -4,7 +4,7 @@ The concept `SimplicialMeshVertexBase_3` describes the requirements for the `Vertex` type of the triangulation -used in the 3D simplicial mesh data structure. The type `SimplicialMeshVertexBase_3` +used in a 3D simplicial mesh data structure. The type `SimplicialMeshVertexBase_3` refines the concept `TriangulationVertexBase_3`. It provides additional members to store and retrieve information about the location of the vertex with respect @@ -16,9 +16,11 @@ and to an index characteristic of this face. \cgalRefines{TriangulationVertexBase_3} -\cgalHasModel `CGAL::Mesh_vertex_base_3` -\cgalHasModel `CGAL::Simplicial_mesh_vertex_base_3` -\cgalHasModel `CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mesh_vertex_base_3} +\cgalHasModels{CGAL::Simplicial_mesh_vertex_base_3} +\cgalHasModels{CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3} +\cgalHasModelsEnd */ diff --git a/SMDS_3/examples/SMDS_3/c3t3_example.cpp b/SMDS_3/examples/SMDS_3/c3t3_example.cpp index 14501c395c1..5ebb5cc3e35 100644 --- a/SMDS_3/examples/SMDS_3/c3t3_example.cpp +++ b/SMDS_3/examples/SMDS_3/c3t3_example.cpp @@ -21,7 +21,7 @@ using Surface_patch_index = unsigned char; using Curve_index = char; using Corner_index = short; -using Cb = CGAL::Simplicial_mesh_cell_base_3; +using Cb = CGAL::Simplicial_mesh_cell_base_3; using Vb = CGAL::Simplicial_mesh_vertex_base_3; diff --git a/SMDS_3/include/CGAL/Compact_simplicial_mesh_cell_base_3.h b/SMDS_3/include/CGAL/Compact_simplicial_mesh_cell_base_3.h new file mode 100644 index 00000000000..92272897094 --- /dev/null +++ b/SMDS_3/include/CGAL/Compact_simplicial_mesh_cell_base_3.h @@ -0,0 +1,391 @@ +// Copyright (c) 2006-2007 INRIA Sophia-Antipolis (France). +// Copyright (c) 2008,2011 GeometryFactory Sarl (France) +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org). +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial +// +// Author(s) : Laurent Rineau, Stephane Tayeb, Andreas Fabri, Jane Tournois + +#ifndef CGAL_COMPACT_SIMPLICIAL_MESH_CELL_BASE_3_H +#define CGAL_COMPACT_SIMPLICIAL_MESH_CELL_BASE_3_H + +#include + +#include +#include +#include +#include +#include +#include + +#include + +namespace CGAL { + +// Adds information to Cb about the cell of the input complex containing it +template +class Compact_simplicial_mesh_cell_3 +{ +public: + using Triangulation_data_structure = TDS; + + using Vertex_handle = typename TDS::Vertex_handle; + using Cell_handle = typename TDS::Cell_handle; + using Vertex = typename TDS::Vertex; + using Cell = typename TDS::Cell; + using TDS_data = typename TDS::Cell_data; + + // Index Type + using Subdomain_index = Subdomain_index_; + using Surface_patch_index = Surface_patch_index_; + +public: + // Constructors + Compact_simplicial_mesh_cell_3() + : time_stamp_(std::size_t(-1)) + {} + + Compact_simplicial_mesh_cell_3(const Compact_simplicial_mesh_cell_3& rhs) + : N(rhs.N) + , V(rhs.V) + , time_stamp_(rhs.time_stamp_) + , subdomain_index_(rhs.subdomain_index_) + { + for(int i=0; i <4; i++){ + surface_index_table_[i] = rhs.surface_index_table_[i]; + } + } + + Compact_simplicial_mesh_cell_3(Vertex_handle v0, + Vertex_handle v1, + Vertex_handle v2, + Vertex_handle v3) + : V(CGAL::make_array(v0, v1, v2, v3)) + { + } + + Compact_simplicial_mesh_cell_3(Vertex_handle v0, + Vertex_handle v1, + Vertex_handle v2, + Vertex_handle v3, + Cell_handle n0, + Cell_handle n1, + Cell_handle n2, + Cell_handle n3) + : N(CGAL::make_array(n0, n1, n2, n3)) + , V(CGAL::make_array(v0, v1, v2, v3)) + { + } + + // ACCESS FUNCTIONS + Vertex_handle vertex(int i) const + { + CGAL_precondition( i >= 0 && i <= 3 ); + return V[i]; + } + + bool has_vertex(Vertex_handle v) const + { + return (V[0] == v) || (V[1] == v) || (V[2]== v) || (V[3]== v); + } + + bool has_vertex(Vertex_handle v, int & i) const + { + if (v == V[0]) { i = 0; return true; } + if (v == V[1]) { i = 1; return true; } + if (v == V[2]) { i = 2; return true; } + if (v == V[3]) { i = 3; return true; } + return false; + } + + int index(Vertex_handle v) const + { + if (v == V[0]) { return 0; } + if (v == V[1]) { return 1; } + if (v == V[2]) { return 2; } + CGAL_assertion( v == V[3] ); + return 3; + } + + Cell_handle neighbor(int i) const + { + CGAL_precondition( i >= 0 && i <= 3); + return N[i]; + } + + bool has_neighbor(Cell_handle n) const + { + return (N[0] == n) || (N[1] == n) || (N[2] == n) || (N[3] == n); + } + + bool has_neighbor(Cell_handle n, int & i) const + { + if(n == N[0]){ i = 0; return true; } + if(n == N[1]){ i = 1; return true; } + if(n == N[2]){ i = 2; return true; } + if(n == N[3]){ i = 3; return true; } + return false; + } + + int index(Cell_handle n) const + { + if (n == N[0]) return 0; + if (n == N[1]) return 1; + if (n == N[2]) return 2; + CGAL_assertion( n == N[3] ); + return 3; + } + + // SETTING + void set_neighbor(int i, Cell_handle n) + { + CGAL_precondition( i >= 0 && i <= 3); + CGAL_precondition( this != n.operator->() ); + N[i] = n; + } + + void set_neighbors() + { + N[0] = N[1] = N[2] = N[3] = Cell_handle(); + } + + void set_neighbors(Cell_handle n0, Cell_handle n1, + Cell_handle n2, Cell_handle n3) + { + CGAL_precondition( this != n0.operator->() ); + CGAL_precondition( this != n1.operator->() ); + CGAL_precondition( this != n2.operator->() ); + CGAL_precondition( this != n3.operator->() ); + N[0] = n0; + N[1] = n1; + N[2] = n2; + N[3] = n3; + } + + // CHECKING + + // the following trivial is_valid allows + // the user of derived cell base classes + // to add their own purpose checking + bool is_valid(bool = false, int = 0) const + { return true; } + + // For use by Compact_container. + void * for_compact_container() const { return N[0].for_compact_container(); } + void for_compact_container(void *p) { N[0].for_compact_container(p); } + + // TDS internal data access functions. + TDS_data& tds_data() { return _tds_data; } + const TDS_data& tds_data() const { return _tds_data; } + + // We must override the functions that modify the vertices. + // And if the point inside a vertex is modified, we fail, + // but there's not much we can do for this now. + void set_vertex(int i, Vertex_handle v) + { + CGAL_precondition( i >= 0 && i <= 3); + V[i] = v; + } + + void set_vertices() + { + V[0] = V[1] = V[2] = V[3] = Vertex_handle(); + } + + void set_vertices(Vertex_handle v0, Vertex_handle v1, + Vertex_handle v2, Vertex_handle v3) + { + V[0] = v0; + V[1] = v1; + V[2] = v2; + V[3] = v3; + } + + // Returns the index of the cell of the input complex that contains the cell + Subdomain_index subdomain_index() const { return subdomain_index_; } + + // Sets the index of the cell of the input complex that contains the cell + void set_subdomain_index(const Subdomain_index& index) + { subdomain_index_ = index; } + + /// Set surface index of \c facet to \c index + void set_surface_patch_index(const int facet, const Surface_patch_index& index) + { + CGAL_precondition(facet>=0 && facet<4); + surface_index_table_[facet] = index; + } + + /// Returns surface index of facet \c facet + Surface_patch_index surface_patch_index(const int facet) const + { + CGAL_precondition(facet>=0 && facet<4); + return surface_index_table_[facet]; + } + + /// Returns true if facet lies on a surface patch + bool is_facet_on_surface(const int facet) const + { + CGAL_precondition(facet>=0 && facet<4); + return ( !( Surface_patch_index() == surface_index_table_[facet] )); + } + + // ----------------------------------- + // Backward Compatibility + // ----------------------------------- +#ifndef CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX + typedef Surface_patch_index Surface_index; + + void set_surface_index(const int facet, const Surface_index& index) + { set_surface_patch_index(facet,index); } + + /// Returns surface index of facet \c facet + Surface_index surface_index(const int facet) const + { return surface_patch_index(facet); } +#endif // CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX + // ----------------------------------- + // End backward Compatibility + // ----------------------------------- + + static + std::string io_signature() + { + return + Get_io_signature()() + + "+(" + Get_io_signature()() + ")[4]"; + } + + /// For the determinism of Compact_container iterators + ///@{ + typedef Tag_true Has_timestamp; + + std::size_t time_stamp() const { + return time_stamp_; + } + void set_time_stamp(const std::size_t& ts) { + time_stamp_ = ts; + } + ///@} + +private: + /// Stores surface_index for each facet of the cell + std::array surface_index_table_ = {}; + + std::array N; + std::array V; + + std::size_t time_stamp_; + + // The index of the cell of the input complex that contains me + Subdomain_index subdomain_index_ = {}; + + TDS_data _tds_data; + +public: + friend std::istream& operator>>(std::istream &is, Compact_simplicial_mesh_cell_3 &c) + { + Subdomain_index index; + if(IO::is_ascii(is)) + is >> index; + else + read(is, index); + + if(is) + { + c.set_subdomain_index(index); + for(int i = 0; i < 4; ++i) + { + Surface_patch_index i2; + if(IO::is_ascii(is)) + is >> IO::iformat(i2); + else + read(is, i2); + + c.set_surface_patch_index(i, i2); + } + } + + return is; + } + + friend + std::ostream& operator<<(std::ostream &os, const Compact_simplicial_mesh_cell_3&c) + { + if(IO::is_ascii(os)) + os << c.subdomain_index(); + else + write(os, c.subdomain_index()); + + for(int i = 0; i < 4; ++i) + { + if(IO::is_ascii(os)) + os << ' ' << IO::oformat(c.surface_patch_index(i)); + else + write(os, c.surface_patch_index(i)); + } + + return os; + } +}; + +/*! +\ingroup PkgSMDS3Classes + +The class `Compact_simplicial_mesh_cell_base_3` +is a model of the concept `SimplicialMeshCellBase_3`. +It is designed to serve as cell base class for.3D simplicial mesh data structures. +It stores and gives access to data about the complex the cell belongs to, such as the +subdomain it belongs to or surface it takes part to. +It is more compact in memory than `CGAL::Simplicial_mesh_cell_base_3`. + +\tparam SubdomainIndex Type of indices for subdomains of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` +and `EqualityComparable`. The default constructed value must match the label +of the exterior of the domain (which contains at least the unbounded component). +It must match `MeshDomain_3::Subdomain_index` when used for mesh generation. + +\tparam SurfacePatchIndex Type of indices for surface patches (boundaries and interfaces) +of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` +and `EqualityComparable`. The default constructed value must be the index value +assigned to a non surface facet. +It must match `MeshDomain_3::Surface_patch_index` when used for mesh generation. + +\cgalModels{SimplicialMeshCellBase_3} + +\sa `CGAL::Mesh_complex_3_in_triangulation_3` +\sa \link Mesh_cell_base_3 `CGAL::Mesh_cell_base_3`\endlink +\sa `MeshDomain_3` +\sa `MeshDomainWithFeatures_3` +*/ +template +class Compact_simplicial_mesh_cell_base_3 +{ +public: +#ifdef DOXYGEN_RUNNING + typedef unspecified_type Triangulation_data_structure; +#else + typedef internal::Dummy_tds_3 Triangulation_data_structure; +#endif + typedef Triangulation_data_structure::Vertex_handle Vertex_handle; + typedef Triangulation_data_structure::Cell_handle Cell_handle; + +public: + template + struct Rebind_TDS + { + typedef Compact_simplicial_mesh_cell_3 Other; + }; +}; + +} // namespace CGAL + +#endif // CGAL_COMPACT_SIMPLICIAL_MESH_CELL_BASE_3_H diff --git a/SMDS_3/include/CGAL/Mesh_complex_3_in_triangulation_3.h b/SMDS_3/include/CGAL/Mesh_complex_3_in_triangulation_3.h index 643de3ff7da..f77f1d9c07f 100644 --- a/SMDS_3/include/CGAL/Mesh_complex_3_in_triangulation_3.h +++ b/SMDS_3/include/CGAL/Mesh_complex_3_in_triangulation_3.h @@ -151,7 +151,7 @@ namespace CGAL { vertex and cell base class are models of the concepts `SimplicialMeshVertexBase_3` and `SimplicialMeshCellBase_3`, respectively. - \tparam CornerIndex Type of indices for corners (i.e.\f$ 0\f$--dimensional features) + \tparam CornerIndex Type of indices for corners (i.e.\f$ 0\f$--dimensional features) of the discretized geometric domain. It must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` and `LessThanComparable`. @@ -170,7 +170,7 @@ namespace CGAL { if the domain used for mesh generation does not include 0 and 1-dimensionnal features (i.e is only a model of the concept `MeshDomain_3`). - \cgalModels `MeshComplexWithFeatures_3InTriangulation_3` + \cgalModels{MeshComplexWithFeatures_3InTriangulation_3} \sa \link make_mesh_3() `CGAL::make_mesh_3()`\endlink \sa \link refine_mesh_3() `CGAL::refine_mesh_3()`\endlink diff --git a/SMDS_3/include/CGAL/Simplicial_mesh_cell_base_3.h b/SMDS_3/include/CGAL/Simplicial_mesh_cell_base_3.h index ee49f572236..8ed8d332f59 100644 --- a/SMDS_3/include/CGAL/Simplicial_mesh_cell_base_3.h +++ b/SMDS_3/include/CGAL/Simplicial_mesh_cell_base_3.h @@ -32,187 +32,94 @@ namespace CGAL { -// Class Simplicial_mesh_cell_3 -// Cell base class used for tetrahedral remeshing -// Adds information to Cb about the cell of the input complex containing it -template< class Subdomain_index_, - class Surface_patch_index_, - class TDS> -class Simplicial_mesh_cell_3 +/*! +\ingroup PkgSMDS3Classes + +The class `Simplicial_mesh_cell_base_3` +is a model of the concept `SimplicialMeshCellBase_3`. +It is designed to serve as cell base class for 3D simplicial mesh data structures. +It stores and gives access to data about the complex the cell belongs to, such as the +subdomain it belongs to or surface it takes part to. + +\tparam Gt is the geometric traits class. +It must be a model of the concept `TriangulationTraits_3` + +\tparam SubdomainIndex Type of indices for subdomains of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` +and `EqualityComparable`. The default constructed value must match the label +of the exterior of the domain (which contains at least the unbounded component). +It must match `MeshDomain_3::Subdomain_index` when used for mesh generation. + +\tparam SurfacePatchIndex Type of indices for surface patches (boundaries and interfaces) +of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` +and `EqualityComparable`. The default constructed value must be the index value +assigned to a non surface facet. +It must match `MeshDomain_3::Surface_patch_index` when used for mesh generation. + +\tparam Cb is the cell base class from which `Simplicial_mesh_cell_base_3` derives. +It must be a model of the concept `TriangulationCellBase_3`. + +\cgalModels{SimplicialMeshCellBase_3} + +\sa `CGAL::Mesh_complex_3_in_triangulation_3` +\sa \link Mesh_cell_base_3 `CGAL::Mesh_cell_base_3`\endlink +\sa `MeshDomain_3` +\sa `MeshDomainWithFeatures_3` +*/ +template > +class Simplicial_mesh_cell_base_3 + : public Cb { public: - using Triangulation_data_structure = TDS; - using Vertex_handle = typename TDS::Vertex_handle; - using Cell_handle = typename TDS::Cell_handle; - using Vertex = typename TDS::Vertex; - using Cell = typename TDS::Cell; - using TDS_data = typename TDS::Cell_data; + using Vertex_handle = typename Cb::Vertex_handle; + using Cell_handle = typename Cb::Cell_handle; + + using Geom_traits = Gt; // Index Type - using Subdomain_index = Subdomain_index_; - using Surface_patch_index = Surface_patch_index_; + using Subdomain_index = SubdomainIndex; + using Surface_patch_index = SurfacePatchIndex; public: - // Constructors - Simplicial_mesh_cell_3() + template + struct Rebind_TDS + { + using Cb2 = typename Cb::template Rebind_TDS::Other; + using Other = Simplicial_mesh_cell_base_3; + }; + +public: + Simplicial_mesh_cell_base_3() : time_stamp_(std::size_t(-1)) {} - Simplicial_mesh_cell_3(const Simplicial_mesh_cell_3& rhs) - : N(rhs.N) - , V(rhs.V) - , time_stamp_(rhs.time_stamp_) - , subdomain_index_(rhs.subdomain_index_) + Simplicial_mesh_cell_base_3(const Simplicial_mesh_cell_base_3& rhs) + : Cb(static_cast(rhs)), + time_stamp_(rhs.time_stamp_), + subdomain_index_(rhs.subdomain_index_) { - for(int i=0; i <4; i++){ + for(int i=0; i <4; ++i) surface_index_table_[i] = rhs.surface_index_table_[i]; - } } - Simplicial_mesh_cell_3(Vertex_handle v0, - Vertex_handle v1, - Vertex_handle v2, - Vertex_handle v3) - : V(CGAL::make_array(v0, v1, v2, v3)) - { - } + Simplicial_mesh_cell_base_3(Vertex_handle v0, Vertex_handle v1, + Vertex_handle v2, Vertex_handle v3) + : Cb(v0, v1, v2, v3) + { } - Simplicial_mesh_cell_3(Vertex_handle v0, - Vertex_handle v1, - Vertex_handle v2, - Vertex_handle v3, - Cell_handle n0, - Cell_handle n1, - Cell_handle n2, - Cell_handle n3) - : N(CGAL::make_array(n0, n1, n2, n3)) - , V(CGAL::make_array(v0, v1, v2, v3)) - { - } - - // ACCESS FUNCTIONS - Vertex_handle vertex(int i) const - { - CGAL_precondition( i >= 0 && i <= 3 ); - return V[i]; - } - - bool has_vertex(Vertex_handle v) const - { - return (V[0] == v) || (V[1] == v) || (V[2]== v) || (V[3]== v); - } - - bool has_vertex(Vertex_handle v, int & i) const - { - if (v == V[0]) { i = 0; return true; } - if (v == V[1]) { i = 1; return true; } - if (v == V[2]) { i = 2; return true; } - if (v == V[3]) { i = 3; return true; } - return false; - } - - int index(Vertex_handle v) const - { - if (v == V[0]) { return 0; } - if (v == V[1]) { return 1; } - if (v == V[2]) { return 2; } - CGAL_assertion( v == V[3] ); - return 3; - } - - Cell_handle neighbor(int i) const - { - CGAL_precondition( i >= 0 && i <= 3); - return N[i]; - } - - bool has_neighbor(Cell_handle n) const - { - return (N[0] == n) || (N[1] == n) || (N[2] == n) || (N[3] == n); - } - - bool has_neighbor(Cell_handle n, int & i) const - { - if(n == N[0]){ i = 0; return true; } - if(n == N[1]){ i = 1; return true; } - if(n == N[2]){ i = 2; return true; } - if(n == N[3]){ i = 3; return true; } - return false; - } - - int index(Cell_handle n) const - { - if (n == N[0]) return 0; - if (n == N[1]) return 1; - if (n == N[2]) return 2; - CGAL_assertion( n == N[3] ); - return 3; - } - - // SETTING - void set_neighbor(int i, Cell_handle n) - { - CGAL_precondition( i >= 0 && i <= 3); - CGAL_precondition( this != n.operator->() ); - N[i] = n; - } - - void set_neighbors() - { - N[0] = N[1] = N[2] = N[3] = Cell_handle(); - } - - void set_neighbors(Cell_handle n0, Cell_handle n1, - Cell_handle n2, Cell_handle n3) - { - CGAL_precondition( this != n0.operator->() ); - CGAL_precondition( this != n1.operator->() ); - CGAL_precondition( this != n2.operator->() ); - CGAL_precondition( this != n3.operator->() ); - N[0] = n0; - N[1] = n1; - N[2] = n2; - N[3] = n3; - } - - // CHECKING - - // the following trivial is_valid allows - // the user of derived cell base classes - // to add their own purpose checking - bool is_valid(bool = false, int = 0) const - { return true; } - - // For use by Compact_container. - void * for_compact_container() const { return N[0].for_compact_container(); } - void for_compact_container(void *p) { N[0].for_compact_container(p); } - - // TDS internal data access functions. - TDS_data& tds_data() { return _tds_data; } - const TDS_data& tds_data() const { return _tds_data; } - - // We must override the functions that modify the vertices. - // And if the point inside a vertex is modified, we fail, - // but there's not much we can do for this now. - void set_vertex(int i, Vertex_handle v) - { - CGAL_precondition( i >= 0 && i <= 3); - V[i] = v; - } - - void set_vertices() - { - V[0] = V[1] = V[2] = V[3] = Vertex_handle(); - } - - void set_vertices(Vertex_handle v0, Vertex_handle v1, - Vertex_handle v2, Vertex_handle v3) - { - V[0] = v0; - V[1] = v1; - V[2] = v2; - V[3] = v3; - } + Simplicial_mesh_cell_base_3(Vertex_handle v0, Vertex_handle v1, + Vertex_handle v2, Vertex_handle v3, + Cell_handle n0, Cell_handle n1, + Cell_handle n2, Cell_handle n3) + : Cb(v0, v1, v2, v3, n0, n1, n2, n3) + { } // Returns the index of the cell of the input complex that contains the cell Subdomain_index subdomain_index() const { return subdomain_index_; } @@ -284,107 +191,60 @@ private: /// Stores surface_index for each facet of the cell std::array surface_index_table_ = {}; - std::array N; - std::array V; - std::size_t time_stamp_; // The index of the cell of the input complex that contains me Subdomain_index subdomain_index_ = {}; - TDS_data _tds_data; - public: - friend std::istream& operator>>(std::istream &is, Simplicial_mesh_cell_3 &c) + friend std::istream& operator>>(std::istream& is, + Simplicial_mesh_cell_base_3& c) { Subdomain_index index; if(IO::is_ascii(is)) is >> index; else read(is, index); + if(is) { c.set_subdomain_index(index); for(int i = 0; i < 4; ++i) - { - Surface_patch_index i2; - if(IO::is_ascii(is)) - is >> IO::iformat(i2); - else - { - read(is, i2); - } - c.set_surface_patch_index(i, i2); - } + { + Surface_patch_index i2; + if(IO::is_ascii(is)) + is >> IO::iformat(i2); + else + { + read(is, i2); + } + c.set_surface_patch_index(i, i2); + } } return is; } friend - std::ostream& operator<<(std::ostream &os, const Simplicial_mesh_cell_3&c) + std::ostream& operator<<(std::ostream& os, + const Simplicial_mesh_cell_base_3& c) { if(IO::is_ascii(os)) os << c.subdomain_index(); else write(os, c.subdomain_index()); + for(int i = 0; i < 4; ++i) - { - if(IO::is_ascii(os)) - os << ' ' << IO::oformat(c.surface_patch_index(i)); - else - write(os, c.surface_patch_index(i)); - } + { + if(IO::is_ascii(os)) + os << ' ' << IO::oformat(c.surface_patch_index(i)); + else + write(os, c.surface_patch_index(i)); + } + return os; } - -}; // end class Simplicial_mesh_cell_3 - -/*! -\ingroup PkgSMDS3Classes - -The class `Simplicial_mesh_cell_base_3` -is a model of the concept `SimplicialMeshCellBase_3`. -It is designed to serve as cell base class for.3D simplicial mesh data structures. -It stores and gives access to data about the complex the cell belongs to, such as the -subdomain it belongs to or surface it takes part to. - -\tparam Subdomain_index Type of indices for subdomains of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` -and `EqualityComparable`. The default constructed value must match the label -of the exterior of the domain (which contains at least the unbounded component). - It must match the `Subdomain_index` of the model - of the `MeshDomain_3` concept when used for mesh generation. - -\tparam Surface_patch_index Type of indices for surface patches (boundaries and interfaces) -of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` -and `EqualityComparable`. The default constructed value must be the index value -assigned to a non surface facet. - It must match the `Surface_patch_index` of the model - of the `MeshDomain_3` concept when used for mesh generation. - -\cgalModels `SimplicialMeshCellBase_3` - -\sa `CGAL::Mesh_complex_3_in_triangulation_3` -\sa \link Mesh_cell_base_3 `CGAL::Mesh_cell_base_3`\endlink -\sa `MeshDomain_3` -\sa `MeshDomainWithFeatures_3` -*/ -template -class Simplicial_mesh_cell_base_3 -{ -public: - template - struct Rebind_TDS - { - typedef Simplicial_mesh_cell_3 Other; - }; }; -} // end namespace CGAL - +} // namespace CGAL #endif // CGAL_SIMPLICIAL_MESH_CELL_BASE_3_H diff --git a/SMDS_3/include/CGAL/Simplicial_mesh_vertex_base_3.h b/SMDS_3/include/CGAL/Simplicial_mesh_vertex_base_3.h index 24656da85e1..96a2377355c 100644 --- a/SMDS_3/include/CGAL/Simplicial_mesh_vertex_base_3.h +++ b/SMDS_3/include/CGAL/Simplicial_mesh_vertex_base_3.h @@ -29,22 +29,69 @@ #include #include + #include namespace CGAL { -//Class Simplicial_mesh_vertex_3 -//Adds information to Vb about the localization of the vertex in regards -//to the 3D input complex. -//\cgalModels `SimplicialMeshVertexBase_3` -template -class Simplicial_mesh_vertex_3 -: public Vb +// Adds information to Vb about the localization of the vertex in regards to the 3D input complex. + +/*! +\ingroup PkgSMDS3Classes + +The class `Simplicial_mesh_vertex_base_3` is a model of the concept +`SimplicialMeshVertexBase_3`. +It is designed to serve as vertex base class for 3D simplicial mesh data structures. +It stores and gives access to data about the complex the vertex belongs to, such as the +index of the subcomplex it belongs to. + +\tparam Gt is the geometric traits class. +It must be a model of the concept `TriangulationTraits_3` + +\tparam SubdomainIndex Type of indices for subdomains of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` +and `EqualityComparable`. The default constructed value must match the label +of the exterior of the domain (which contains at least the unbounded component). +It must match `MeshDomain_3::Subdomain_index` when used for mesh generation. + +\tparam SurfacePatchIndex Type of indices for surface patches (boundaries and interfaces) +of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` +and `EqualityComparable`. The default constructed value must be the index value +assigned to a non surface facet. +It must match `MeshDomain_3::Surface_patch_index` when used for mesh generation. + +\tparam CurveIndex Type of indices for curves (i.e. \f$ 1\f$-dimensional features) +of the discretized geometric domain. +Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` and +`LessThanComparable`. The default constructed value must be the value for an edge which +does not approximate a 1-dimensional feature of the geometric domain. +It must match `MeshDomainWithFeatures_3::Curve_index` when used for mesh generation. + +\tparam CornerIndex Type of indices for corners (i.e.\f$ 0\f$--dimensional features) +of the discretized geometric domain. +It must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` and +`LessThanComparable`. +It must match `MeshDomainWithFeatures_3::Corner_index` when used for mesh generation. + +\tparam Vb is the vertex base class from which `Simplicial_mesh_vertex_base_3` derives. +It must be a model of the concept `TriangulationVertexBase_3`. + +\cgalModels{SimplicialMeshVertexBase_3} + +\sa `CGAL::Mesh_complex_3_in_triangulation_3` +\sa \link Mesh_vertex_base_3 `CGAL::Mesh_vertex_base_3`\endlink +\sa `MeshDomain_3` +\sa `MeshDomainWithFeatures_3` +*/ +template > +class Simplicial_mesh_vertex_base_3 + : public Vb { private : using Cmvb3_base = Vb; @@ -53,11 +100,30 @@ public: using Vertex_handle = typename Vb::Vertex_handle; // Types - using Index = Variant_with_no_duplicate_t; - using FT = typename GT::FT; + using Subdomain_index = SubdomainIndex; + using Surface_patch_index = SurfacePatchIndex; + using Curve_index = CurveIndex; + using Corner_index = CornerIndex; - // Constructor - Simplicial_mesh_vertex_3() + using Index = Variant_with_no_duplicate_t; + + using FT = typename Gt::FT; + +public: + template + struct Rebind_TDS + { + using Vb2 = typename Vb::template Rebind_TDS::Other; + using Other = Simplicial_mesh_vertex_base_3; + }; + +public: + Simplicial_mesh_vertex_base_3() : Vb() , number_of_incident_facets_(0) , number_of_components_(0) @@ -155,8 +221,8 @@ private: std::size_t time_stamp_; public: - - friend std::istream& operator>>(std::istream &is, Simplicial_mesh_vertex_3& v) + friend std::istream& operator>>(std::istream& is, + Simplicial_mesh_vertex_base_3& v) { is >> static_cast(v); int dimension; @@ -181,7 +247,8 @@ public: return is; } - friend std::ostream& operator<<(std::ostream &os, const Simplicial_mesh_vertex_3& v) + friend std::ostream& operator<<(std::ostream& os, + const Simplicial_mesh_vertex_base_3& v) { os << static_cast(v); if(IO::is_ascii(os)) { @@ -200,89 +267,8 @@ public: v.index()); return os; } -}; // end class Simplicial_mesh_vertex_3 - - -/*! -\ingroup PkgSMDS3Classes - -The class `Simplicial_mesh_vertex_base_3` is a model of the concept -`SimplicialMeshVertexBase_3`. -It is designed to serve as vertex base class for 3D simplicial mesh data structures. -It stores and gives access to data about the complex the vertex belongs to, such as the -index of the subcomplex it belongs to. - -\tparam Gt is the geometric traits class. -It must be a model of the concept `TriangulationTraits_3` - -\tparam Subdomain_index Type of indices for subdomains of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` -and `EqualityComparable`. The default constructed value must match the label -of the exterior of the domain (which contains at least the unbounded component). - It must match the `Subdomain_index` of the model - of the `MeshDomain_3` concept when used for mesh generation. - -\tparam Surface_patch_index Type of indices for surface patches (boundaries and interfaces) -of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` -and `EqualityComparable`. The default constructed value must be the index value -assigned to a non surface facet. - It must match the `Surface_patch_index` of the model - of the `MeshDomain_3` concept when used for mesh generation. - -\tparam Curve_index Type of indices for curves (i.e. \f$ 1\f$-dimensional features) -of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` and -`LessThanComparable`. The default constructed value must be the value for an edge which -does not approximate a 1-dimensional feature of the geometric domain. - It must match the `Curve_index` types of the model - of the `MeshDomainWithFeatures_3` concept when used for mesh generation. - -\tparam Corner_index Type of indices for corners (i.e.\f$ 0\f$--dimensional features) -of the discretized geometric domain. -It must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` and -`LessThanComparable`. - It must match the `Corner_index` of the model - of the `MeshDomainWithFeatures_3` concept when used for mesh generation. - -\tparam Vb is the vertex base class. It has to be a model -of the concept `TriangulationVertexBase_3` and defaults to -`Triangulation_vertex_base_3`. - -\cgalModels `SimplicialMeshVertexBase_3` - -\sa `CGAL::Mesh_complex_3_in_triangulation_3` -\sa \link Mesh_vertex_base_3 `CGAL::Mesh_vertex_base_3`\endlink -\sa `MeshDomain_3` -\sa `MeshDomainWithFeatures_3` -*/ -template > -struct Simplicial_mesh_vertex_base_3 -{ - using Triangulation_data_structure = internal::Dummy_tds_3; - using Vertex_handle = typename Triangulation_data_structure::Vertex_handle; - using Cell_handle = typename Triangulation_data_structure::Cell_handle; - - template < class TDS3 > - struct Rebind_TDS { - using Vb3 = typename Vb::template Rebind_TDS::Other; - using Other = Simplicial_mesh_vertex_3 ; - }; }; - -} // end namespace CGAL - - +} // namespace CGAL #endif // CGAL_SIMPLICIAL_MESH_VERTEX_BASE_3_H diff --git a/SMDS_3/test/SMDS_3/test_simplicial_cb_vb.cpp b/SMDS_3/test/SMDS_3/test_simplicial_cb_vb.cpp index 4f3531c5fcb..e438200b9aa 100644 --- a/SMDS_3/test/SMDS_3/test_simplicial_cb_vb.cpp +++ b/SMDS_3/test/SMDS_3/test_simplicial_cb_vb.cpp @@ -19,7 +19,7 @@ using Surface_patch_index = std::pair; using Curve_index = char; using Corner_index = short; -using Cb = CGAL::Simplicial_mesh_cell_base_3; +using Cb = CGAL::Simplicial_mesh_cell_base_3; using Vb = CGAL::Simplicial_mesh_vertex_base_3; diff --git a/STL_Extension/doc/STL_Extension/CGAL/Complexity_tags.h b/STL_Extension/doc/STL_Extension/CGAL/Complexity_tags.h index 2c54537b8a4..3f39efc663b 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Complexity_tags.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Complexity_tags.h @@ -13,8 +13,7 @@ For example, passing `Location_policy` as parameter to -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} \sa `Location_policy` \sa `Fast` @@ -45,8 +44,7 @@ more memory usage. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} \sa `Location_policy` \sa `Compact` diff --git a/STL_Extension/doc/STL_Extension/CGAL/Default.h b/STL_Extension/doc/STL_Extension/CGAL/Default.h index 4f58c260c36..4fcb285014e 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Default.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Default.h @@ -26,8 +26,7 @@ same when instantiating it using `Default` instead of the type of the default argument, even though their interfaces will otherwise be the same. This may have consequences in some cases. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} In order to help the template class writer, `Default` provides a convenient way to extract the desired type for a template parameter which may be defaulted diff --git a/STL_Extension/doc/STL_Extension/CGAL/Location_policy.h b/STL_Extension/doc/STL_Extension/CGAL/Location_policy.h index 799cb42dc3b..ae8e77ff775 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Location_policy.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Location_policy.h @@ -51,8 +51,7 @@ For example, passing `Location_policy` as parameter to `Tag` can only be either `Fast` or `Compact` currently. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} \sa `Compact` \sa `Fast` diff --git a/STL_Extension/doc/STL_Extension/CGAL/Spatial_lock_grid_3.h b/STL_Extension/doc/STL_Extension/CGAL/Spatial_lock_grid_3.h index 2d9b53b1048..02e5305d4e6 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Spatial_lock_grid_3.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Spatial_lock_grid_3.h @@ -26,7 +26,7 @@ block (spin) if the thread owning the lock has a lower \"ID\" (each thread is given an arbitrary ID) or return immediately otherwise. It uses atomics to perform lock operations. -\cgalModels `SurjectiveLockDataStructure` +\cgalModels{SurjectiveLockDataStructure} */ template diff --git a/STL_Extension/doc/STL_Extension/CGAL/function_objects.h b/STL_Extension/doc/STL_Extension/CGAL/function_objects.h index 36f7ba21155..29749667ac9 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/function_objects.h +++ b/STL_Extension/doc/STL_Extension/CGAL/function_objects.h @@ -13,7 +13,7 @@ its argument. -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ @@ -1021,7 +1021,7 @@ The class `Dereference` dereferences a pointer -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Value > @@ -1091,7 +1091,7 @@ The class `Get_address` gets the address of an lvalue -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ @@ -1161,7 +1161,7 @@ on `Value`. -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Value > @@ -1230,7 +1230,7 @@ The class `Project_facet` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Node > @@ -1299,7 +1299,7 @@ The class `Project_next` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ @@ -1368,7 +1368,7 @@ The class `Project_next_opposite` calls the member functions -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Node > @@ -1438,7 +1438,7 @@ The class `Project_normal` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ @@ -1509,7 +1509,7 @@ The class `Project_opposite_prev` calls the member functions -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ @@ -1580,7 +1580,7 @@ The class `Project_plane` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ @@ -1651,7 +1651,7 @@ The class `Project_point` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Node > @@ -1721,7 +1721,7 @@ The class `Project_prev` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Node > @@ -1791,7 +1791,7 @@ The class `Project_vertex` calls the member function -\cgalModels `ProjectionObject` +\cgalModels{ProjectionObject} */ template< typename Node > diff --git a/STL_Extension/doc/STL_Extension/CGAL/iterator.h b/STL_Extension/doc/STL_Extension/CGAL/iterator.h index 2ba1736893d..0eb742a6b9d 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/iterator.h +++ b/STL_Extension/doc/STL_Extension/CGAL/iterator.h @@ -12,7 +12,7 @@ specific object of type `T`. -\cgalModels `RandomAccessIterator` +\cgalModels{RandomAccessIterator} \sa `CGAL::Emptyset_iterator` \sa `CGAL::Oneset_iterator` @@ -54,7 +54,7 @@ from input iterators. -\cgalModels `InputIterator` +\cgalModels{InputIterator} \cgalHeading{Requirements} @@ -116,7 +116,7 @@ must be a subset of the parameters of `V`. Should the \tparam V must be a `std::tuple<...>` of the types of values to be accepted and dispatched. \tparam O must be a `std::tuple<...>` of the types of corresponding output iterators. -\cgalModels `OutputIterator` +\cgalModels{OutputIterator} \cgalExample{STL_Extension/Dispatch_output_iterator.cpp} @@ -206,7 +206,7 @@ can be a list of arbitrary types. \tparam V must be a `std::tuple<...>` of the types of values to be accepted and dispatched. \tparam O must be a `std::tuple<...>` of the types of corresponding output iterators. -\cgalModels `OutputIterator` +\cgalModels{OutputIterator} \sa `CGAL::Dispatch_or_drop_output_iterator` */ @@ -285,7 +285,7 @@ think of it as being connected to /dev/null. -\cgalModels `OutputIterator` +\cgalModels{OutputIterator} \sa `CGAL::Oneset_iterator` \sa `CGAL::Const_oneset_iterator` @@ -395,7 +395,7 @@ to `std::insert_iterator`, but differs in that it calls the `insert()` function of the container without the iterator additional argument. -\cgalModels `OutputIterator` +\cgalModels{OutputIterator} \tparam Container provides a member function `insert(const Container::const_reference&)`. @@ -536,7 +536,7 @@ object. -\cgalModels `InputIterator` +\cgalModels{InputIterator} \sa `CGAL::Creator_1` @@ -595,7 +595,7 @@ The class `Join_input_iterator_2` joins two iterators. The result is again an it iterator category type as the original iterator) that reads an object from the stream and applies a function object to that object. -\cgalModels `InputIterator` +\cgalModels{InputIterator} */ @@ -646,7 +646,7 @@ The class `Join_input_iterator_3` joins three iterators. The result is again an iterator category type as the original iterator) that reads an object from the stream and applies a function object to that object. -\cgalModels `InputIterator` +\cgalModels{InputIterator} */ @@ -740,7 +740,7 @@ pointer to the referred object. -\cgalModels `BidirectionalIterator` +\cgalModels{BidirectionalIterator} \sa `CGAL::Emptyset_iterator` \sa `CGAL::Const_oneset_iterator` diff --git a/STL_Extension/doc/STL_Extension/CGAL/tags.h b/STL_Extension/doc/STL_Extension/CGAL/tags.h index 7a085e194be..91b0ca5532d 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/tags.h +++ b/STL_Extension/doc/STL_Extension/CGAL/tags.h @@ -58,7 +58,7 @@ typedef CGAL::Boolean_tag Tag_true; \ingroup PkgSTLExtensionUtilities Class indicating the absence of a functor. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `AlgebraicStructureTraits` \sa `RealEmbeddableTraits` @@ -93,7 +93,7 @@ struct Parallel_if_available_tag {}; General tag indicating that non of any other possible tags is valid. -\cgalModels `DefaultConstructible` +\cgalModels{DefaultConstructible} \sa `AlgebraicStructureTraits` diff --git a/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h b/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h index 8235e55f4f0..7b630692708 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h +++ b/STL_Extension/doc/STL_Extension/Concepts/Descriptor.h @@ -6,8 +6,10 @@ The concept `Descriptor` allows to describe a unique object in an abstract model \cgalRefines{DefaultConstructible,CopyConstructible,Assignable,EqualityComparable} -\cgalHasModel `Index` -\cgalHasModel `Handle` +\cgalHasModelsBegin +\cgalHasModels{Index} +\cgalHasModels{Handle} +\cgalHasModelsEnd */ class Descriptor {}; diff --git a/STL_Extension/doc/STL_Extension/Concepts/Hashable.h b/STL_Extension/doc/STL_Extension/Concepts/Hashable.h index 3c7f0b5cf71..7dffe7cd917 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/Hashable.h +++ b/STL_Extension/doc/STL_Extension/Concepts/Hashable.h @@ -6,10 +6,10 @@ A type `Key` is a model of the concept `Hashable` if the specializations `boost::hash` and `std::hash` exist. -\cgalHasModel All handles and indices of \cgal data structures. -\cgalHasModel All handles of OpenMesh, by including the specializations -of the `graph_traits` header files provided by \cgal. -They can be disables by defining the macro `CGAL_DISABLE_HASH_OPENMESH`. +\cgalHasModelsBegin +\cgalHasModelsBare{All handles and indices of \cgal data structures} +\cgalHasModelsBare{All handles of OpenMesh\, by including the specializations of the `graph_traits` header files provided by \cgal. They can be disables by defining the macro `CGAL_DISABLE_HASH_OPENMESH`.} +\cgalHasModelsEnd \sa `CGAL::Unique_hash_map` \sa `std::unordered_set` diff --git a/STL_Extension/doc/STL_Extension/Concepts/Index.h b/STL_Extension/doc/STL_Extension/Concepts/Index.h index 544e714fa8a..7b89ed870e3 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/Index.h +++ b/STL_Extension/doc/STL_Extension/Concepts/Index.h @@ -6,8 +6,10 @@ The concept `Index` is a refinement of `Descriptor` which must be convertible fr \cgalRefines{Descriptor} -\cgalHasModel int -\cgalHasModel size_t +\cgalHasModelsBegin +\cgalHasModels{int} +\cgalHasModels{size_t} +\cgalHasModelsEnd \cgalHeading{Notation} diff --git a/STL_Extension/doc/STL_Extension/Concepts/ProjectionObject.h b/STL_Extension/doc/STL_Extension/Concepts/ProjectionObject.h index 3a285603271..871f9dc3b1b 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/ProjectionObject.h +++ b/STL_Extension/doc/STL_Extension/Concepts/ProjectionObject.h @@ -12,19 +12,21 @@ The concept `ProjectionObject` is modeled after the STL concept `UnaryFunction`, but takes also care of (const) references. -\cgalHasModel CGAL::Identity -\cgalHasModel CGAL::Dereference -\cgalHasModel CGAL::Get_address -\cgalHasModel CGAL::Cast_function_object -\cgalHasModel CGAL::Project_vertex -\cgalHasModel CGAL::Project_facet -\cgalHasModel CGAL::Project_point -\cgalHasModel CGAL::Project_normal -\cgalHasModel CGAL::Project_plane -\cgalHasModel CGAL::Project_next -\cgalHasModel CGAL::Project_prev -\cgalHasModel CGAL::Project_next_opposite -\cgalHasModel CGAL::Project_opposite_prev +\cgalHasModelsBegin +\cgalHasModels{CGAL::Identity} +\cgalHasModels{CGAL::Dereference} +\cgalHasModels{CGAL::Get_address} +\cgalHasModels{CGAL::Cast_function_object} +\cgalHasModels{CGAL::Project_vertex} +\cgalHasModels{CGAL::Project_facet} +\cgalHasModels{CGAL::Project_point} +\cgalHasModels{CGAL::Project_normal} +\cgalHasModels{CGAL::Project_plane} +\cgalHasModels{CGAL::Project_next} +\cgalHasModels{CGAL::Project_prev} +\cgalHasModels{CGAL::Project_next_opposite} +\cgalHasModels{CGAL::Project_opposite_prev} +\cgalHasModelsEnd */ diff --git a/STL_Extension/doc/STL_Extension/Concepts/SurjectiveLockDataStructure.h b/STL_Extension/doc/STL_Extension/Concepts/SurjectiveLockDataStructure.h index e11d85a35a1..c9780c60226 100644 --- a/STL_Extension/doc/STL_Extension/Concepts/SurjectiveLockDataStructure.h +++ b/STL_Extension/doc/STL_Extension/Concepts/SurjectiveLockDataStructure.h @@ -21,7 +21,9 @@ We call `S` the surjective function such that `S(object)` is the \"thing\" that is locked when one tries to lock `object`. In the previous example, `S(point)` is the voxel containing `point`. -\cgalHasModel `CGAL::Spatial_lock_grid_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Spatial_lock_grid_3} +\cgalHasModelsEnd */ class SurjectiveLockDataStructure { diff --git a/STL_Extension/include/CGAL/Handle.h b/STL_Extension/include/CGAL/Handle.h index 55634481044..dd0d5f42576 100644 --- a/STL_Extension/include/CGAL/Handle.h +++ b/STL_Extension/include/CGAL/Handle.h @@ -18,6 +18,7 @@ #define CGAL_HANDLE_H #include +#include #include #include #include diff --git a/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceMesher.h b/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceMesher.h index e083e399ac7..0f3004320b7 100644 --- a/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceMesher.h +++ b/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceMesher.h @@ -11,8 +11,10 @@ namespace Scale_space_reconstruction_3 { * A mesher is a functor that can be applied to a range of * points and that returns a set of facets. * - * \cgalHasModel CGAL::Scale_space_reconstruction_3::Alpha_shape_mesher - * \cgalHasModel CGAL::Scale_space_reconstruction_3::Advancing_front_mesher + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Scale_space_reconstruction_3::Alpha_shape_mesher} + * \cgalHasModels{CGAL::Scale_space_reconstruction_3::Advancing_front_mesher} + * \cgalHasModelsEnd * */ class Mesher diff --git a/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceSmoother.h b/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceSmoother.h index 0cfdd7b5499..20cac9eabdf 100644 --- a/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceSmoother.h +++ b/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/Concepts/ScaleSpaceSmoother.h @@ -15,8 +15,10 @@ namespace Scale_space_reconstruction_3 { * \note the functor can be applied several times by the scale space * reconstruction algorithm. * - * \cgalHasModel CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother - * \cgalHasModel CGAL::Scale_space_reconstruction_3::Jet_smoother + * \cgalHasModelsBegin + * \cgalHasModels{CGAL::Scale_space_reconstruction_3::Weighted_PCA_smoother} + * \cgalHasModels{CGAL::Scale_space_reconstruction_3::Jet_smoother} + * \cgalHasModelsEnd */ class Smoother { diff --git a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Advancing_front_mesher.h b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Advancing_front_mesher.h index 35e133c3901..37e4644e529 100644 --- a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Advancing_front_mesher.h +++ b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Advancing_front_mesher.h @@ -33,7 +33,7 @@ namespace Scale_space_reconstruction_3 * with the possibility of using an upper bound on the length of the * produced facets. * - * \cgalModels CGAL::Scale_space_reconstruction_3::Mesher + * \cgalModels{CGAL::Scale_space_reconstruction_3::Mesher} * * \tparam Geom_traits geometric traits class. It must be a * model of `DelaunayTriangulationTraits_3`. It must have a diff --git a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Alpha_shape_mesher.h b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Alpha_shape_mesher.h index 2a55578de06..d0f393c0821 100644 --- a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Alpha_shape_mesher.h +++ b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Alpha_shape_mesher.h @@ -47,7 +47,7 @@ namespace Scale_space_reconstruction_3 * component of the surface where connected facets are locally oriented * towards the same side of the surface. * - * \cgalModels CGAL::Scale_space_reconstruction_3::Mesher + * \cgalModels{CGAL::Scale_space_reconstruction_3::Mesher} * * \tparam Geom_traits is the geometric traits class. It must be a * model of `DelaunayTriangulationTraits_3`. It must have a diff --git a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Jet_smoother.h b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Jet_smoother.h index cf34380ca1b..40c28918831 100644 --- a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Jet_smoother.h +++ b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Jet_smoother.h @@ -32,7 +32,7 @@ namespace Scale_space_reconstruction_3 * %Smoother for scale space reconstruction based on * `CGAL::jet_smooth_point_set()`. * - * \cgalModels CGAL::Scale_space_reconstruction_3::Smoother + * \cgalModels{CGAL::Scale_space_reconstruction_3::Smoother} * * \tparam Geom_traits geometric traits class. It must be a * model of `DelaunayTriangulationTraits_3`. It must have a diff --git a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Weighted_PCA_smoother.h b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Weighted_PCA_smoother.h index af9cda15c2d..648b8480886 100644 --- a/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Weighted_PCA_smoother.h +++ b/Scale_space_reconstruction_3/include/CGAL/Scale_space_reconstruction_3/Weighted_PCA_smoother.h @@ -41,7 +41,7 @@ namespace Scale_space_reconstruction_3 * %Smoother for scale space reconstruction based on a principal * component analysis weighted by the local density of points. * - * \cgalModels CGAL::Scale_space_reconstruction_3::Smoother + * \cgalModels{CGAL::Scale_space_reconstruction_3::Smoother} * * \tparam Geom_traits geometric traits class. It must be a * model of `DelaunayTriangulationTraits_3`. It must have a diff --git a/SearchStructures/doc/SearchStructures/CGAL/Range_segment_tree_traits.h b/SearchStructures/doc/SearchStructures/CGAL/Range_segment_tree_traits.h index 81615c89fcd..bee9d44eb49 100644 --- a/SearchStructures/doc/SearchStructures/CGAL/Range_segment_tree_traits.h +++ b/SearchStructures/doc/SearchStructures/CGAL/Range_segment_tree_traits.h @@ -8,7 +8,7 @@ The class `Range_segment_tree_set_traits_2` is a range and segment tree traits c 2-dimensional point class from the \cgal kernel. The class is parameterized with a representation class `R`. -\cgalModels `RangeSegmentTreeTraits_k` +\cgalModels{RangeSegmentTreeTraits_k} */ template< typename R > @@ -42,7 +42,7 @@ The class `Range_segment_tree_set_traits_3` is a range and segment tree traits c point class from the \cgal kernel. The class is parameterized with a representation class `R`. -\cgalModels `RangeSegmentTreeTraits_k` +\cgalModels{RangeSegmentTreeTraits_k} */ template< typename R > @@ -78,7 +78,7 @@ 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` +\cgalModels{RangeSegmentTreeTraits_k} */ template< typename R, typename T > @@ -114,7 +114,7 @@ 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` +\cgalModels{RangeSegmentTreeTraits_k} */ template< typename R, typename T > @@ -150,7 +150,7 @@ 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` +\cgalModels{RangeSegmentTreeTraits_k} */ template< typename R, typename T > @@ -186,7 +186,7 @@ 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` +\cgalModels{RangeSegmentTreeTraits_k} */ template< typename R, typename T > diff --git a/SearchStructures/doc/SearchStructures/Concepts/RangeSegmentTreeTraits_k.h b/SearchStructures/doc/SearchStructures/Concepts/RangeSegmentTreeTraits_k.h index 71373681e98..ede7918eb83 100644 --- a/SearchStructures/doc/SearchStructures/Concepts/RangeSegmentTreeTraits_k.h +++ b/SearchStructures/doc/SearchStructures/Concepts/RangeSegmentTreeTraits_k.h @@ -9,12 +9,14 @@ 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` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Range_segment_tree_set_traits_2} +\cgalHasModels{CGAL::Range_segment_tree_set_traits_3} +\cgalHasModels{CGAL::Range_tree_map_traits_2} +\cgalHasModels{CGAL::Range_tree_map_traits_3} +\cgalHasModels{CGAL::Segment_tree_map_traits_2} +\cgalHasModels{CGAL::Segment_tree_map_traits_3} +\cgalHasModelsEnd \cgalHeading{Example} diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_2.h index 6fb02a67ddf..49440d6654b 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_2.h @@ -35,7 +35,7 @@ A segment Delaunay graph can be seen as a container of faces and vertices. Therefore the `Segment_Delaunay_graph_2` class provides several iterators and circulators that allow to traverse it (completely or partially). -\cgalModels `DelaunayGraph_2` +\cgalModels{DelaunayGraph_2} \sa `CGAL::Segment_Delaunay_graph_traits_2` \sa `CGAL::Segment_Delaunay_graph_traits_without_intersections_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_face_base_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_face_base_2.h index 69fc93cf421..9b60ce9d21d 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_face_base_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_face_base_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgSegmentDelaunayGraph2Ref -\cgalModels `SegmentDelaunayGraphFaceBase_2` +\cgalModels{SegmentDelaunayGraphFaceBase_2} The class `Segment_Delaunay_graph_face_base_2` provides a model for the `SegmentDelaunayGraphFaceBase_2` concept which is the face diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_filtered_traits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_filtered_traits_2.h index 00be59b9a75..58690b0e025 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_filtered_traits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_filtered_traits_2.h @@ -53,10 +53,7 @@ The default values for the template parameters are as follows:
  • If the \gmp package is installed with \cgal, the template parameter `EK` has the default value: `EK = Simple_cartesian`, otherwise its default value is `EK = Simple_cartesian >`. -\cgalModels `SegmentDelaunayGraphTraits_2` -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` -\cgalModels `Assignable` +\cgalModels{SegmentDelaunayGraphTraits_2,DefaultConstructible,CopyConstructible,Assignable} \sa `SegmentDelaunayGraphTraits_2` \sa `CGAL::Field_tag` @@ -211,10 +208,7 @@ default value is `EK = CGAL::Simple_cartesian`. -\cgalModels `SegmentDelaunayGraphTraits_2` -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` -\cgalModels `Assignable` +\cgalModels{SegmentDelaunayGraphTraits_2,DefaultConstructible,CopyConstructible,Assignable} \sa `Kernel` \sa `SegmentDelaunayGraphTraits_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_2.h index c1ef0bcc9fc..a933bb886e5 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_2.h @@ -68,9 +68,7 @@ The `Segment_Delaunay_graph_hierarchy_2` class derives publicly from the the same with its base class. In the sequel only additional types and methods defined are documented. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` -\cgalModels `Assignable` +\cgalModels{DefaultConstructible,CopyConstructible,Assignable} \sa `CGAL::Segment_Delaunay_graph_2` \sa `CGAL::Triangulation_data_structure_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_vertex_base_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_vertex_base_2.h index 5ac99ae6de2..ed0cdbecfdf 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_vertex_base_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_hierarchy_vertex_base_2.h @@ -11,7 +11,7 @@ vertex base required by the \tparam Vbb must be a model of the `SegmentDelaunayGraphVertexBase_2` concept. -\cgalModels `SegmentDelaunayGraphHierarchyVertexBase_2` +\cgalModels{SegmentDelaunayGraphHierarchyVertexBase_2} \sa `SegmentDelaunayGraphVertexBase_2` \sa `SegmentDelaunayGraphHierarchyVertexBase_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_site_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_site_2.h index f55c92b636f..e088f512613 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_site_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_site_2.h @@ -8,7 +8,7 @@ The class `Segment_Delaunay_graph_site_2` is a model for the concept `SegmentDelaunayGraphSite_2`. \tparam K must be a model of the `Kernel` concept. -\cgalModels `SegmentDelaunayGraphSite_2` +\cgalModels{SegmentDelaunayGraphSite_2} \sa `Kernel` \sa `SegmentDelaunayGraphSite_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_2.h index 596717be5cc..89417cb3ccc 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_2.h @@ -9,7 +9,7 @@ The class `Segment_Delaunay_graph_storage_site_2` is a model for the concept \tparam Gt must be a model of the `SegmentDelaunayGraphStorageTraits_2` concept. -\cgalModels `SegmentDelaunayGraphStorageSite_2` +\cgalModels{SegmentDelaunayGraphStorageSite_2} \sa `CGAL::Segment_Delaunay_graph_site_2` */ diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_with_info_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_with_info_2.h index fc8180ff3d8..695207b9e0d 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_with_info_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_site_with_info_2.h @@ -10,7 +10,7 @@ The class `Segment_Delaunay_graph_storage_site_with_info_2` is a model for the c \tparam STraits must be a model of the `SegmentDelaunayGraphStorageTraits_2` concept. \tparam Base must be a model of `SegmentDelaunayGraphStorageSite_2` -\cgalModels `SegmentDelaunayGraphStorageSite_2` +\cgalModels{SegmentDelaunayGraphStorageSite_2} \sa `CGAL::Segment_Delaunay_graph_site_2` */ diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_2.h index 8fb333abcc0..7666eaa9584 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_2.h @@ -15,7 +15,7 @@ See section \ref Segment_Delaunay_graph_2StronglyIntersecting for more informati \tparam Gt must be a model of the concept `SegmentDelaunayGraphTraits_2`. -\cgalModels `SegmentDelaunayGraphStorageTraits_2` +\cgalModels{SegmentDelaunayGraphStorageTraits_2} \sa `CGAL::Segment_Delaunay_graph_hierarchy_2` \sa `CGAL::Segment_Delaunay_graph_traits_without_intersections_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_with_info_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_with_info_2.h index 49dd92c5160..854464d684e 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_with_info_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_storage_traits_with_info_2.h @@ -9,7 +9,7 @@ The class `Segment_Delaunay_graph_storage_traits_with_info_2` provides a model f \tparam Gt must be a model of the concept `SegmentDelaunayGraphTraits_2`. -\cgalModels `SegmentDelaunayGraphStorageTraits_2` +\cgalModels{SegmentDelaunayGraphStorageTraits_2} \sa `CGAL::Segment_Delaunay_graph_storage_site_with_info_2` */ diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_traits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_traits_2.h index 1dead711c35..a8daa3fd260 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_traits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_traits_2.h @@ -22,7 +22,7 @@ The way the predicates are evaluated is discussed in \cgalCite{b-ecvdl-96} and \cgalCite{cgal:k-reisv-04} (the geometric filtering part). -\cgalModels `SegmentDelaunayGraphTraits_2` +\cgalModels{SegmentDelaunayGraphTraits_2} \sa `Kernel` \sa `SegmentDelaunayGraphTraits_2` @@ -95,7 +95,7 @@ The way the predicates are evaluated is discussed in \cgalCite{b-ecvdl-96} and \cgalCite{cgal:k-reisv-04} (the geometric filtering part). -\cgalModels `SegmentDelaunayGraphTraits_2` +\cgalModels{SegmentDelaunayGraphTraits_2} \sa `Kernel` \sa `SegmentDelaunayGraphTraits_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_vertex_base_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_vertex_base_2.h index b925fa57dd9..9881285b413 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_vertex_base_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/CGAL/Segment_Delaunay_graph_vertex_base_2.h @@ -4,7 +4,7 @@ namespace CGAL { /*! \ingroup PkgSegmentDelaunayGraph2Ref -\cgalModels `SegmentDelaunayGraphVertexBase_2` +\cgalModels{SegmentDelaunayGraphVertexBase_2} The class `Segment_Delaunay_graph_vertex_base_2` provides a model for the `SegmentDelaunayGraphVertexBase_2` concept which is the vertex diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h index 566beb42485..88e901da204 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphDataStructure_2.h @@ -33,7 +33,9 @@ We only describe the additional requirements with respect to the \cgalRefines{ApolloniusGraphDataStructure_2} -\cgalHasModel `CGAL::Triangulation_data_structure_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_data_structure_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `ApolloniusGraphDataStructure_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h index 4b96dab0907..98c4ddcd1be 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphFaceBase_2.h @@ -9,7 +9,9 @@ requirements for the face base class of the \cgalRefines{TriangulationFaceBase_2} -\cgalHasModel `CGAL::Segment_Delaunay_graph_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_face_base_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphDataStructure_2` \sa `SegmentDelaunayGraphTraits_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h index 7ab5a65a26b..b33a87abea8 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphHierarchyVertexBase_2.h @@ -26,7 +26,9 @@ The `SegmentDelaunayGraphHierarchyVertexBase_2` concept does not introduce any constructors in addition to those of the `SegmentDelaunayGraphVertexBase_2` concept. -\cgalHasModel CGAL::Segment_Delaunay_graph_hierarchy_vertex_base_2 > +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_hierarchy_vertex_base_2 >} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphDataStructure_2` \sa `SegmentDelaunayGraphVertexBase_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h index 5370b1b3026..879c81bdcc0 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphSite_2.h @@ -8,7 +8,9 @@ requirements for the sites of a segment Delaunay graph. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Segment_Delaunay_graph_site_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_site_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphTraits_2` \sa `CGAL::Segment_Delaunay_graph_site_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h index 3f391babafa..e6605fbcdac 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageSite_2.h @@ -11,7 +11,9 @@ by storing handles to points instead of points. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Segment_Delaunay_graph_storage_site_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_storage_site_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphTraits_2` \sa `CGAL::Segment_Delaunay_graph_site_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h index 78e8bda7d6e..27ed7f806d6 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphStorageTraits_2.h @@ -15,7 +15,9 @@ See section \ref Segment_Delaunay_graph_2StronglyIntersecting for more informati \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Segment_Delaunay_graph_storage_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_storage_traits_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphTraits_2` */ diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h index e68b4212b19..933124e25d1 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphTraits_2.h @@ -14,10 +14,12 @@ the concept `SegmentDelaunayGraphSite_2`. It also provides constructions for sites and several function object types for the predicates. -\cgalHasModel `CGAL::Segment_Delaunay_graph_traits_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_traits_without_intersections_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_filtered_traits_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_filtered_traits_without_intersections_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_traits_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_traits_without_intersections_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_filtered_traits_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_filtered_traits_without_intersections_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphSite_2` \sa `CGAL::Segment_Delaunay_graph_2` diff --git a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h index 778a709b5a6..2651f8171ff 100644 --- a/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h +++ b/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/Concepts/SegmentDelaunayGraphVertexBase_2.h @@ -11,7 +11,9 @@ requirements for the vertex base class of the site of the segment Delaunay graph and provides access to one of its incident faces through a `Face_handle`. -\cgalHasModel `CGAL::Segment_Delaunay_graph_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_vertex_base_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphTraits_2` \sa `SegmentDelaunayGraphSite_2` diff --git a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_2.h b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_2.h index 39ff240f8ac..10e32d64189 100644 --- a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_2.h +++ b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_2.h @@ -19,7 +19,7 @@ which must be a model of `SegmentDelaunayGraphDataStructure_2`. `DS` defaults to `CGAL::Triangulation_data_structure_2< CGAL::Segment_Delaunay_graph_vertex_base_2, CGAL::Triangulation_face_base_2 >`. -\cgalModels `DelaunayGraph_2` +\cgalModels{DelaunayGraph_2} \sa `SegmentDelaunayGraphLinfTraits_2` \sa `SegmentDelaunayGraphDataStructure_2` diff --git a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h index a72aa365f48..7ebee962afe 100644 --- a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h +++ b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h @@ -16,7 +16,7 @@ value for CK is CGAL::Simple_cartesian (see also the examples in the user manual). -\cgalModels `SegmentDelaunayGraphLinfTraits_2` +\cgalModels{SegmentDelaunayGraphLinfTraits_2} \sa `CGAL::Segment_Delaunay_graph_filtered_traits_2` \sa `CGAL::Segment_Delaunay_graph_Linf_2` @@ -49,7 +49,7 @@ value for CK is CGAL::Simple_cartesian (see also the examples in the user manual). -\cgalModels `SegmentDelaunayGraphLinfTraits_2` +\cgalModels{SegmentDelaunayGraphLinfTraits_2} \sa `CGAL::Segment_Delaunay_graph_filtered_traits_without_intersections_2` \sa `CGAL::Segment_Delaunay_graph_2` diff --git a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_traits_2.h b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_traits_2.h index e5c0d0c526a..e459b1f3be7 100644 --- a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_traits_2.h +++ b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/CGAL/Segment_Delaunay_graph_Linf_traits_2.h @@ -18,7 +18,7 @@ reasonable and valid values of the template parameters and should be preferred over `Segment_Delaunay_graph_Linf_traits_2`. -\cgalModels `SegmentDelaunayGraphLinfTraits_2` +\cgalModels{SegmentDelaunayGraphLinfTraits_2} \sa `CGAL::Segment_Delaunay_graph_traits_2` \sa `CGAL::Segment_Delaunay_graph_Linf_2` @@ -53,7 +53,7 @@ reasonable and valid values of the template parameters and should be preferred over `Segment_Delaunay_graph_Linf_traits_without_intersections_2`. -\cgalModels `SegmentDelaunayGraphLinfTraits_2` +\cgalModels{SegmentDelaunayGraphLinfTraits_2} \sa `CGAL::Segment_Delaunay_graph_traits_without_intersections_2` \sa `CGAL::Segment_Delaunay_graph_2` diff --git a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h index 4a4a626b8eb..62c9a4f8f5b 100644 --- a/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h +++ b/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/Concepts/SegmentDelaunayGraphLinfTraits_2.h @@ -36,10 +36,12 @@ with respect to the \cgalRefines{SegmentDelaunayGraphTraits_2} -\cgalHasModel `CGAL::Segment_Delaunay_graph_Linf_traits_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_Linf_traits_without_intersections_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_Linf_filtered_traits_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_Linf_filtered_traits_without_intersections_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Segment_Delaunay_graph_Linf_traits_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_Linf_traits_without_intersections_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_Linf_filtered_traits_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_Linf_filtered_traits_without_intersections_2} +\cgalHasModelsEnd \sa `SegmentDelaunayGraphSite_2` \sa `CGAL::Segment_Delaunay_graph_Linf_2` diff --git a/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h b/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h index 4f0424d9664..6e3b2e1325b 100644 --- a/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h +++ b/Set_movable_separability_2/doc/Set_movable_separability_2/Concepts/CastingTraits_2.h @@ -7,7 +7,9 @@ \cgalRefines{DefaultConstructible,PolygonTraits_2} - \cgalHasModel Any CGAL kernel, e.g., CGAL::Exact_predicates_exact_constructions_kernel. + \cgalHasModelsBegin + \cgalHasModelsBare{Any \cgal kernel, e.g., CGAL::Exact_predicates_exact_constructions_kernel.} + \cgalHasModelsEnd */ diff --git a/Shape_detection/doc/Shape_detection/Concepts/EfficientRANSACTraits.h b/Shape_detection/doc/Shape_detection/Concepts/EfficientRANSACTraits.h index 5441f324e94..5a3cd7b16c3 100644 --- a/Shape_detection/doc/Shape_detection/Concepts/EfficientRANSACTraits.h +++ b/Shape_detection/doc/Shape_detection/Concepts/EfficientRANSACTraits.h @@ -12,8 +12,9 @@ input data has to be provided in form of a random access iterator. Point and normal property maps have to be provided to extract the points and the normals from the input. -\cgalHasModel -- `CGAL::Shape_detection::Efficient_RANSAC_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Shape_detection::Efficient_RANSAC_traits} +\cgalHasModelsEnd */ class EfficientRANSACTraits{ @@ -39,7 +40,7 @@ public: /// The 2D vector type, only required if you want to detect tori typedef unspecified_type Vector_2; - /// The number type of the Cartesian coordinates of types Point_3 + /// The number type of the %Cartesian coordinates of types Point_3 typedef unspecified_type FT; /// A model of the concept `Range` with random access iterators, providing input points and normals @@ -63,9 +64,9 @@ public: /*! * Function object type that provides * `Point_3 operator()(Origin p)` - * returning the point with 0, 0, 0 as Cartesian coordinates + * returning the point with 0, 0, 0 as %Cartesian coordinates * and `Point_3 operator()(FT x, FT y, FT z)` - * returning the point with `x`, `y` and `z` as Cartesian coordinates. + * returning the point with `x`, `y` and `z` as %Cartesian coordinates. */ typedef unspecified_type Construct_point_3; @@ -106,7 +107,7 @@ public: /*! * Function object type that provides * `Point_2 operator()(FT x, FT y)` - * returning the 2D point with `x` and `y` as Cartesian coordinates. + * returning the 2D point with `x` and `y` as %Cartesian coordinates. * Only required if you want to detect tori. */ typedef unspecified_type Construct_point_2; diff --git a/Shape_detection/doc/Shape_detection/Concepts/NeighborQuery.h b/Shape_detection/doc/Shape_detection/Concepts/NeighborQuery.h index 5495e5d0c9a..f0522b061ef 100644 --- a/Shape_detection/doc/Shape_detection/Concepts/NeighborQuery.h +++ b/Shape_detection/doc/Shape_detection/Concepts/NeighborQuery.h @@ -5,11 +5,12 @@ A concept that describes the set of methods used by the `CGAL::Shape_detection::Region_growing` to access neighbors of an item. -\cgalHasModel -- `CGAL::Shape_detection::Point_set::K_neighbor_query` -- `CGAL::Shape_detection::Point_set::Sphere_neighbor_query` -- `CGAL::Shape_detection::Polygon_mesh::Polyline_graph` -- `CGAL::Shape_detection::Polygon_mesh::One_ring_neighbor_query` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Shape_detection::Point_set::K_neighbor_query} +\cgalHasModels{CGAL::Shape_detection::Point_set::Sphere_neighbor_query} +\cgalHasModels{CGAL::Shape_detection::Polygon_mesh::Polyline_graph} +\cgalHasModels{CGAL::Shape_detection::Polygon_mesh::One_ring_neighbor_query} +\cgalHasModelsEnd */ class NeighborQuery { diff --git a/Shape_detection/doc/Shape_detection/Concepts/RegionType.h b/Shape_detection/doc/Shape_detection/Concepts/RegionType.h index f1366dc8aba..e1f2551fa5b 100644 --- a/Shape_detection/doc/Shape_detection/Concepts/RegionType.h +++ b/Shape_detection/doc/Shape_detection/Concepts/RegionType.h @@ -7,14 +7,15 @@ to maintain a region. A region is represented by a set items, which are included in this region. -\cgalHasModel -- `CGAL::Shape_detection::Point_set::Least_squares_line_fit_region` -- `CGAL::Shape_detection::Point_set::Least_squares_circle_fit_region` -- `CGAL::Shape_detection::Point_set::Least_squares_plane_fit_region` -- `CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region` -- `CGAL::Shape_detection::Point_set::Least_squares_cylinder_fit_region` -- `CGAL::Shape_detection::Segment_set::Least_squares_line_fit_region` -- `CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Shape_detection::Point_set::Least_squares_line_fit_region} +\cgalHasModels{CGAL::Shape_detection::Point_set::Least_squares_circle_fit_region} +\cgalHasModels{CGAL::Shape_detection::Point_set::Least_squares_plane_fit_region} +\cgalHasModels{CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region} +\cgalHasModels{CGAL::Shape_detection::Point_set::Least_squares_cylinder_fit_region} +\cgalHasModels{CGAL::Shape_detection::Segment_set::Least_squares_line_fit_region} +\cgalHasModels{CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region} +\cgalHasModelsEnd */ class RegionType { diff --git a/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h b/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h index 4aa40c42e38..92571c43b1d 100644 --- a/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h +++ b/Shape_detection/include/CGAL/Polygon_mesh_processing/region_growing.h @@ -21,6 +21,7 @@ #include #include #include +#include namespace CGAL { namespace Polygon_mesh_processing { @@ -51,6 +52,46 @@ namespace internal { fill_plane_or_vector_map(normals, region_map, typename boost::property_traits::value_type()); } + +template +class One_ring_neighbor_query_with_constraints +{ + using face_descriptor = typename boost::graph_traits::face_descriptor; + using halfedge_descriptor = typename boost::graph_traits::halfedge_descriptor; + using Face_graph = PolygonMesh; +public: + + using Item = typename boost::graph_traits::face_descriptor; + using Region = std::vector; + + One_ring_neighbor_query_with_constraints(const PolygonMesh& pmesh, ECM ecm) + : m_face_graph(pmesh) + , m_ecm(ecm) + {} + + void operator()( + const Item query, + std::vector& neighbors) const { + + neighbors.clear(); + const auto query_hedge = halfedge(query, m_face_graph); + + for (halfedge_descriptor h : halfedges_around_face(query_hedge, m_face_graph)) + { + if (get(m_ecm, edge(h, m_face_graph))) continue; + face_descriptor f=face(opposite(h,m_face_graph), m_face_graph); + if (f != boost::graph_traits::null_face()) + { + neighbors.push_back(f); + } + } + } + +private: + const Face_graph& m_face_graph; + ECM m_ecm; +}; + } /*! @@ -140,13 +181,21 @@ region_growing_of_planes_on_faces(const PolygonMesh& mesh, using parameters::choose_parameter; using parameters::get_parameter; + typedef typename boost::graph_traits::edge_descriptor edge_descriptor; + typedef typename internal_np::Lookup_named_param_def < + internal_np::edge_is_constrained_t, + NamedParameters, + Static_boolean_property_map // default (no constraint pmap) + > ::type ECM; + ECM ecm = choose_parameter(get_parameter(np, internal_np::edge_is_constrained), + Static_boolean_property_map()); - using Neighbor_query = RG_PM::One_ring_neighbor_query; + using Neighbor_query = internal::One_ring_neighbor_query_with_constraints; using Region_type = RG_PM::Least_squares_plane_fit_region; using Sorting = RG_PM::Least_squares_plane_fit_sorting; using Region_growing = CGAL::Shape_detection::Region_growing; - Neighbor_query neighbor_query(mesh); + Neighbor_query neighbor_query(mesh, ecm); Region_type region_type(mesh, np); Sorting sorting(mesh, neighbor_query, np); sorting.sort(); @@ -346,6 +395,12 @@ detect_corners_of_regions( put(ecm, e, true); } + //init to -1 by default + for(vertex_descriptor v : vertices(mesh)) + { + put(corner_id_map, v, std::size_t(-1)); + } + // filter trivial edges: incident to a plane with only one face // such an edge cannot be removed and its vertices are corners std::vector nb_faces_per_patch(nb_regions,0); @@ -373,15 +428,18 @@ detect_corners_of_regions( Line_region line_region(np.segment_map(pgraph.segment_map())); - Line_sorting line_sorting( - segment_range, pgraph, CGAL::parameters::segment_map(pgraph.segment_map())); - line_sorting.sort(); - - RG_lines rg_lines( - segment_range, pgraph, line_region); - std::vector< std::pair > > subregions; // TODO dump into pmap lines - rg_lines.detect(std::back_inserter(subregions)); + if (!segment_range.empty()) + { + Line_sorting line_sorting( + segment_range, pgraph, CGAL::parameters::segment_map(pgraph.segment_map())); + line_sorting.sort(); + + RG_lines rg_lines( + segment_range, pgraph, line_region); + + rg_lines.detect(std::back_inserter(subregions)); + } #ifdef CGAL_DEBUG_DETECT_CORNERS_OF_REGIONS std::ofstream debug_corners("corners.xyz"); @@ -416,11 +474,13 @@ detect_corners_of_regions( for (vertex_descriptor v : line_vertices) if (vertex_count[v]==1) { -#ifdef CGAL_DEBUG_DETECT_CORNERS_OF_REGIONS - debug_corners << mesh.point(v) << "\n"; -#endif if (get(corner_id_map, v) == std::size_t(-1)) + { +#ifdef CGAL_DEBUG_DETECT_CORNERS_OF_REGIONS + debug_corners << mesh.point(v) << "\n"; +#endif put(corner_id_map, v, cid++); + } } } @@ -432,9 +492,19 @@ detect_corners_of_regions( #endif put(ecm, e, true); if (get(corner_id_map, source(e, mesh))==std::size_t(-1)) + { +#ifdef CGAL_DEBUG_DETECT_CORNERS_OF_REGIONS + debug_corners << mesh.point(source(e, mesh)) << "\n"; +#endif put(corner_id_map, source(e, mesh), cid++); + } if (get(corner_id_map, target(e, mesh))==std::size_t(-1)) + { +#ifdef CGAL_DEBUG_DETECT_CORNERS_OF_REGIONS + debug_corners << mesh.point(target(e, mesh)) << "\n"; +#endif put(corner_id_map, target(e, mesh), cid++); + } } return cid; diff --git a/Shape_detection/include/CGAL/Shape_detection/Efficient_RANSAC/Efficient_RANSAC_traits.h b/Shape_detection/include/CGAL/Shape_detection/Efficient_RANSAC/Efficient_RANSAC_traits.h index da8c3713990..37df7a5bcc0 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Efficient_RANSAC/Efficient_RANSAC_traits.h +++ b/Shape_detection/include/CGAL/Shape_detection/Efficient_RANSAC/Efficient_RANSAC_traits.h @@ -23,7 +23,7 @@ namespace CGAL { \ingroup PkgShapeDetectionRANSAC \brief %Default traits class for the `CGAL::Shape_detection::Efficient_RANSAC`. - \cgalModels `EfficientRANSACTraits` + \cgalModels{EfficientRANSACTraits} \tparam Gt must be a model of the concept `Kernel` with `Gt::FT` being `float` or `double`. diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/K_neighbor_query.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/K_neighbor_query.h index 87feb7a2bd7..9366ebaa6a6 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/K_neighbor_query.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/K_neighbor_query.h @@ -49,7 +49,7 @@ namespace Point_set { a model of `ReadablePropertyMap` whose key type is the value type of the input range and value type is `Kernel::Point_2` or `Kernel::Point_3` - \cgalModels `NeighborQuery` + \cgalModels{NeighborQuery} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h index f3199cdcb7e..15c5d39e13c 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_circle_fit_region.h @@ -48,7 +48,7 @@ namespace Point_set { \tparam NormalMap a model of `ReadablePropertyMap` whose key type is `Item` and value type is `Kernel::Vector_2` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h index 110cf55972d..12543ef500f 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_cylinder_fit_region.h @@ -48,7 +48,7 @@ namespace Point_set { \tparam NormalMap a model of `ReadablePropertyMap` whose key type is `Item` and value type is `Kernel::Vector_3` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h index 8111ac2f599..d61ecad6b1d 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_line_fit_region.h @@ -50,7 +50,7 @@ namespace Point_set { a model of `ReadablePropertyMap` whose key type is the value type of the input range and value type is `Kernel::Vector_2` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h index 601f5f5748d..912114e693a 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_plane_fit_region.h @@ -51,7 +51,7 @@ namespace Point_set { range and value type is `Kernel::Vector_3` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h index 4661f2ea132..55b935c357e 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h @@ -50,7 +50,7 @@ namespace Point_set { a model of `ReadablePropertyMap` whose key type is the value type of the input range and value type is `Kernel::Vector_3` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Sphere_neighbor_query.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Sphere_neighbor_query.h index e36658c45b5..3230b3b097a 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Sphere_neighbor_query.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Point_set/Sphere_neighbor_query.h @@ -48,7 +48,7 @@ namespace Point_set { \tparam PointMap a model of `ReadablePropertyMap` whose key type is `Item_` and value type is `GeomTraits::Point_2` or `GeomTraits::Point_3` - \cgalModels `NeighborQuery` + \cgalModels{NeighborQuery} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h index 74fa797fee4..61e157c8745 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h @@ -45,7 +45,7 @@ namespace Polygon_mesh { a model of `ReadablePropertyMap` whose key type is the vertex type of a polygon mesh and value type is `Kernel::Point_3` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/One_ring_neighbor_query.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/One_ring_neighbor_query.h index 635d23d5fec..71df088e9a0 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/One_ring_neighbor_query.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/One_ring_neighbor_query.h @@ -38,7 +38,7 @@ namespace Polygon_mesh { a model of `ConstRange` whose iterator type is `RandomAccessIterator` and value type is the face type of a polygon mesh - \cgalModels `NeighborQuery` + \cgalModels{NeighborQuery} */ template class One_ring_neighbor_query diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Polyline_graph.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Polyline_graph.h index 3c4fb0e823c..6354362e773 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Polyline_graph.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Polygon_mesh/Polyline_graph.h @@ -38,7 +38,7 @@ namespace Polygon_mesh { a model of `ReadablePropertyMap` whose key type is the vertex type of a polygon mesh and value type is `Point_3` from a \cgal %Kernel - \cgalModels `NeighborQuery` + \cgalModels{NeighborQuery} */ template< typename PolygonMesh, diff --git a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h index 1ba03dfcb59..702cbaa0fb9 100644 --- a/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h +++ b/Shape_detection/include/CGAL/Shape_detection/Region_growing/Segment_set/Least_squares_line_fit_region.h @@ -47,7 +47,7 @@ namespace Segment_set { a model of `ReadablePropertyMap` whose key type is `Item` and value type is `Kernel::Segment_2` or `Kernel::Segment_3` - \cgalModels `RegionType` + \cgalModels{RegionType} */ template< typename GeomTraits, diff --git a/Shape_regularization/doc/Shape_regularization/Concepts/ContourDirections.h b/Shape_regularization/doc/Shape_regularization/Concepts/ContourDirections.h index f0e4a54c1a1..9803efdf5c2 100644 --- a/Shape_regularization/doc/Shape_regularization/Concepts/ContourDirections.h +++ b/Shape_regularization/doc/Shape_regularization/Concepts/ContourDirections.h @@ -10,10 +10,11 @@ a model of this concept, the user sets such directions and provides a way to ori contour edges towards these directions. All contour regularization functions in this package are parameterized by this concept. -\cgalHasModel -- `Contours::Longest_direction_2` -- `Contours::Multiple_directions_2` -- `Contours::User_defined_directions_2` +\cgalHasModelsBegin +\cgalHasModels{Contours::Longest_direction_2} +\cgalHasModels{Contours::Multiple_directions_2} +\cgalHasModels{Contours::User_defined_directions_2} +\cgalHasModelsEnd */ class ContourDirections { diff --git a/Shape_regularization/doc/Shape_regularization/Concepts/NeighborQuery.h b/Shape_regularization/doc/Shape_regularization/Concepts/NeighborQuery.h index 4d8074eee9d..ebfa48ea755 100644 --- a/Shape_regularization/doc/Shape_regularization/Concepts/NeighborQuery.h +++ b/Shape_regularization/doc/Shape_regularization/Concepts/NeighborQuery.h @@ -9,8 +9,9 @@ A concept that describes the set of methods used by the class `QP_regularization` to access neighbors of a geometric object being regularized. -\cgalHasModel -- `Segments::Delaunay_neighbor_query_2` +\cgalHasModelsBegin +\cgalHasModels{Segments::Delaunay_neighbor_query_2} +\cgalHasModelsEnd */ class NeighborQuery { diff --git a/Shape_regularization/doc/Shape_regularization/Concepts/RegularizationType.h b/Shape_regularization/doc/Shape_regularization/Concepts/RegularizationType.h index eb3a764af8e..bb3956c75a3 100644 --- a/Shape_regularization/doc/Shape_regularization/Concepts/RegularizationType.h +++ b/Shape_regularization/doc/Shape_regularization/Concepts/RegularizationType.h @@ -9,9 +9,10 @@ A concept that describes the set of methods used by the class `QP_regularization` to access various data required for setting up the the global regularization problem. -\cgalHasModel -- `Segments::Angle_regularization_2` -- `Segments::Offset_regularization_2` +\cgalHasModelsBegin +\cgalHasModels{Segments::Angle_regularization_2} +\cgalHasModels{Segments::Offset_regularization_2} +\cgalHasModelsEnd */ class RegularizationType { diff --git a/Shape_regularization/include/CGAL/Shape_regularization/Contours/Longest_direction_2.h b/Shape_regularization/include/CGAL/Shape_regularization/Contours/Longest_direction_2.h index 199417f31b1..55a6d51ac50 100644 --- a/Shape_regularization/include/CGAL/Shape_regularization/Contours/Longest_direction_2.h +++ b/Shape_regularization/include/CGAL/Shape_regularization/Contours/Longest_direction_2.h @@ -42,7 +42,7 @@ namespace Contours { range and value type is `GeomTraits::Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `ContourDirections` + \cgalModels{ContourDirections} */ template< typename GeomTraits, diff --git a/Shape_regularization/include/CGAL/Shape_regularization/Contours/Multiple_directions_2.h b/Shape_regularization/include/CGAL/Shape_regularization/Contours/Multiple_directions_2.h index 6d0ac4dca6f..0a5dda27340 100644 --- a/Shape_regularization/include/CGAL/Shape_regularization/Contours/Multiple_directions_2.h +++ b/Shape_regularization/include/CGAL/Shape_regularization/Contours/Multiple_directions_2.h @@ -48,7 +48,7 @@ namespace Contours { range and value type is `GeomTraits::Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `ContourDirections` + \cgalModels{ContourDirections} */ template< typename GeomTraits, diff --git a/Shape_regularization/include/CGAL/Shape_regularization/Contours/User_defined_directions_2.h b/Shape_regularization/include/CGAL/Shape_regularization/Contours/User_defined_directions_2.h index 442efbe56a7..c1fe8a8d90a 100644 --- a/Shape_regularization/include/CGAL/Shape_regularization/Contours/User_defined_directions_2.h +++ b/Shape_regularization/include/CGAL/Shape_regularization/Contours/User_defined_directions_2.h @@ -42,7 +42,7 @@ namespace Contours { range and value type is `GeomTraits::Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `ContourDirections` + \cgalModels{ContourDirections} */ template< typename GeomTraits, diff --git a/Shape_regularization/include/CGAL/Shape_regularization/Segments/Angle_regularization_2.h b/Shape_regularization/include/CGAL/Shape_regularization/Segments/Angle_regularization_2.h index 4413dd3c133..f45f4a24f1c 100644 --- a/Shape_regularization/include/CGAL/Shape_regularization/Segments/Angle_regularization_2.h +++ b/Shape_regularization/include/CGAL/Shape_regularization/Segments/Angle_regularization_2.h @@ -46,7 +46,7 @@ namespace Segments { range and value type is `GeomTraits::Segment_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `RegularizationType` + \cgalModels{RegularizationType} */ template< typename GeomTraits, diff --git a/Shape_regularization/include/CGAL/Shape_regularization/Segments/Delaunay_neighbor_query_2.h b/Shape_regularization/include/CGAL/Shape_regularization/Segments/Delaunay_neighbor_query_2.h index ef31b408965..501997d16f1 100644 --- a/Shape_regularization/include/CGAL/Shape_regularization/Segments/Delaunay_neighbor_query_2.h +++ b/Shape_regularization/include/CGAL/Shape_regularization/Segments/Delaunay_neighbor_query_2.h @@ -52,7 +52,7 @@ namespace Segments { and value type is `GeomTraits::Segment_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `NeighborQuery` + \cgalModels{NeighborQuery} */ template< typename GeomTraits, diff --git a/Shape_regularization/include/CGAL/Shape_regularization/Segments/Offset_regularization_2.h b/Shape_regularization/include/CGAL/Shape_regularization/Segments/Offset_regularization_2.h index 0ea5e7e1523..597a101bcbe 100644 --- a/Shape_regularization/include/CGAL/Shape_regularization/Segments/Offset_regularization_2.h +++ b/Shape_regularization/include/CGAL/Shape_regularization/Segments/Offset_regularization_2.h @@ -51,7 +51,7 @@ namespace Segments { and value type is `GeomTraits::Segment_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `RegularizationType` + \cgalModels{RegularizationType} */ template< typename GeomTraits, diff --git a/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_3.h b/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_3.h index 6268dc5925b..cb1fe0066a1 100644 --- a/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_3.h +++ b/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_3.h @@ -12,7 +12,7 @@ The template argument must be a model of the concept to construct a regular triangulation of the weighted points and for point location in the mixed complex. -\cgalModels `SkinSurface_3` +\cgalModels{SkinSurface_3} */ template< typename SkinSurfaceTraits_3 > diff --git a/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_traits_3.h b/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_traits_3.h index 9ce736e258e..ca183bc617f 100644 --- a/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_traits_3.h +++ b/Skin_surface_3/doc/Skin_surface_3/CGAL/Skin_surface_traits_3.h @@ -10,7 +10,7 @@ the `SkinSurfaceTraits_3`. \tparam K must be a model of the `Kernel` concept. -\cgalModels `SkinSurfaceTraits_3` +\cgalModels{SkinSurfaceTraits_3} */ template< typename K > diff --git a/Skin_surface_3/doc/Skin_surface_3/CGAL/Union_of_balls_3.h b/Skin_surface_3/doc/Skin_surface_3/CGAL/Union_of_balls_3.h index 697490f6a9d..6c6ec8239c7 100644 --- a/Skin_surface_3/doc/Skin_surface_3/CGAL/Union_of_balls_3.h +++ b/Skin_surface_3/doc/Skin_surface_3/CGAL/Union_of_balls_3.h @@ -14,7 +14,7 @@ The template argument must be a model of the concept predicates to construct a regular triangulation of the weighted points. -\cgalModels `SkinSurface_3` +\cgalModels{SkinSurface_3} */ template< typename SkinSurfaceTraits_3 > diff --git a/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h b/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h index 6551020f4f0..e0d7e4196bb 100644 --- a/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h +++ b/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurfaceTraits_3.h @@ -10,7 +10,9 @@ polyhedral mesh approximating a skin surface \cgalRefines{RegularTriangulationTraits_3} -\cgalHasModel `CGAL::Skin_surface_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Skin_surface_traits_3} +\cgalHasModelsEnd \sa `CGAL::Skin_surface_3` \sa `CGAL::Skin_surface_traits_3` diff --git a/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurface_3.h b/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurface_3.h index a4dad53d72e..58fef5d3800 100644 --- a/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurface_3.h +++ b/Skin_surface_3/doc/Skin_surface_3/Concepts/SkinSurface_3.h @@ -9,8 +9,10 @@ The concept requires a constructor from an iterator range of weighted points and a shrink factor. By default the input balls are grown in such that the skin surface wraps around the input balls. -\cgalHasModel `CGAL::Skin_surface_3` -\cgalHasModel `CGAL::Union_of_balls_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Skin_surface_3} +\cgalHasModels{CGAL::Union_of_balls_3} +\cgalHasModelsEnd */ diff --git a/Snap_rounding_2/doc/Snap_rounding_2/CGAL/Snap_rounding_traits_2.h b/Snap_rounding_2/doc/Snap_rounding_2/CGAL/Snap_rounding_traits_2.h index 584dbdea058..2a54841c21a 100644 --- a/Snap_rounding_2/doc/Snap_rounding_2/CGAL/Snap_rounding_traits_2.h +++ b/Snap_rounding_2/doc/Snap_rounding_2/CGAL/Snap_rounding_traits_2.h @@ -27,7 +27,7 @@ coordinate, the resulting ISR, may be imprecise, and the distance between some vertex and a non-incident edge can be slightly less than the guaranteed half-the width-of-a-pixel. -\cgalModels `SnapRoundingTraits_2` +\cgalModels{SnapRoundingTraits_2} */ template< typename Kernel > diff --git a/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h b/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h index 0138ce98d6b..5cc0f58e596 100644 --- a/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h +++ b/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h @@ -11,7 +11,9 @@ some function object types for the required predicates on those primitives. \cgalRefines{ArrangementTraits_2} -\cgalHasModel `CGAL::Snap_rounding_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Snap_rounding_traits_2} +\cgalHasModelsEnd */ class SnapRoundingTraits_2 { @@ -171,7 +173,9 @@ namespace SRTraits_2{ \cgalConcept Represents an iso rectangle \cgalRefines{DefaultConstructible,CopyConstructible,Assignable} - \cgalHasModel \link SnapRoundingTraits_2::Iso_rectangle_2 `Snap_rounding_traits_2::Iso_rectangle_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Iso_rectangle_2 `Snap_rounding_traits_2::Iso_rectangle_2` \endlink} + \cgalHasModelsEnd */ class IsoRectangle_2 {}; @@ -180,7 +184,9 @@ class IsoRectangle_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableBinaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Construct_vertex_2 `Snap_rounding_traits_2::Construct_vertex_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Construct_vertex_2 `Snap_rounding_traits_2::Construct_vertex_2` \endlink} + \cgalHasModelsEnd */ class ConstructVertex_2 { @@ -197,7 +203,9 @@ class ConstructVertex_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableBinaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Construct_segment_2 `Snap_rounding_traits_2::Construct_segment_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Construct_segment_2 `Snap_rounding_traits_2::Construct_segment_2` \endlink} + \cgalHasModelsEnd */ class ConstructSegment_2 { @@ -214,7 +222,9 @@ class ConstructSegment_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableQuaternaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Construct_iso_rectangle_2 `Snap_rounding_traits_2::Construct_iso_rectangle_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Construct_iso_rectangle_2 `Snap_rounding_traits_2::Construct_iso_rectangle_2` \endlink} + \cgalHasModelsEnd */ class ConstructIsoRectangle_2 { @@ -235,7 +245,9 @@ class ConstructIsoRectangle_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableBinaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Compare_x_2 `Snap_rounding_traits_2::Compare_x_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Compare_x_2 `Snap_rounding_traits_2::Compare_x_2` \endlink} + \cgalHasModelsEnd */ class CompareX_2 { @@ -251,7 +263,9 @@ class CompareX_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableBinaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Compare_y_2 `Snap_rounding_traits_2::Compare_y_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Compare_y_2 `Snap_rounding_traits_2::Compare_y_2` \endlink} + \cgalHasModelsEnd */ class CompareY_2 { @@ -268,7 +282,9 @@ class CompareY_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableQuaternaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Snap_2 `Snap_rounding_traits_2::Snap_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Snap_2 `Snap_rounding_traits_2::Snap_2` \endlink} + \cgalHasModelsEnd */ class Snap_2 { @@ -287,7 +303,9 @@ class Snap_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableBinaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Integer_grid_point_2 `Snap_rounding_traits_2::Integer_grid_point_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Integer_grid_point_2 `Snap_rounding_traits_2::Integer_grid_point_2` \endlink} + \cgalHasModelsEnd */ class IntegerGridPoint_2 @@ -308,7 +326,9 @@ class IntegerGridPoint_2 \ingroup PkgSnapRounding2Concepts \cgalConcept \cgalRefines{AdaptableTernaryFunction} - \cgalHasModel \link SnapRoundingTraits_2::Minkowski_sum_with_pixel_2 `Snap_rounding_traits_2::Minkowski_sum_with_pixel_2` \endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link SnapRoundingTraits_2::Minkowski_sum_with_pixel_2 `Snap_rounding_traits_2::Minkowski_sum_with_pixel_2` \endlink} + \cgalHasModelsEnd */ class MinkowskiSumWithPixel_2 { diff --git a/Solver_interface/doc/Solver_interface/Concepts/DiagonalizeTraits.h b/Solver_interface/doc/Solver_interface/Concepts/DiagonalizeTraits.h index 7b00e83e119..8c22838c7cc 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/DiagonalizeTraits.h +++ b/Solver_interface/doc/Solver_interface/Concepts/DiagonalizeTraits.h @@ -19,7 +19,9 @@ follows: \tparam FT Number type \tparam dim Dimension of the matrices and vectors -\cgalHasModel `CGAL::Eigen_diagonalize_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_diagonalize_traits} +\cgalHasModelsEnd */ template class DiagonalizeTraits diff --git a/Solver_interface/doc/Solver_interface/Concepts/MixedIntegerProgramTraits.h b/Solver_interface/doc/Solver_interface/Concepts/MixedIntegerProgramTraits.h index 8504337f1fc..b20bbdcb36f 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/MixedIntegerProgramTraits.h +++ b/Solver_interface/doc/Solver_interface/Concepts/MixedIntegerProgramTraits.h @@ -7,7 +7,9 @@ class MixedIntegerProgramTraits `MixedIntegerProgramVariable` is a concept of a variable in a Mixed Integer Programming (MIP) problem. -\cgalHasModel `CGAL::Variable` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Variable} +\cgalHasModelsEnd */ template class MixedIntegerProgramVariable @@ -112,7 +114,9 @@ public: `MixedIntegerProgramLinearConstraint` is a concept of a linear constraint in a Mixed Integer Programming (MIP) problem. -\cgalHasModel `CGAL::Linear_constraint` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Linear_constraint} +\cgalHasModelsEnd */ template class MixedIntegerProgramLinearConstraint @@ -209,7 +213,9 @@ public: `MixedIntegerProgramLinearObjective` is a concept of the linear objective function in a Mixed Integer Programming (MIP) problem. -\cgalHasModel `CGAL::Linear_objective` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Linear_objective} +\cgalHasModelsEnd */ template class MixedIntegerProgramLinearObjective @@ -277,9 +283,11 @@ Mixed Integer Programming (MIP) problems. A model of this concept stores the int variables, linear objective, and linear constraints (if any) and provides a method to solve the problem. -\cgalHasModel `CGAL::Mixed_integer_program_traits` -\cgalHasModel `CGAL::GLPK_mixed_integer_program_traits` -\cgalHasModel `CGAL::SCIP_mixed_integer_program_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Mixed_integer_program_traits} +\cgalHasModels{CGAL::GLPK_mixed_integer_program_traits} +\cgalHasModels{CGAL::SCIP_mixed_integer_program_traits} +\cgalHasModelsEnd */ template class MixedIntegerProgramTraits diff --git a/Solver_interface/doc/Solver_interface/Concepts/NormalEquationSparseLinearAlgebraTraits_d.h b/Solver_interface/doc/Solver_interface/Concepts/NormalEquationSparseLinearAlgebraTraits_d.h index 36c16f629ea..11e2d309d26 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/NormalEquationSparseLinearAlgebraTraits_d.h +++ b/Solver_interface/doc/Solver_interface/Concepts/NormalEquationSparseLinearAlgebraTraits_d.h @@ -7,7 +7,9 @@ Concept describing the set of requirements for solving the normal equation \f$ A \sa `SparseLinearAlgebraTraits_d` -\cgalHasModel `CGAL::Eigen_solver_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_solver_traits} +\cgalHasModelsEnd */ class NormalEquationSparseLinearAlgebraTraits_d { diff --git a/Solver_interface/doc/Solver_interface/Concepts/QuadraticProgramTraits.h b/Solver_interface/doc/Solver_interface/Concepts/QuadraticProgramTraits.h index 189f0da26b7..f03f5ed21ce 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/QuadraticProgramTraits.h +++ b/Solver_interface/doc/Solver_interface/Concepts/QuadraticProgramTraits.h @@ -24,8 +24,9 @@ where \f$ l_i \in \mathbb{R} \cup \{-\infty\} \f$ for all \f$ i \f$, where \f$ u_i \in \mathbb{R} \cup \{+\infty\} \f$ for all \f$ i \f$. -\cgalHasModel -`CGAL::OSQP_quadratic_program_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::OSQP_quadratic_program_traits} +\cgalHasModelsEnd */ class QuadraticProgramTraits { diff --git a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h index e0555447812..b44b686dbb8 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h +++ b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraTraits_d.h @@ -4,7 +4,9 @@ The concept `SparseLinearAlgebraTraits_d` is used to solve sparse linear systems A\f$ \times \f$ X = B. -\cgalHasModel `CGAL::Eigen_solver_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_solver_traits} +\cgalHasModelsEnd */ class SparseLinearAlgebraTraits_d { @@ -62,7 +64,9 @@ by a sparse matrix. \cgalRefines{DefaultConstructible} -\cgalHasModel `CGAL::Eigen_vector` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_vector} +\cgalHasModelsEnd \sa `SparseLinearAlgebraTraits_d` \sa `SparseLinearAlgebraTraits_d::Matrix` @@ -129,8 +133,10 @@ NT& operator[](Index row); \cgalRefines{Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Eigen_sparse_matrix` -\cgalHasModel `CGAL::Eigen_sparse_symmetric_matrix` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_sparse_matrix} +\cgalHasModels{CGAL::Eigen_sparse_symmetric_matrix} +\cgalHasModelsEnd \sa `SparseLinearAlgebraTraits_d` \sa `SparseLinearAlgebraTraits_d::Vector` diff --git a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h index 0313402d356..7c5f65cc824 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h +++ b/Solver_interface/doc/Solver_interface/Concepts/SparseLinearAlgebraWithFactorTraits_d.h @@ -8,7 +8,9 @@ method to solve the system for different right-hand vectors. \cgalRefines{SparseLinearAlgebraTraits_d} -\cgalHasModel `CGAL::Eigen_solver_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_solver_traits} +\cgalHasModelsEnd */ class SparseLinearAlgebraWithFactorTraits_d { public: diff --git a/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h b/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h index 939b29a4959..dfad56236b8 100644 --- a/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h +++ b/Solver_interface/doc/Solver_interface/Concepts/SvdTraits.h @@ -5,7 +5,9 @@ The concept `SvdTraits` describes the linear algebra types and algorithms needed to solve in the least square sense a linear system with a singular value decomposition - \cgalHasModel `CGAL::Eigen_svd` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_svd} +\cgalHasModelsEnd */ class SvdTraits { @@ -51,7 +53,9 @@ public: \cgalConcept Concept of vector type used by the concept `SvdTraits`. -\cgalHasModel `CGAL::Eigen_vector` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_vector} +\cgalHasModelsEnd */ class SvdTraits::Vector { @@ -88,7 +92,9 @@ Concept of matrix type used by the concept `SvdTraits`. \cgalRefines{DefaultConstructible,Assignable} -\cgalHasModel `CGAL::Eigen_matrix` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Eigen_matrix} +\cgalHasModelsEnd */ class SvdTraits::Matrix { diff --git a/Solver_interface/include/CGAL/Default_diagonalize_traits.h b/Solver_interface/include/CGAL/Default_diagonalize_traits.h index 930dd681ce2..fcf8fd941c8 100644 --- a/Solver_interface/include/CGAL/Default_diagonalize_traits.h +++ b/Solver_interface/include/CGAL/Default_diagonalize_traits.h @@ -30,7 +30,7 @@ namespace CGAL { /// \tparam FT Number type /// \tparam dim Dimension of the matrices and vectors /// -/// \cgalModels `DiagonalizeTraits` +/// \cgalModels{DiagonalizeTraits} template class Default_diagonalize_traits { diff --git a/Solver_interface/include/CGAL/Diagonalize_traits.h b/Solver_interface/include/CGAL/Diagonalize_traits.h index c4754bed5e9..ee8e25b949b 100644 --- a/Solver_interface/include/CGAL/Diagonalize_traits.h +++ b/Solver_interface/include/CGAL/Diagonalize_traits.h @@ -42,7 +42,7 @@ namespace CGAL { /// \tparam FT Number type /// \tparam dim Dimension of the matrices and vectors /// -/// \cgalModels `DiagonalizeTraits` +/// \cgalModels{DiagonalizeTraits} template class Diagonalize_traits { diff --git a/Solver_interface/include/CGAL/Eigen_diagonalize_traits.h b/Solver_interface/include/CGAL/Eigen_diagonalize_traits.h index 2138c377e42..7572299b622 100644 --- a/Solver_interface/include/CGAL/Eigen_diagonalize_traits.h +++ b/Solver_interface/include/CGAL/Eigen_diagonalize_traits.h @@ -51,7 +51,7 @@ struct Restricted_FT { typedef float type; }; /// \tparam FT Number type /// \tparam dim Dimension of the matrices and vectors /// -/// \cgalModels `DiagonalizeTraits` +/// \cgalModels{DiagonalizeTraits} /// /// \sa https://eigen.tuxfamily.org/index.php?title=Main_Page template diff --git a/Solver_interface/include/CGAL/Eigen_matrix.h b/Solver_interface/include/CGAL/Eigen_matrix.h index 4f28c3f7c6f..5fbbac62b7d 100644 --- a/Solver_interface/include/CGAL/Eigen_matrix.h +++ b/Solver_interface/include/CGAL/Eigen_matrix.h @@ -25,7 +25,7 @@ namespace CGAL { The class `Eigen_matrix` is a wrapper around `Eigen` matrix type `Eigen::Matrix`. -\cgalModels `SvdTraits::Matrix` +\cgalModels{SvdTraits::Matrix} \tparam T Number type. \tparam D1 Number of rows, or Dynamic diff --git a/Solver_interface/include/CGAL/Eigen_solver_traits.h b/Solver_interface/include/CGAL/Eigen_solver_traits.h index 428c33bad73..87e20f3eeb1 100644 --- a/Solver_interface/include/CGAL/Eigen_solver_traits.h +++ b/Solver_interface/include/CGAL/Eigen_solver_traits.h @@ -68,7 +68,7 @@ struct Get_eigen_matrix< ::Eigen::SparseLU, FT> The class `Eigen_solver_traits` provides an interface to the sparse solvers of \ref thirdpartyEigen "Eigen". \ref thirdpartyEigen "Eigen" version 3.1 (or later) must be available on the system. -\cgalModels `SparseLinearAlgebraWithFactorTraits_d` and `NormalEquationSparseLinearAlgebraTraits_d` +\cgalModels{SparseLinearAlgebraWithFactorTraits_d,NormalEquationSparseLinearAlgebraTraits_d} \tparam EigenSolverT A sparse solver of \ref thirdpartyEigen "Eigen". The default solver is the iterative bi-conjugate gradient stabilized solver `Eigen::BiCGSTAB` for `double`. diff --git a/Solver_interface/include/CGAL/Eigen_sparse_matrix.h b/Solver_interface/include/CGAL/Eigen_sparse_matrix.h index 8e123deeb52..2533f5fe872 100644 --- a/Solver_interface/include/CGAL/Eigen_sparse_matrix.h +++ b/Solver_interface/include/CGAL/Eigen_sparse_matrix.h @@ -24,7 +24,7 @@ The class `Eigen_sparse_matrix` is a wrapper around `Eigen` matrix type `Eigen::SparseMatrix` that represents general matrices, be they symmetric or not. -\cgalModels `SparseLinearAlgebraTraits_d::Matrix` +\cgalModels{SparseLinearAlgebraTraits_d::Matrix} \tparam T Number type. @@ -305,7 +305,7 @@ The class `Eigen_sparse_symmetric_matrix` is a wrapper around `Eigen` matrix typ Since the matrix is symmetric, only the lower triangle part is stored. -\cgalModels `SparseLinearAlgebraTraits_d::Matrix` +\cgalModels{SparseLinearAlgebraTraits_d::Matrix} \tparam T Number type. diff --git a/Solver_interface/include/CGAL/Eigen_svd.h b/Solver_interface/include/CGAL/Eigen_svd.h index 276812001b8..252382860bf 100644 --- a/Solver_interface/include/CGAL/Eigen_svd.h +++ b/Solver_interface/include/CGAL/Eigen_svd.h @@ -31,7 +31,7 @@ The class `Eigen_svd` provides an algorithm to solve in the least square sense a linear system with a singular value decomposition using \ref thirdpartyEigen. -\cgalModels `SvdTraits` +\cgalModels{SvdTraits} */ class Eigen_svd diff --git a/Solver_interface/include/CGAL/Eigen_vector.h b/Solver_interface/include/CGAL/Eigen_vector.h index b50ac037eff..313046c6010 100644 --- a/Solver_interface/include/CGAL/Eigen_vector.h +++ b/Solver_interface/include/CGAL/Eigen_vector.h @@ -23,8 +23,7 @@ The class `Eigen_vector` is a wrapper around `Eigen` vector type, which is a simple array of numbers. -\cgalModels `SvdTraits::Vector` -\cgalModels `SparseLinearAlgebraTraits_d::Vector`. +\cgalModels{SvdTraits::Vector,SparseLinearAlgebraTraits_d::Vector} \tparam T Number type. diff --git a/Solver_interface/include/CGAL/GLPK_mixed_integer_program_traits.h b/Solver_interface/include/CGAL/GLPK_mixed_integer_program_traits.h index 1218679b04a..05f46dc378f 100644 --- a/Solver_interface/include/CGAL/GLPK_mixed_integer_program_traits.h +++ b/Solver_interface/include/CGAL/GLPK_mixed_integer_program_traits.h @@ -56,7 +56,7 @@ int bound_type(FT lb, FT ub) /// `CGAL::SCIP_mixed_integer_program_traits`, or derive a new /// model from `CGAL::Mixed_integer_program_traits`. /// -/// \cgalModels `MixedIntegerProgramTraits` +/// \cgalModels{MixedIntegerProgramTraits} /// /// \sa `SCIP_mixed_integer_program_traits` template diff --git a/Solver_interface/include/CGAL/Mixed_integer_program_traits.h b/Solver_interface/include/CGAL/Mixed_integer_program_traits.h index 472e6dbc609..4748f3150a1 100644 --- a/Solver_interface/include/CGAL/Mixed_integer_program_traits.h +++ b/Solver_interface/include/CGAL/Mixed_integer_program_traits.h @@ -100,7 +100,7 @@ namespace CGAL { /// /// The variable of a mixed integer program. /// - /// \cgalModels `MixedIntegerProgramVariable` + /// \cgalModels{MixedIntegerProgramVariable} template class Variable : public Solver_entry, public Bound { @@ -199,7 +199,7 @@ namespace CGAL { /// /// The linear constraint of a mixed integer program. /// - /// \cgalModels `MixedIntegerProgramLinearConstraint` + /// \cgalModels{MixedIntegerProgramLinearConstraint} template class Linear_constraint : public Linear_expression, public Bound { @@ -231,7 +231,7 @@ namespace CGAL { /// /// The linear objective of a mixed integer program. /// - /// \cgalModels `MixedIntegerProgramLinearObjective` + /// \cgalModels{MixedIntegerProgramLinearObjective} /// template class Linear_objective : public Linear_expression @@ -281,7 +281,7 @@ namespace CGAL { /// \tparam FT Number type /// \endcond /// - /// \cgalModels `MixedIntegerProgramTraits` + /// \cgalModels{MixedIntegerProgramTraits} template class Mixed_integer_program_traits { diff --git a/Solver_interface/include/CGAL/OSQP_quadratic_program_traits.h b/Solver_interface/include/CGAL/OSQP_quadratic_program_traits.h index 261c4c514b0..46308431ea7 100644 --- a/Solver_interface/include/CGAL/OSQP_quadratic_program_traits.h +++ b/Solver_interface/include/CGAL/OSQP_quadratic_program_traits.h @@ -48,7 +48,7 @@ namespace CGAL { type is used. After the optimization is complete, the `OSQPFloat` type is converted back to `FT`. See more about `OSQPFloat` here. - \cgalModels `QuadraticProgramTraits` + \cgalModels{QuadraticProgramTraits} */ template class OSQP_quadratic_program_traits diff --git a/Solver_interface/include/CGAL/SCIP_mixed_integer_program_traits.h b/Solver_interface/include/CGAL/SCIP_mixed_integer_program_traits.h index 734a32b192e..588da9bb9fb 100644 --- a/Solver_interface/include/CGAL/SCIP_mixed_integer_program_traits.h +++ b/Solver_interface/include/CGAL/SCIP_mixed_integer_program_traits.h @@ -36,7 +36,7 @@ namespace CGAL { /// constrained or unconstrained mixed integer programs using /// \ref thirdpartySCIP (which must be available on the system). /// -/// \cgalModels `MixedIntegerProgramTraits` +/// \cgalModels{MixedIntegerProgramTraits} /// /// \sa `GLPK_mixed_integer_program_traits` template diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance.h b/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance.h index 720ddf07410..31544634d5c 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance.h @@ -10,7 +10,7 @@ To optimize distance computations squared distances are used. \tparam Traits must be a model of the concept `SearchTraits`, for example `Search_traits_2 >`. -\cgalModels `OrthogonalDistance` +\cgalModels{OrthogonalDistance} \sa `OrthogonalDistance` \sa `CGAL::Weighted_Minkowski_distance` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance_sphere_point.h b/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance_sphere_point.h index 80ff3473229..d0eb8daacf4 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance_sphere_point.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Euclidean_distance_sphere_point.h @@ -13,7 +13,7 @@ Euclidean distance between a \f$ d\f$-dimensional sphere and a \tparam Traits must be a model of the concept `SearchTraits`, for example `Simple_cartesian_d`. -\cgalModels `GeneralDistance` +\cgalModels{GeneralDistance} \sa `GeneralDistance` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_iso_box.h b/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_iso_box.h index 298c72cf667..9ddb9d11ca3 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_iso_box.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_iso_box.h @@ -16,7 +16,7 @@ as follows: \tparam Traits must be a model of the concept `SearchTraits`, for example `CGAL::Search_traits_2 >`. -\cgalModels `FuzzyQueryItem` +\cgalModels{FuzzyQueryItem} */ template< typename Traits > class Fuzzy_iso_box { diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_sphere.h b/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_sphere.h index dac7c110cb0..8d10450bdee 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_sphere.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Fuzzy_sphere.h @@ -20,7 +20,7 @@ inner approximation. \tparam Traits must be a model of the concept `SearchTraits`, for example `CGAL::Cartesian_d`. -\cgalModels `FuzzyQueryItem` +\cgalModels{FuzzyQueryItem} */ template< typename Traits > class Fuzzy_sphere { @@ -76,7 +76,7 @@ less than \f$ r\f$. bool contains(const Point_d& p) const; /*! -Test whether the fuzzy sphere contains the point whose Cartesian coordinates +Test whether the fuzzy sphere contains the point whose %Cartesian coordinates are contained in the range [`begin`, `end`). */ template diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Manhattan_distance_iso_box_point.h b/Spatial_searching/doc/Spatial_searching/CGAL/Manhattan_distance_iso_box_point.h index 3f97520fd01..dd346747b6b 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Manhattan_distance_iso_box_point.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Manhattan_distance_iso_box_point.h @@ -13,7 +13,7 @@ and a `d`-dimensional iso-box defined as a `k-d` tree rectangle. \tparam Traits must be a model for the concept `SearchTraits`, for example `Search_traits_3 >`. -\cgalModels `GeneralDistance` +\cgalModels{GeneralDistance} \sa `GeneralDistance` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Plane_separator.h b/Spatial_searching/doc/Spatial_searching/CGAL/Plane_separator.h index a2b010c77a1..e206f669fc0 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Plane_separator.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Plane_separator.h @@ -9,7 +9,7 @@ hyperplane that is used to separate two half spaces. This hyperplane is defined by a cutting dimension `d` and a cutting value `v` as `xd=v`, where `v` denotes the `d`th coordinate value. -\cgalModels `SpatialSeparator` +\cgalModels{SpatialSeparator} */ template< typename FT > diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits.h b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits.h index 3493d48d4de..c6039d68716 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits.h @@ -6,7 +6,7 @@ namespace CGAL { The class `Search_traits` can be used as a template parameter of the kd tree and the search classes. It is a mere wrapper for the geometric types needed by these classes. -\cgalModels `SearchTraits` +\cgalModels{SearchTraits} \sa `Search_traits_2` \sa `Search_traits_3` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_2.h b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_2.h index 9e63afc17a3..7efffca47bf 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_2.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_2.h @@ -9,8 +9,7 @@ and the search classes. \tparam SearchGeomTraits must be a model of the concept `SearchGeomTraits_2`, for example `Simple_cartesian` or `Simple_cartesian`. -\cgalModels `SearchTraits` -\cgalModels `RangeSearchTraits` +\cgalModels{SearchTraits,RangeSearchTraits} \sa `Search_traits_3` \sa `Search_traits` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_3.h b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_3.h index 75dcda8229e..5862d6fe6d4 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_3.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_3.h @@ -9,8 +9,7 @@ and the search classes. \tparam GeomTraits must be a model of the concept `SearchGeomTraits_3`, for example `Simple_cartesian` or `Simple_cartesian`. -\cgalModels `SearchTraits` -\cgalModels `RangeSearchTraits` +\cgalModels{SearchTraits,RangeSearchTraits} \sa `Search_traits_2` \sa `Search_traits` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h index 78ed637466b..267933d15fc 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h @@ -16,8 +16,8 @@ with `Key` as key type and `Base_distance::Point_d` as value type. \tparam Base_distance is a model of either `GeneralDistance` or `OrthogonalDistance`. -\cgalModels `GeneralDistance` if Base_distance is a model of `GeneralDistance` -\cgalModels `OrthogonalDistance` if Base_distance is a model of `OrthogonalDistance` +\cgalModels{GeneralDistance if `Base_distance` is a model of `GeneralDistance`, + OrthogonalDistance if `Base_distance` is a model of `OrthogonalDistance`} \sa `Search_traits_adapter` @@ -87,8 +87,8 @@ with `Key` as `key_type` and `Base_distance::Point_d` as `value_type`. \tparam BaseTraits is a model of either `SearchTraits` or `RangeSearchTraits`. -\cgalModels `SearchTraits` if `BaseTraits` is a model of `SearchTraits`. -\cgalModels `RangeSearchTraits` if `BaseTraits` is a model of `RangeSearchTraits`. +\cgalModels{SearchTraits if `BaseTraits` is a model of `SearchTraits`., + RangeSearchTraits if `BaseTraits` is a model of `RangeSearchTraits`.} \sa `Distance_adapter` \sa `Search_traits_2` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_d.h b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_d.h index a25f1e96796..0dba1c583ee 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_d.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_d.h @@ -11,8 +11,7 @@ and the search classes. \tparam Dim must be a `Dimension_tag` (default value is `Dynamic_dimension_tag`). -\cgalModels `SearchTraits` -\cgalModels `RangeSearchTraits` +\cgalModels{SearchTraits,RangeSearchTraits} \sa `Search_traits_2` \sa `Search_traits_3` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Splitters.h b/Spatial_searching/doc/Spatial_searching/CGAL/Splitters.h index dc0a8248824..11f6ffda322 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Splitters.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Splitters.h @@ -20,7 +20,7 @@ the concept `SearchTraits`, for example `CGAL::Search_traits_2`. \tparam SpatialSeparator must be a model of the concept `SpatialSeparator`. It has as default value the type `Plane_separator`. -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` @@ -78,7 +78,7 @@ the type `CGAL::Search_traits_3< Cartesian >`. Expects for the second template argument a model of the concept `SpatialSeparator`. It has as default value the type, `CGAL::Plane_separator`. -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` @@ -125,7 +125,7 @@ the type `CGAL::Search_traits_3< Cartesian >`. Expects for the second template argument a model of the concept `SpatialSeparator`. It has as default value the type, `CGAL::Plane_separator`. -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` @@ -171,7 +171,7 @@ the type `CGAL::Search_traits_3< Cartesian >`. Expects for the second template argument a model of the concept `SpatialSeparator`. It has as default value the type, `CGAL::Plane_separator` -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` @@ -216,7 +216,7 @@ the type `CGAL::Search_traits_3< Cartesian >`. Expects for the second template argument a model of the concept `SpatialSeparator`. It has as default value the type, `CGAL::Plane_separator` -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` @@ -279,7 +279,7 @@ for example `CGAL::Cartesian_d`. Expects for the second template argument a model of the concept `SpatialSeparator`. It has as default value the type, `CGAL::Plane_separator` -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` @@ -351,7 +351,7 @@ Expects for the first template argument a model of the concept Expects for the second template argument a model of the concept `SpatialSeparator`. It has as default value the type, `CGAL::Plane_separator`. -\cgalModels `Splitter` +\cgalModels{Splitter} \sa `Splitter` \sa `SpatialSeparator` diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Weighted_Minkowski_distance.h b/Spatial_searching/doc/Spatial_searching/CGAL/Weighted_Minkowski_distance.h index 80dd8677699..01041c94401 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Weighted_Minkowski_distance.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Weighted_Minkowski_distance.h @@ -16,7 +16,7 @@ done exact but with floating point arithmetic. \tparam Traits must be a model of the concept `SearchTraits`, for example `Search_traits_2`. -\cgalModels `OrthogonalDistance` +\cgalModels{OrthogonalDistance} \sa `OrthogonalDistance` \sa `CGAL::Euclidean_distance` diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/FuzzyQueryItem.h b/Spatial_searching/doc/Spatial_searching/Concepts/FuzzyQueryItem.h index a8aa2640a2c..c98f1858ce0 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/FuzzyQueryItem.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/FuzzyQueryItem.h @@ -4,8 +4,10 @@ The concept `FuzzyQueryItem` describes the requirements for fuzzy `d`-dimensional spatial objects. -\cgalHasModel `CGAL::Fuzzy_sphere` -\cgalHasModel `CGAL::Fuzzy_iso_box` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Fuzzy_sphere} +\cgalHasModels{CGAL::Fuzzy_iso_box} +\cgalHasModelsEnd */ @@ -43,7 +45,7 @@ bool contains(Point_d p) const; /*! \note Optional: must be defined when used with a `Kd_tree` where `EnablePointsCache` is set to `Tag_true`. -tests whether the query item contains the point whose Cartesian coordinates +tests whether the query item contains the point whose %Cartesian coordinates are contained in the range [`begin`, `end`). */ template diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/GeneralDistance.h b/Spatial_searching/doc/Spatial_searching/Concepts/GeneralDistance.h index fd72ee75e07..99569575b99 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/GeneralDistance.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/GeneralDistance.h @@ -8,8 +8,10 @@ To optimize distance computations transformed distances are used, e.g., for a Euclidean distance the transformed distance is the squared Euclidean distance. -\cgalHasModel `CGAL::Manhattan_distance_iso_box_point` -\cgalHasModel `CGAL::Euclidean_distance_sphere_point` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Manhattan_distance_iso_box_point} +\cgalHasModels{CGAL::Euclidean_distance_sphere_point} +\cgalHasModelsEnd */ diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h b/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h index d5b2af664e8..cd5d6b07297 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/OrthogonalDistance.h @@ -8,8 +8,10 @@ E.g., for a Euclidean distance the transformed distance is the squared Euclidean \cgalRefines{GeneralDistance} -\cgalHasModel `CGAL::Euclidean_distance` -\cgalHasModel `CGAL::Weighted_Minkowski_distance` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Euclidean_distance} +\cgalHasModels{CGAL::Weighted_Minkowski_distance} +\cgalHasModelsEnd */ diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h b/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h index 5e7e310f0a5..d78a094006e 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/RangeSearchTraits.h @@ -8,12 +8,14 @@ range search queries in a model of `SpatialTree`. \cgalRefines{SearchTraits} -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` -\cgalHasModel `CGAL::Epick_d` -\cgalHasModel `CGAL::Epeck_d` -\cgalHasModel `CGAL::Search_traits_2` -\cgalHasModel `CGAL::Search_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModels{CGAL::Epick_d} +\cgalHasModels{CGAL::Epeck_d} +\cgalHasModels{CGAL::Search_traits_2} +\cgalHasModels{CGAL::Search_traits_3} +\cgalHasModelsEnd \sa `SearchTraits` \sa `CGAL::Search_traits_adapter` diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_2.h b/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_2.h index df585ebf4fc..f55a7971ea5 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_2.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_2.h @@ -5,7 +5,9 @@ The concept `SearchGeomTraits_2` defines the requirements for the template parameter of the search traits classes. -\cgalHasModel Any \cgal Kernel +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd */ class SearchGeomTraits_2 { diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_3.h b/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_3.h index 243277705d8..5b5e5916dc9 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_3.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/SearchGeomTraits_3.h @@ -5,7 +5,9 @@ The concept `SearchGeomTraits_3` defines the requirements for the template parameter of the search traits classes. -\cgalHasModel All models of the concept `Kernel` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd */ diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/SearchTraits.h b/Spatial_searching/doc/Spatial_searching/Concepts/SearchTraits.h index 65240b519ce..ec5dcdae42d 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/SearchTraits.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/SearchTraits.h @@ -5,14 +5,16 @@ The concept `SearchTraits` defines the requirements for the template parameter of the search classes. -\cgalHasModel `CGAL::Cartesian_d` -\cgalHasModel `CGAL::Homogeneous_d` -\cgalHasModel `CGAL::Epick_d` -\cgalHasModel `CGAL::Epeck_d` -\cgalHasModel `CGAL::Search_traits_2` -\cgalHasModel `CGAL::Search_traits_3` -\cgalHasModel `CGAL::Search_traits_d` -\cgalHasModel `CGAL::Search_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Cartesian_d} +\cgalHasModels{CGAL::Homogeneous_d} +\cgalHasModels{CGAL::Epick_d} +\cgalHasModels{CGAL::Epeck_d} +\cgalHasModels{CGAL::Search_traits_2} +\cgalHasModels{CGAL::Search_traits_3} +\cgalHasModels{CGAL::Search_traits_d} +\cgalHasModels{CGAL::Search_traits} +\cgalHasModelsEnd \sa `RangeSearchTraits` \sa `CGAL::Search_traits_adapter` diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/SpatialSeparator.h b/Spatial_searching/doc/Spatial_searching/Concepts/SpatialSeparator.h index 271d102b067..32855bdf044 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/SpatialSeparator.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/SpatialSeparator.h @@ -11,7 +11,9 @@ space is said to be on the negative side of the separator and the other part of space is said to be on the positive side of the separator. -\cgalHasModel `CGAL::Plane_separator` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Plane_separator} +\cgalHasModelsEnd */ diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/SpatialTree.h b/Spatial_searching/doc/Spatial_searching/Concepts/SpatialTree.h index 6ff8b6d31b0..0f505a4864a 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/SpatialTree.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/SpatialTree.h @@ -5,7 +5,9 @@ The concept `SpatialTree` defines the requirements for a tree supporting both neighbor searching and approximate range searching. -\cgalHasModel `CGAL::Kd_tree` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Kd_tree} +\cgalHasModelsEnd */ diff --git a/Spatial_searching/doc/Spatial_searching/Concepts/Splitter.h b/Spatial_searching/doc/Spatial_searching/Concepts/Splitter.h index ee553429837..d4fc0cf64d6 100644 --- a/Spatial_searching/doc/Spatial_searching/Concepts/Splitter.h +++ b/Spatial_searching/doc/Spatial_searching/Concepts/Splitter.h @@ -7,13 +7,15 @@ The concept `Splitter` defines the requirements for a function object class implementing a splitting rule. \cgalAdvancedEnd -\cgalHasModel `CGAL::Fair` -\cgalHasModel `CGAL::Median_of_rectangle` -\cgalHasModel `CGAL::Median_of_max_spread` -\cgalHasModel `CGAL::Midpoint_of_rectangle` -\cgalHasModel `CGAL::Midpoint_of_max_spread` -\cgalHasModel `CGAL::Sliding_fair` -\cgalHasModel `CGAL::Sliding_midpoint` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Fair} +\cgalHasModels{CGAL::Median_of_rectangle} +\cgalHasModels{CGAL::Median_of_max_spread} +\cgalHasModels{CGAL::Midpoint_of_rectangle} +\cgalHasModels{CGAL::Midpoint_of_max_spread} +\cgalHasModels{CGAL::Sliding_fair} +\cgalHasModels{CGAL::Sliding_midpoint} +\cgalHasModelsEnd */ diff --git a/Spatial_searching/include/CGAL/Kd_tree.h b/Spatial_searching/include/CGAL/Kd_tree.h index 7d79f7b6670..fb1819e1faa 100644 --- a/Spatial_searching/include/CGAL/Kd_tree.h +++ b/Spatial_searching/include/CGAL/Kd_tree.h @@ -137,7 +137,7 @@ private: mutable CGAL_MUTEX building_mutex;//mutex used to protect const calls inducing build() #endif bool built_; - bool removed_; + std::size_t removed_=0; // protected copy constructor Kd_tree(const Tree& tree) @@ -278,13 +278,13 @@ private: public: Kd_tree(Splitter s = Splitter(),const SearchTraits traits=SearchTraits()) - : traits_(traits),split(s), built_(false), removed_(false) + : traits_(traits),split(s), built_(false) {} template Kd_tree(InputIterator first, InputIterator beyond, Splitter s = Splitter(),const SearchTraits traits=SearchTraits()) - : traits_(traits), split(s), pts(first, beyond), built_(false), removed_(false) + : traits_(traits), split(s), pts(first, beyond), built_(false) { } bool empty() const { @@ -324,7 +324,7 @@ public: // must call invalidate_build() first. CGAL_assertion(!is_built()); CGAL_assertion(!pts.empty()); - CGAL_assertion(!removed_); + CGAL_assertion(removed_==0); const Point_d& p = *pts.begin(); typename SearchTraits::Construct_cartesian_const_iterator_d ccci=traits_.construct_cartesian_const_iterator_d_object(); dim_ = static_cast(std::distance(ccci(p), ccci(p,0))); @@ -432,14 +432,14 @@ public: void invalidate_build() { - if(removed_){ + if(removed_!=0){ // Walk the tree to collect the remaining points. // Writing directly to pts would likely work, but better be safe. std::vector ptstmp; //ptstmp.resize(root()->num_items()); root()->tree_items(std::back_inserter(ptstmp)); pts.swap(ptstmp); - removed_=false; + removed_=0; CGAL_assertion(is_built()); // the rest of the cleanup must happen } if(is_built()){ @@ -455,7 +455,7 @@ public: { invalidate_build(); pts.clear(); - removed_ = false; + removed_ = 0; } void @@ -512,8 +512,8 @@ public: CGAL_assertion(success); // Do not set the flag is the tree has been cleared. - if(is_built()) - removed_ |= success; + if(is_built() && success) + ++removed_; } private: template @@ -684,7 +684,7 @@ public: size_type size() const { - return pts.size(); + return pts.size()-removed_; } // Print statistics of the tree. diff --git a/Spatial_sorting/doc/Spatial_sorting/CGAL/Hilbert_policy_tags.h b/Spatial_sorting/doc/Spatial_sorting/CGAL/Hilbert_policy_tags.h index fcad7194a58..e6d34441b73 100644 --- a/Spatial_sorting/doc/Spatial_sorting/CGAL/Hilbert_policy_tags.h +++ b/Spatial_sorting/doc/Spatial_sorting/CGAL/Hilbert_policy_tags.h @@ -9,8 +9,7 @@ in order to specify the strategy for spatial sorting. `Hilbert_policy` can be passed to as parameter to `hilbert_sort()` to choose the sorting policy. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} \sa `Middle` \sa `Hilbert_policy` @@ -27,8 +26,7 @@ in order to specify the strategy for spatial sorting. `Hilbert_policy` can be passed to as parameter to `hilbert_sort()` to choose the sorting policy. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} \sa `Median` \sa `Hilbert_policy` @@ -47,8 +45,7 @@ can be passed as parameter to `hilbert_sort()` to choose the sorting policy. \tparam Tag must be either `Median` or `Middle`. -\cgalModels `DefaultConstructible` -\cgalModels `CopyConstructible` +\cgalModels{DefaultConstructible,CopyConstructible} \sa `Median` \sa `Middle` diff --git a/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_2.h b/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_2.h index 92b8a1ff2c7..eb67bdc3b80 100644 --- a/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_2.h +++ b/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_2.h @@ -13,7 +13,7 @@ while the actual point type is `Base_traits::Point_2`. \tparam PointPropertyMap must be a model of `ReadablePropertyMap` with value type `Base_traits::Point_2`. -\cgalModels `SpatialSortingTraits_2` +\cgalModels{SpatialSortingTraits_2} */ template< typename Base_traits, typename PointPropertyMap > class Spatial_sort_traits_adapter_2 : public Base_traits { diff --git a/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_3.h b/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_3.h index 242620de70d..f10db637acc 100644 --- a/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_3.h +++ b/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_3.h @@ -13,7 +13,7 @@ while the actual point type is `Base_traits::Point_3`. \tparam PointPropertyMap must be a model of `ReadablePropertyMap` with value type `Base_traits::Point_3`. -\cgalModels `SpatialSortingTraits_3` +\cgalModels{SpatialSortingTraits_3} */ template< typename Base_traits, typename PointPropertyMap > diff --git a/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_d.h b/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_d.h index ca5479c2c38..6dde64ad80b 100644 --- a/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_d.h +++ b/Spatial_sorting/doc/Spatial_sorting/CGAL/Spatial_sort_traits_adapter_d.h @@ -13,7 +13,7 @@ while the actual point type is `Base_traits::Point_d`. \tparam PointPropertyMap must be a model of `ReadablePropertyMap` with value type `Base_traits::Point_d`. -\cgalModels `SpatialSortingTraits_d` +\cgalModels{SpatialSortingTraits_d} */ template< typename Base_traits, typename PointPropertyMap > diff --git a/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_2.h b/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_2.h index e2bb9ee8881..f577778a10d 100644 --- a/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_2.h +++ b/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_2.h @@ -9,8 +9,10 @@ primitives (objects and predicates) that the sorting algorithms use. `SpatialSortingTraits_2` defines the complete set of primitives required in these functions and functors. -\cgalHasModel Any \cgal kernel. -\cgalHasModel `CGAL::Spatial_sort_traits_adapter_2` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Spatial_sort_traits_adapter_2} +\cgalHasModelsEnd */ diff --git a/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_3.h b/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_3.h index 7fad8da4666..f0274680a2d 100644 --- a/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_3.h +++ b/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_3.h @@ -9,8 +9,10 @@ primitives (objects and predicates) that the sorting algorithms use. `SpatialSortingTraits_3` defines the complete set of primitives required in these functions and functors. -\cgalHasModel Any \cgal kernel. -\cgalHasModel `CGAL::Spatial_sort_traits_adapter_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Spatial_sort_traits_adapter_3} +\cgalHasModelsEnd */ diff --git a/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_d.h b/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_d.h index c91e76a99cd..8e4ca68c799 100644 --- a/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_d.h +++ b/Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_d.h @@ -9,8 +9,10 @@ primitives (objects and predicates) that the sorting algorithms use. `SpatialSortingTraits_d` defines the complete set of primitives required in these functions and functors. -\cgalHasModel Any \cgal `d`-dimensional kernel. -\cgalHasModel `CGAL::Spatial_sort_traits_adapter_d` +\cgalHasModelsBegin +\cgalHasModelsBare{Any \cgal `d`-dimensional kernel.} +\cgalHasModels{CGAL::Spatial_sort_traits_adapter_d} +\cgalHasModelsEnd */ diff --git a/Spatial_sorting/doc/Spatial_sorting/Spatial_sorting.txt b/Spatial_sorting/doc/Spatial_sorting/Spatial_sorting.txt index a97ef3ead18..6dd4d3cef74 100644 --- a/Spatial_sorting/doc/Spatial_sorting/Spatial_sorting.txt +++ b/Spatial_sorting/doc/Spatial_sorting/Spatial_sorting.txt @@ -42,18 +42,16 @@ to the unit square \f$ [0,1]^2\f$, such that \f$ f(0)=(0,0)\f$ and \f$ f(1)=(1,0 in the following way: the unit square is subdivided in four such that -
    +\par \f$ f([0,\frac{1}{4}])=[0,\frac{1}{2}]^2\f$, \f$ f([\frac{1}{4},\frac{1}{2}])=[0,\frac{1}{2}]\times[\frac{1}{2},1]\f$, \f$ f([\frac{1}{2},\frac{3}{4}])=[\frac{1}{2},1]^2\f$, and \f$ f([\frac{3}{4},1])=[\frac{1}{2},1]\times[0,\frac{1}{2}].\f$ - -\f$ f(\frac{1}{4})=(0,\frac{1}{2})\f$ - +
    +\f$ f(\frac{1}{4})=(0,\frac{1}{2})\f$, \f$ f(\frac{1}{2})=(\frac{1}{2},\frac{1}{2})\f$, and \f$ f(\frac{3}{4})=(1,\frac{1}{2})\f$. -
    Then each square is subdivided in the same way recursively. \cgalFigureRef{Spatial_sorting_fig_Hilbert8} illustrates this process. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Polygon_offset_builder_traits_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Polygon_offset_builder_traits_2.h index 148efbf52f5..09a9caddeb1 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Polygon_offset_builder_traits_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Polygon_offset_builder_traits_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgStraightSkeleton2Classes -\cgalModels `PolygonOffsetBuilderTraits_2` +\cgalModels{PolygonOffsetBuilderTraits_2} The class `Polygon_offset_builder_traits_2` provides a model for the concept `PolygonOffsetBuilderTraits_2`, which is the traits class diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h index 2c386eae936..727da054561 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgStraightSkeleton2Classes -\cgalModels `StraightSkeleton_2` +\cgalModels{StraightSkeleton_2} \brief The class `Straight_skeleton_2` provides a model for the `StraightSkeleton_2` concept which is the class type used to represent a straight skeleton. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_2.h index e1b3801f262..dc4ec8c2d48 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_2.h @@ -12,7 +12,7 @@ type required by the `Straight_skeleton_builder_2` algorithm class. This class is the default visitor parameter of the straight skeleton builder. All its methods are empty. -\cgalModels `StraightSkeletonBuilder_2_Visitor` +\cgalModels{StraightSkeletonBuilder_2_Visitor} \sa `Straight_skeleton_builder_2` */ diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_traits_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_traits_2.h index 0b79000692e..656ecf75b30 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_traits_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_builder_traits_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgStraightSkeleton2Classes -\cgalModels `StraightSkeletonBuilderTraits_2` +\cgalModels{StraightSkeletonBuilderTraits_2} The class `Straight_skeleton_builder_traits_2` provides a model for the concept `StraightSkeletonBuilderTraits_2`, which is the traits class diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_converter_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_converter_2.h index a5ea28252e2..980fd1a9000 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_converter_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_converter_2.h @@ -87,7 +87,7 @@ std::shared_ptr operator()( const Source_skeleton& s) const; /*! \ingroup PkgStraightSkeleton2Auxiliary -\cgalModels `StraightSkeletonItemsConverter_2` +\cgalModels{StraightSkeletonItemsConverter_2} `Straight_skeleton_items_converter_2` is a model of the `StraightSkeletonItemsConverter_2` concept diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_face_base_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_face_base_2.h index 51e8e003fbb..bc13c7b0fa7 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_face_base_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_face_base_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgStraightSkeleton2Auxiliary -\cgalModels `StraightSkeletonFace_2` +\cgalModels{StraightSkeletonFace_2} The class `Straight_skeleton_face_base_2` provides a model for the concept `StraightSkeletonFace_2`, which is the face type required by the `StraightSkeleton_2` concept. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_halfedge_base_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_halfedge_base_2.h index ee4f67fe648..ce86de1a3ab 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_halfedge_base_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_halfedge_base_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgStraightSkeleton2Auxiliary -\cgalModels `StraightSkeletonHalfedge_2` +\cgalModels{StraightSkeletonHalfedge_2} The class `Straight_skeleton_halfedge_base_2` provides a model for the concept `StraightSkeletonHalfedge_2`, which is the halfedge type required by the `StraightSkeleton_2` concept. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_vertex_base_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_vertex_base_2.h index fb30f495c46..5f104bf8378 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_vertex_base_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_vertex_base_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgStraightSkeleton2Auxiliary -\cgalModels `StraightSkeletonVertex_2` +\cgalModels{StraightSkeletonVertex_2} The class `Straight_skeleton_vertex_base_2` provides a model for the `StraightSkeletonVertex_2` concept which is the vertex type required by the `StraightSkeleton_2` concept. diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h index facdc0e6f83..3691389c2e4 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/PolygonOffsetBuilderTraits_2.h @@ -7,7 +7,9 @@ The concept `PolygonOffsetBuilderTraits_2` describes the requirements for the geometric traits class required by the algorithm class `CGAL::Polygon_offset_builder_2`. -\cgalHasModel `CGAL::Polygon_offset_builder_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Polygon_offset_builder_traits_2} +\cgalHasModelsEnd \sa `CGAL::Polygon_offset_builder_2` */ diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h index 067b6e02c32..33cf3ba216f 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilderTraits_2.h @@ -7,7 +7,9 @@ The concept `StraightSkeletonBuilderTraits_2` describes the requirements for the geometric traits class required by the algorithm class `CGAL::Straight_skeleton_builder_2`. -\cgalHasModel `CGAL::Straight_skeleton_builder_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Straight_skeleton_builder_traits_2} +\cgalHasModelsEnd */ class StraightSkeletonBuilderTraits_2 { public: diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilder_2_Visitor.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilder_2_Visitor.h index 4860b9ab6b8..f18d851ce8b 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilder_2_Visitor.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonBuilder_2_Visitor.h @@ -5,7 +5,9 @@ The concept `StraightSkeletonBuilder_2_Visitor` describes the requirements of the visitor class required by the algorithm class `CGAL::Straight_skeleton_builder_2` in its third template parameter. -\cgalHasModel `CGAL::Dummy_straight_skeleton_builder_2_visitor` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Dummy_straight_skeleton_builder_2_visitor} +\cgalHasModelsEnd \sa `CGAL::Straight_skeleton_builder_2` */ diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h index 311987667fb..2c476b2e20c 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonFace_2.h @@ -8,7 +8,9 @@ The concept `StraightSkeletonFace_2` describes the requirements for the face typ `StraightSkeleton_2` concept. It is a refinement of the `HalfedgeDSFace` concept with support for storage of the incident halfedge. -\cgalHasModel `CGAL::Straight_skeleton_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Straight_skeleton_face_base_2} +\cgalHasModelsEnd \sa `StraightSkeletonVertex_2` \sa `StraightSkeletonHalfedge_2` diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h index 6225e4f613f..d047dc14b53 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonHalfedge_2.h @@ -12,7 +12,9 @@ The only geometric embedding used by the Straight Skeleton Data Structure are th in the contour and skeleton vertices. However, for any halfedge, there is a 2D segment implicitly given by its `source` and `target` vertices. -\cgalHasModel `CGAL::Straight_skeleton_halfedge_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Straight_skeleton_halfedge_base_2} +\cgalHasModelsEnd \sa `StraightSkeleton_2` \sa `StraightSkeletonHalfedge_2` diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonItemsConverter_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonItemsConverter_2.h index 55f5c799095..beb00c9b520 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonItemsConverter_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonItemsConverter_2.h @@ -6,7 +6,9 @@ The concept `StraightSkeletonItemsConverter_2` describes the requirements for it as the third template argument to the class `Straight_skeleton_converter_2`. It converts the `HDS` items from one type of straight skeleton to another. -\cgalHasModel `CGAL::Straight_skeleton_items_converter_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Straight_skeleton_items_converter_2} +\cgalHasModelsEnd \sa `CGAL::Straight_skeleton_converter_2` */ diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h index 1b66e17ee69..a4d33e063d2 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeletonVertex_2.h @@ -9,7 +9,9 @@ The concept `StraightSkeletonVertex_2` describes the requirements for the vertex with support for storage of the incident halfedge. The `StraightSkeletonVertex_2` concept requires the geometric embedding to be a 2D point. -\cgalHasModel `CGAL::Straight_skeleton_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Straight_skeleton_vertex_base_2} +\cgalHasModelsEnd \sa `StraightSkeletonHalfedge_2` \sa `StraightSkeletonFace_2` diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h index 18a85973c5b..3bcdaa2597d 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Concepts/StraightSkeleton_2.h @@ -9,7 +9,9 @@ used to represent a straight skeleton. It refines the concept `HalfedgeDS` and adds additional requirements on the nested types `Vertex`, `Halfedge`, and `Face` of the halfedge data structure. -\cgalHasModel `CGAL::Straight_skeleton_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Straight_skeleton_2} +\cgalHasModelsEnd \attention This concept explicitly protects all the modifying operations of the base `HalfedgeDS` concept. Only the algorithm diff --git a/Straight_skeleton_2/examples/Straight_skeleton_2/extrude_skeleton.cpp b/Straight_skeleton_2/examples/Straight_skeleton_2/extrude_skeleton.cpp index c4f4cf92a27..a50f2efc4da 100644 --- a/Straight_skeleton_2/examples/Straight_skeleton_2/extrude_skeleton.cpp +++ b/Straight_skeleton_2/examples/Straight_skeleton_2/extrude_skeleton.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -61,7 +62,7 @@ int main(int argc, char** argv) // below is only used for random weight generation double min_weight = 1., max_weight = 10.; - int seed = std::time(nullptr); + int seed = CGAL::get_default_random().get_seed(); for(int i = 1; i < argc; ++i) { diff --git a/Straight_skeleton_2/examples/Straight_skeleton_2/include/CGAL/input_helpers.h b/Straight_skeleton_2/examples/Straight_skeleton_2/include/CGAL/input_helpers.h index b42c29df4a4..ad41ff7a91f 100644 --- a/Straight_skeleton_2/examples/Straight_skeleton_2/include/CGAL/input_helpers.h +++ b/Straight_skeleton_2/examples/Straight_skeleton_2/include/CGAL/input_helpers.h @@ -204,7 +204,7 @@ void generate_random_weights(const PolygonWithHoles& p, using Container = typename std::remove_reference::type; using Iterator = typename Container::const_iterator; - std::map weight; + std::map weight; // start somewhere not collinear Iterator start_it; @@ -238,7 +238,7 @@ void generate_random_weights(const PolygonWithHoles& p, else { CGAL_assertion(weight.count(it) == 0); - weight[it] = rnd.get_double(min_weight, max_weight); + weight[it] = FT(rnd.get_double(min_weight, max_weight)); } it = next(it, c); diff --git a/Straight_skeleton_2/test/Straight_skeleton_2/test_sls_weighted_polygons_with_holes.cpp b/Straight_skeleton_2/test/Straight_skeleton_2/test_sls_weighted_polygons_with_holes.cpp index c2736dd490a..7ebe00f75a4 100644 --- a/Straight_skeleton_2/test/Straight_skeleton_2/test_sls_weighted_polygons_with_holes.cpp +++ b/Straight_skeleton_2/test/Straight_skeleton_2/test_sls_weighted_polygons_with_holes.cpp @@ -52,7 +52,7 @@ int main(int argc, char** argv) int hole_n = (argc > 1) ? std::atoi(argv[1]) : 2; int hole_nv = (argc > 2) ? std::atoi(argv[2]) : 10; - int seed = (argc > 3) ? std::atoi(argv[3]) : std::time(nullptr); + int seed = (argc > 3) ? std::atoi(argv[3]) : CGAL::get_default_random().get_seed(); CGAL::Random rnd(seed); diff --git a/Stream_lines_2/doc/Stream_lines_2/CGAL/Euler_integrator_2.h b/Stream_lines_2/doc/Stream_lines_2/CGAL/Euler_integrator_2.h index 8562be8184e..2769141eb0b 100644 --- a/Stream_lines_2/doc/Stream_lines_2/CGAL/Euler_integrator_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/CGAL/Euler_integrator_2.h @@ -7,7 +7,7 @@ This class implements the first order Euler integrator. \tparam VectorField_2 has to be instantiated by a model of the concept `VectorField_2`. -\cgalModels `Integrator_2` +\cgalModels{Integrator_2} \sa `Runge_kutta_integrator_2` diff --git a/Stream_lines_2/doc/Stream_lines_2/CGAL/Regular_grid_2.h b/Stream_lines_2/doc/Stream_lines_2/CGAL/Regular_grid_2.h index b690baa7951..398f6d62068 100644 --- a/Stream_lines_2/doc/Stream_lines_2/CGAL/Regular_grid_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/CGAL/Regular_grid_2.h @@ -11,7 +11,7 @@ vector value is interpolated from the vertices of `c`). \tparam StreamLinesTraits_2 has to instantiated by a model of the concept `StreamLinesTraits_2`. -\cgalModels `VectorField_2` +\cgalModels{VectorField_2} \sa `Triangular_field_2` diff --git a/Stream_lines_2/doc/Stream_lines_2/CGAL/Runge_kutta_integrator_2.h b/Stream_lines_2/doc/Stream_lines_2/CGAL/Runge_kutta_integrator_2.h index f0624e01384..4ea9c7fc4f7 100644 --- a/Stream_lines_2/doc/Stream_lines_2/CGAL/Runge_kutta_integrator_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/CGAL/Runge_kutta_integrator_2.h @@ -7,7 +7,7 @@ This class implements the second order Runge-Kutta integrator. \tparam VectorField_2 has to be instantiated by a model of the concept `VectorField_2`. -\cgalModels `Integrator_2` +\cgalModels{Integrator_2} \sa `Euler_integrator_2` diff --git a/Stream_lines_2/doc/Stream_lines_2/CGAL/Triangular_field_2.h b/Stream_lines_2/doc/Stream_lines_2/CGAL/Triangular_field_2.h index fda0a8cc7e9..1758f1c6ef6 100644 --- a/Stream_lines_2/doc/Stream_lines_2/CGAL/Triangular_field_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/CGAL/Triangular_field_2.h @@ -12,7 +12,7 @@ vertices of the face `f`. \tparam StreamLinesTraits_2 has to be instantiated by a model of the concept `StreamLinesTraits_2`. -\cgalModels `VectorField_2` +\cgalModels{VectorField_2} \sa `Regular_grid_2` diff --git a/Stream_lines_2/doc/Stream_lines_2/Concepts/Integrator_2.h b/Stream_lines_2/doc/Stream_lines_2/Concepts/Integrator_2.h index ec96722d926..a04c6c6e523 100644 --- a/Stream_lines_2/doc/Stream_lines_2/Concepts/Integrator_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/Concepts/Integrator_2.h @@ -9,8 +9,10 @@ the second template parameter of the class provides the operation that integrates a new point from a given point with a predefined step, and according to a specified vector. -\cgalHasModel `CGAL::Euler_integrator_2` -\cgalHasModel `CGAL::Runge_kutta_integrator_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Euler_integrator_2} +\cgalHasModels{CGAL::Runge_kutta_integrator_2} +\cgalHasModelsEnd */ diff --git a/Stream_lines_2/doc/Stream_lines_2/Concepts/StreamLinesTraits_2.h b/Stream_lines_2/doc/Stream_lines_2/Concepts/StreamLinesTraits_2.h index a55c74b6ac2..a2e24fd2fba 100644 --- a/Stream_lines_2/doc/Stream_lines_2/Concepts/StreamLinesTraits_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/Concepts/StreamLinesTraits_2.h @@ -9,7 +9,9 @@ the template parameter of the class This concept provides the types handled by the `CGAL::Stream_lines_2` class. -\cgalHasModel The kernels of \cgal are models for this traits class. +\cgalHasModelsBegin +\cgalHasModelsBare{The kernels of \cgal are models for this traits class.} +\cgalHasModelsEnd */ class StreamLinesTraits_2 { diff --git a/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h b/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h index 9b44da48a2f..0cdfedfcb1c 100644 --- a/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h +++ b/Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h @@ -9,8 +9,10 @@ the first template parameter of the class provides the types of the geometric primitives used in the placement of streamlines and some functions for answering different queries. -\cgalHasModel `CGAL::Regular_grid_2` -\cgalHasModel `CGAL::Triangular_field_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_grid_2} +\cgalHasModels{CGAL::Triangular_field_2} +\cgalHasModelsEnd */ diff --git a/Stream_support/doc/Stream_support/IOstream.txt b/Stream_support/doc/Stream_support/IOstream.txt index cfdf25073ec..be0f7ee02a9 100644 --- a/Stream_support/doc/Stream_support/IOstream.txt +++ b/Stream_support/doc/Stream_support/IOstream.txt @@ -69,7 +69,7 @@ as a sequence of four byte. The format depends on the machine. The mode `PRETTY` serves mainly for debugging as the type of the geometric object is written, as well as the data defining the object. For example -for a point at the origin with Cartesian double coordinates, the output +for a point at the origin with %Cartesian double coordinates, the output would be `PointC2(0.0, 0.0)`. At the moment \cgal does not provide input operations for pretty printed data. By default a stream is in \ascii mode. @@ -519,4 +519,3 @@ which might look as follows: */ } /* namespace CGAL */ - diff --git a/Stream_support/include/CGAL/IO/Color.h b/Stream_support/include/CGAL/IO/Color.h index 6cb2939fe49..daee2d37b40 100644 --- a/Stream_support/include/CGAL/IO/Color.h +++ b/Stream_support/include/CGAL/IO/Color.h @@ -19,12 +19,13 @@ #include #include + +#include + #include #include #include - - namespace CGAL { namespace IO { @@ -287,7 +288,6 @@ public: } /// @} - }; @@ -375,6 +375,22 @@ using IO::white; using IO::yellow; #endif -} //namespace CGAL +} // namespace CGAL + +namespace std { + +template <> +struct hash +{ + std::size_t operator()(const CGAL::IO::Color& c) const + { + std::size_t result = boost::hash_value(c[0]); + for(std::size_t i=1; i<4; ++i) + boost::hash_combine(result, c[i]); + return result; + } +}; + +} // namespace std #endif // CGAL_COLOR_H diff --git a/Stream_support/include/CGAL/IO/Istream_iterator.h b/Stream_support/include/CGAL/IO/Istream_iterator.h index 04a2d93cad9..1ae51232129 100644 --- a/Stream_support/include/CGAL/IO/Istream_iterator.h +++ b/Stream_support/include/CGAL/IO/Istream_iterator.h @@ -28,7 +28,7 @@ The class `Istream_iterator` is an input iterator adaptor for the input stream class `Stream` and value type `T`. It is particularly useful for classes that are similar but not compatible to `std::istream`. -\cgalModels `InputIterator` +\cgalModels{InputIterator} */ template class Istream_iterator diff --git a/Stream_support/include/CGAL/IO/Ostream_iterator.h b/Stream_support/include/CGAL/IO/Ostream_iterator.h index 8d3911471cf..4bdeaa6689b 100644 --- a/Stream_support/include/CGAL/IO/Ostream_iterator.h +++ b/Stream_support/include/CGAL/IO/Ostream_iterator.h @@ -46,7 +46,7 @@ public: The class `Ostream_iterator` is an output iterator adaptor for the output stream class `Stream` and value type `T`. -\cgalModels `OutputIterator` +\cgalModels{OutputIterator} \cgalHeading{Implementation} diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h index c5a06d95618..21326e8a37c 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/DQQMask_3.h @@ -11,7 +11,9 @@ policy concept of geometric computations is used in \cgalRefines{SubdivisionMask_3} -\cgalHasModel `CGAL::DooSabin_mask_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::DooSabin_mask_3} +\cgalHasModelsEnd \sa `CGAL::Subdivision_method_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h index bb28f171b02..3397ef818fe 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PQQMask_3.h @@ -11,7 +11,9 @@ policy concept of geometric computations is used in \cgalRefines{SubdivisionMask_3} -\cgalHasModel `CGAL::CatmullClark_mask_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::CatmullClark_mask_3} +\cgalHasModelsEnd \sa `CGAL::Subdivision_method_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h index 6050b444ad3..2e799fb5952 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h @@ -10,7 +10,9 @@ policy concept of geometric computations is used in \cgalRefines{SubdivisionMask_3} -\cgalHasModel `CGAL::Loop_mask_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Loop_mask_3} +\cgalHasModelsEnd \sa `CGAL::Subdivision_method_3` */ diff --git a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h index ee5fc38d907..2cd7648f637 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h @@ -9,7 +9,9 @@ policy concept of geometric computations is used in \cgalRefines{SubdivisionMask_3} -\cgalHasModel `CGAL::Sqrt3_mask_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Sqrt3_mask_3} +\cgalHasModelsEnd \sa `CGAL::Subdivision_method_3` diff --git a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h index af0d0d3e22a..af9edb11968 100644 --- a/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h +++ b/Subdivision_method_3/include/CGAL/Subdivision_method_3/subdivision_masks_3.h @@ -142,7 +142,7 @@ such as `Polyhedron_3` and `Surface_mesh`. \image html CCBorderMask.svg -\cgalModels `PQQMask_3` +\cgalModels{PQQMask_3} \sa `CGAL::Subdivision_method_3` */ @@ -266,7 +266,7 @@ such as `Polyhedron_3` and `Surface_mesh`. \image html LoopBorderMask.png \image latex LoopBorderMask.png -\cgalModels `PTQMask_3` +\cgalModels{PTQMask_3} \sa `CGAL::Subdivision_method_3` @@ -429,7 +429,7 @@ such as `Polyhedron_3` and `Surface_mesh`. \image html DSCornerMask.png \image latex DSCornerMask.png -\cgalModels `DQQMask_3` +\cgalModels{DQQMask_3} \sa `CGAL::Subdivision_method_3` @@ -523,7 +523,7 @@ such as `Polyhedron_3` and `Surface_mesh`. \tparam PolygonMesh must be a model of the concept `MutableFaceGraph`. Additionally all faces must be triangles. \tparam VertexPointMap must be a model of `WritablePropertyMap` with value type `Point_3` -\cgalModels `Sqrt3Mask_3` +\cgalModels{Sqrt3Mask_3} \sa `CGAL::Subdivision_method_3` diff --git a/Surface_mesh/doc/Surface_mesh/PackageDescription.txt b/Surface_mesh/doc/Surface_mesh/PackageDescription.txt index 974c86b9f54..84829acb9b4 100644 --- a/Surface_mesh/doc/Surface_mesh/PackageDescription.txt +++ b/Surface_mesh/doc/Surface_mesh/PackageDescription.txt @@ -1,9 +1,7 @@ /// \defgroup PkgSurface_mesh Surface Mesh Reference /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_surface_mesh.h} */ /// \defgroup PkgDrawSurfaceMesh Draw a Surface Mesh /// \ingroup PkgSurface_mesh diff --git a/Surface_mesh/include/CGAL/Surface_mesh/Properties.h b/Surface_mesh/include/CGAL/Surface_mesh/Properties.h index 5e8733a87f8..a81dd63d530 100644 --- a/Surface_mesh/include/CGAL/Surface_mesh/Properties.h +++ b/Surface_mesh/include/CGAL/Surface_mesh/Properties.h @@ -528,7 +528,7 @@ private: /// @tparam Key The key type of the property map. It must be a model of `Index`. /// @tparam Value The value type of the property. /// -/// \cgalModels `LvaluePropertyMap` +/// \cgalModels{LvaluePropertyMap} /// template class Property_map_base diff --git a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h index c109f002a3a..559aec265f0 100644 --- a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h +++ b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h @@ -325,7 +325,7 @@ namespace CGAL { /// @tparam P The type of the \em point property of a vertex. There is no requirement on `P`, /// besides being default constructible and assignable. /// In typical use cases it will be a 2D or 3D point type. - /// \cgalModels `MutableFaceGraph` and `FaceListGraph` + /// \cgalModels{MutableFaceGraph,FaceListGraph} /// /// \sa \ref PkgBGLConcepts "Graph Concepts" @@ -375,9 +375,7 @@ public: #ifdef DOXYGEN_RUNNING /// This class represents a vertex. - /// \cgalModels `Index` - /// \cgalModels `LessThanComparable` - /// \cgalModels `Hashable` + /// \cgalModels{Index,LessThanComparable,Hashable} /// \sa `Halfedge_index`, `Edge_index`, `Face_index` class Vertex_index { @@ -398,9 +396,7 @@ public: #ifdef DOXYGEN_RUNNING /// This class represents a halfedge. - /// \cgalModels `Index` - /// \cgalModels `LessThanComparable` - /// \cgalModels `Hashable` + /// \cgalModels{Index,LessThanComparable,Hashable} /// \sa `Vertex_index`, `Edge_index`, `Face_index` class Halfedge_index { @@ -422,9 +418,7 @@ public: #ifdef DOXYGEN_RUNNING /// This class represents a face - /// \cgalModels `Index` - /// \cgalModels `LessThanComparable` - /// \cgalModels `Hashable` + /// \cgalModels{Index,LessThanComparable,Hashable} /// \sa `Vertex_index`, `Halfedge_index`, `Edge_index` class Face_index { @@ -444,9 +438,7 @@ public: #ifdef DOXYGEN_RUNNING /// This class represents an edge. - /// \cgalModels `Index` - /// \cgalModels `LessThanComparable` - /// \cgalModels `Hashable` + /// \cgalModels{Index,LessThanComparable,Hashable} /// \sa `Vertex_index`, `Halfedge_index`, `Face_index` class Edge_index { diff --git a/Surface_mesh_approximation/doc/Surface_mesh_approximation/Concepts/ErrorMetricProxy.h b/Surface_mesh_approximation/doc/Surface_mesh_approximation/Concepts/ErrorMetricProxy.h index f84b271c289..11f66968dae 100644 --- a/Surface_mesh_approximation/doc/Surface_mesh_approximation/Concepts/ErrorMetricProxy.h +++ b/Surface_mesh_approximation/doc/Surface_mesh_approximation/Concepts/ErrorMetricProxy.h @@ -6,8 +6,10 @@ The concept `ErrorMetricProxy` defines the notion of proxy, computes the fitting error from a face to a proxy, and fits a proxy from a range of faces. -\cgalHasModel `CGAL::Surface_mesh_approximation::L21_metric_plane_proxy` -\cgalHasModel `CGAL::Surface_mesh_approximation::L2_metric_plane_proxy` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_approximation::L21_metric_plane_proxy} +\cgalHasModels{CGAL::Surface_mesh_approximation::L2_metric_plane_proxy} +\cgalHasModelsEnd */ class ErrorMetricProxy { diff --git a/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L21_metric_plane_proxy.h b/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L21_metric_plane_proxy.h index 7178bc68f33..e7ea59e67b2 100644 --- a/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L21_metric_plane_proxy.h +++ b/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L21_metric_plane_proxy.h @@ -31,7 +31,7 @@ namespace Surface_mesh_approximation { /// \ingroup PkgTSMARef /// @brief Approximation L21 metric of vector proxy. /// -/// \cgalModels `ErrorMetricProxy` +/// \cgalModels{ErrorMetricProxy} /// /// @tparam TriangleMesh a triangle `FaceGraph` /// @tparam VertexPointMap a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` diff --git a/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L2_metric_plane_proxy.h b/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L2_metric_plane_proxy.h index 1f3e012ce86..67121dcdcdf 100644 --- a/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L2_metric_plane_proxy.h +++ b/Surface_mesh_approximation/include/CGAL/Surface_mesh_approximation/L2_metric_plane_proxy.h @@ -32,7 +32,7 @@ namespace Surface_mesh_approximation { /// \ingroup PkgTSMARef /// @brief Approximation L2 metric of plane proxy. /// -/// \cgalModels `ErrorMetricProxy` +/// \cgalModels{ErrorMetricProxy} /// /// @tparam TriangleMesh a triangle `FaceGraph` /// @tparam VertexPointMap a class model of `ReadablePropertyMap` with `boost::graph_traits::%vertex_descriptor` diff --git a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h index a8dbb00b46b..5a8a704883d 100644 --- a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h +++ b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h @@ -9,8 +9,10 @@ to implement models of this concept. \cgalRefines{DefaultConstructible} -\cgalHasModel `CGAL::Deformation_Eigen_closest_rotation_traits_3` -\cgalHasModel `CGAL::Deformation_Eigen_polar_closest_rotation_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Deformation_Eigen_closest_rotation_traits_3} +\cgalHasModels{CGAL::Deformation_Eigen_polar_closest_rotation_traits_3} +\cgalHasModelsEnd */ class DeformationClosestRotationTraits_3{ diff --git a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h index 41b10daa4a7..32925160334 100644 --- a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h +++ b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h @@ -9,7 +9,7 @@ class RawPoint_3 public: /// \name Creation /// @{ - /// constructor from Cartesian coordinates + /// constructor from %Cartesian coordinates RawPoint_3(double x, double y, double z); /// @} diff --git a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h index 98c938b5fbc..60c52e52e7f 100644 --- a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h +++ b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_closest_rotation_traits_3.h @@ -21,7 +21,7 @@ namespace CGAL { /// A class to compute the closest rotation in Frobenius norm to a 3x3 Matrix using the \link thirdpartyEigen `Eigen` library \endlink. /// The internal computation relies on `Eigen::JacobiSVD<>` solver. /// -/// \cgalModels `DeformationClosestRotationTraits_3` +/// \cgalModels{DeformationClosestRotationTraits_3} class Deformation_Eigen_closest_rotation_traits_3{ public: diff --git a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h index 7ffc0cc17d0..a73d8225bdb 100644 --- a/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h +++ b/Surface_mesh_deformation/include/CGAL/Deformation_Eigen_polar_closest_rotation_traits_3.h @@ -23,7 +23,7 @@ namespace CGAL { /// The internal computation relies on a hybrid system using the solvers `Eigen::SelfAdjointEigenSolver<>` /// and `Eigen::JacobiSVD<>` (polar decomposition). /// - /// \cgalModels `DeformationClosestRotationTraits_3` + /// \cgalModels{DeformationClosestRotationTraits_3} class Deformation_Eigen_polar_closest_rotation_traits_3 : public Deformation_Eigen_closest_rotation_traits_3{ public: diff --git a/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/Concepts/Parameterizer_3.h b/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/Concepts/Parameterizer_3.h index 32a71b17f71..cf9b2957984 100644 --- a/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/Concepts/Parameterizer_3.h +++ b/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/Concepts/Parameterizer_3.h @@ -12,16 +12,18 @@ the border of a given mesh. Construction and destruction are undefined. -\cgalHasModel `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Barycentric_mapping_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Discrete_authalic_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Discrete_conformal_map_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::LSCM_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Circular_border_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3` -\cgalHasModel `CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Barycentric_mapping_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Discrete_authalic_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Discrete_conformal_map_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::LSCM_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Circular_border_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3} +\cgalHasModels{CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3} +\cgalHasModelsEnd \sa `CGAL::Surface_mesh_parameterization::Orbifold_Tutte_parameterizer_3` */ diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h index 485da4c6975..7ff51e70ce0 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/ARAP_parameterizer_3.h @@ -134,7 +134,7 @@ namespace Surface_mesh_parameterization { /// /// A one-to-one mapping is *not* guaranteed. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Barycentric_mapping_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Barycentric_mapping_parameterizer_3.h index 15ac8ec8aef..12e4e63feb4 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Barycentric_mapping_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Barycentric_mapping_parameterizer_3.h @@ -49,7 +49,7 @@ namespace Surface_mesh_parameterization { /// the matrix `A` for `j` neighbor vertex of `i`, based on Tutte Barycentric /// Mapping method. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h index 321f32b99d5..b2b05c4de7b 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h @@ -50,7 +50,7 @@ namespace Surface_mesh_parameterization { /// `TriangleMesh` class and does not know the parameterization algorithm /// requirements or the kind of sparse linear system used. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// @@ -182,7 +182,7 @@ public: /// algorithm. This class implements only `compute_edge_length()` to compute a /// segment's length. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \sa `CGAL::Surface_mesh_parameterization::Circular_border_parameterizer_3` /// \sa `CGAL::Surface_mesh_parameterization::Circular_border_arc_length_parameterizer_3` @@ -231,7 +231,7 @@ public: /// The class `Circular_border_parameterizer_3` implements most of the border /// parameterization algorithm. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_authalic_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_authalic_parameterizer_3.h index a6c7b410a57..52047459ffa 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_authalic_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_authalic_parameterizer_3.h @@ -50,7 +50,7 @@ namespace Surface_mesh_parameterization { /// - implements `compute_w_ij()` to compute `w_ij`, the `(i,j)`-coefficient of the matrix `A` /// for `j` neighbor vertex of `i`, based on Discrete Authalic Parameterization algorithm. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_conformal_map_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_conformal_map_parameterizer_3.h index 7787476e654..7bb75174032 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_conformal_map_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Discrete_conformal_map_parameterizer_3.h @@ -50,7 +50,7 @@ namespace Surface_mesh_parameterization { /// - implements `compute_w_ij()` to compute `w_ij`, the `(i,j)`-coefficient of matrix `A`, /// for `j` neighbor vertex of `i`, based on Discrete Conformal Map method. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph` /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h index d32929793c3..cf938045da4 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Fixed_border_parameterizer_3.h @@ -64,7 +64,7 @@ namespace Surface_mesh_parameterization { // from the linear systems in order to have a symmetric positive definite // matrix for Tutte Barycentric Mapping and Discrete Conformal Map algorithms. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/LSCM_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/LSCM_parameterizer_3.h index 08b74876715..33252883f1d 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/LSCM_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/LSCM_parameterizer_3.h @@ -57,7 +57,7 @@ namespace Surface_mesh_parameterization { /// of the surface onto a convex polygon (only two pinned vertices are needed /// to ensure a unique solution), but a one-to-one mapping is *not* guaranteed. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h index f54e0b4f0ee..d4efce8934d 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h @@ -61,7 +61,7 @@ namespace Surface_mesh_parameterization { /// the convexification of the initial (2D) parameterization and the resolution /// of a linear system with coefficients based on Mean Value Coordinates. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h index bacdd2ea12c..ce0be73bd3e 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h @@ -49,7 +49,7 @@ namespace Surface_mesh_parameterization { /// for `j` neighbor vertex of `i` based on Floater Mean Value Coordinates parameterization. /// - It implements an optimized version of `is_one_to_one_mapping()`. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h index b806eb1ead6..cb97d65430a 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h @@ -61,7 +61,7 @@ namespace Surface_mesh_parameterization { /// `TriangleMesh` class and does not know the parameterization algorithm /// requirements or the kind of sparse linear system used. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// @@ -398,7 +398,7 @@ public: /// if an input border vertex has valence `1` and if it is mapped to the same edge of the square /// as its two adjacent (border) vertices, for example. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \sa `CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3` /// \sa `CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3` @@ -470,7 +470,7 @@ protected: /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \sa `CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3` /// \sa `CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3` diff --git a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h index 88ecb8dc706..17cfb22d3a7 100644 --- a/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h +++ b/Surface_mesh_parameterization/include/CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h @@ -47,7 +47,7 @@ namespace Surface_mesh_parameterization { /// `TriangleMesh` class and does not know the parameterization algorithm /// requirements or the kind of sparse linear system used. /// -/// \cgalModels `Parameterizer_3` +/// \cgalModels{Parameterizer_3} /// /// \tparam TriangleMesh_ must be a model of `FaceGraph`. /// diff --git a/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h b/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h index 93450589cfc..81e7848328b 100644 --- a/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h +++ b/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/Concepts/SegmentationGeomTraits.h @@ -5,7 +5,9 @@ The concept `SegmentationGeomTraits` describes the set of requirements of the geometric traits needed by the segmentation functions. -\cgalHasModel All the \cgal Kernels +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \cgalRefines{AABBGeomTraits} diff --git a/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h b/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h index 2095e338943..a0324ab28ed 100644 --- a/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h +++ b/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h @@ -8,7 +8,9 @@ predicates, and constructions required by the traits class parameter of `CGAL::Surface_mesh_shortest_path`. \cgalRefines{CopyConstructible,Assignable} -\cgalHasModel `CGAL::Surface_mesh_shortest_path_traits` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_shortest_path_traits} +\cgalHasModelsEnd */ diff --git a/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits.h b/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits.h index 5e2955124f5..1ade946fdc8 100644 --- a/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits.h +++ b/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path_traits.h @@ -34,7 +34,7 @@ as required by the `Surface_mesh_shortest_path` class. \tparam TriangleMesh A model of `FaceListGraph` -\cgalModels `SurfaceMeshShortestPathTraits` +\cgalModels{SurfaceMeshShortestPathTraits} */ template < class K, @@ -176,7 +176,7 @@ model which uses an exact Kernel during the unfolding operations to achieve bett \tparam TriangleMesh triangle mesh type -\cgalModels `SurfaceMeshShortestPathTraits` +\cgalModels{SurfaceMeshShortestPathTraits} */ template < class K, diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h index b55bfcadf78..47e7d08ff16 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h @@ -16,7 +16,7 @@ and hide a non-virtual method in the context of the static polymorphism used in \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `EdgeCollapseSimplificationVisitor` +\cgalModels{EdgeCollapseSimplificationVisitor} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_distance_placement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_distance_placement.h index 9e62e74917f..d97b52e96e8 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_distance_placement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_distance_placement.h @@ -20,7 +20,7 @@ the position is returned. The distance check is performed using an AABB tree and this class thus depends on the package \ref PkgAABBTree. -\cgalModels `GetPlacement` +\cgalModels{GetPlacement} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_filter.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_filter.h index adc991a675e..7ab6069cf61 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_filter.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_filter.h @@ -13,7 +13,7 @@ if any triangle in the profile changes the normal by more than 90 degree, in thi \tparam Filter must be a model of the concept `PlacementFilter`. It defaults to a class that does not filter any placement. -\cgalModels `PlacementFilter` +\cgalModels{PlacementFilter} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h index 90e68a5320d..a6bc3bfcdae 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Bounded_normal_change_placement.h @@ -15,7 +15,7 @@ triangle in the profile changes the normal by more than 90 degree. \tparam Get_placement_ must be a model of the concept `GetPlacement`. -\cgalModels `GetPlacement` +\cgalModels{GetPlacement} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Constrained_placement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Constrained_placement.h index 814c64f2793..f3aa453eb81 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Constrained_placement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Constrained_placement.h @@ -13,7 +13,7 @@ is the point of the common vertex. Otherwise the placement is the one computed b \tparam Edge_is_constrained_map_ must be a model of `ReadablePropertyMap` with `Edge_profile::edge_descriptor` as key type and `bool` as value type indicating if an edge is constrained. -\cgalModels `GetPlacement` +\cgalModels{GetPlacement} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h index f4a5378489b..74f19bfb77c 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h @@ -12,7 +12,7 @@ which returns `true` when the relation between the initial and current number of \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} \sa `CGAL::Surface_mesh_simplification::Edge_count_ratio_stop_predicate` \sa `CGAL::Surface_mesh_simplification::Face_count_ratio_stop_predicate` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h index bef9e2fdba9..b9715e4d5f3 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h @@ -11,7 +11,7 @@ which returns `true` when the number of current edges drops below a certain thre \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} \sa `CGAL::Surface_mesh_simplification::Edge_count_stop_predicate` \sa `CGAL::Surface_mesh_simplification::Face_count_stop_predicate` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_ratio_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_ratio_stop_predicate.h index fed8537304f..366808732b4 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_ratio_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_ratio_stop_predicate.h @@ -5,7 +5,7 @@ namespace Surface_mesh_simplification { /*! \ingroup PkgSurfaceMeshSimplificationRef -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} The class `Edge_count_ratio_stop_predicate` is a model for the `StopPredicate` concept which returns `true` when the relation between the initial and current number of edges drops below a certain ratio. diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_stop_predicate.h index 6e3920dd421..88bb3816732 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_count_stop_predicate.h @@ -4,7 +4,7 @@ namespace Surface_mesh_simplification { /*! \ingroup PkgSurfaceMeshSimplificationRef -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} The class `Edge_count_stop_predicate` is a model for the `StopPredicate` concept, which returns `true` when the number of current edges drops below a certain threshold. diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h index 8c908055492..780690f6bdb 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h @@ -9,7 +9,7 @@ which computes the collapse cost as the squared length of the edge. \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `GetCost` +\cgalModels{GetCost} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h index fbbdffe9064..fa85ec3a9e6 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_stop_predicate.h @@ -11,7 +11,7 @@ This predicate is meant to be used with `Edge_length_cost`. \tparam FT is the number type of the point coordinates, and must be equal to `Edge_profile::FT`. -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_ratio_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_ratio_stop_predicate.h index f5154aeb0d8..bfea79b87da 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_ratio_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_ratio_stop_predicate.h @@ -5,7 +5,7 @@ namespace Surface_mesh_simplification { /*! \ingroup PkgSurfaceMeshSimplificationRef -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} The class `Face_count_ratio_stop_predicate` is a model for the `StopPredicate` concept which returns `true` when the relation between the initial and current number of faces drops below a certain ratio. diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_stop_predicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_stop_predicate.h index 8c35a5c35e7..3431bb016ac 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_stop_predicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Face_count_stop_predicate.h @@ -4,7 +4,7 @@ namespace Surface_mesh_simplification { /*! \ingroup PkgSurfaceMeshSimplificationRef -\cgalModels `StopPredicate` +\cgalModels{StopPredicate} The class `Face_count_stop_predicate` is a model for the `StopPredicate` concept, which returns `true` when the number of current faces drops below a certain threshold. diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h index 433a8a64755..900410f6041 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h @@ -9,7 +9,7 @@ It computes the collapse cost following the Lindstrom-Turk strategy \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `GetCost` +\cgalModels{GetCost} \sa `CGAL::Surface_mesh_simplification::LindstromTurk_placement` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h index 8471efae84d..16267ddb03d 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h @@ -11,7 +11,7 @@ a halfedge collapse, following the Lindstrom-Turk strategy \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `GetPlacement` +\cgalModels{GetPlacement} \sa `CGAL::Surface_mesh_simplification::LindstromTurk_cost` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h index 11fda0b9f25..b346944810f 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h @@ -10,7 +10,7 @@ which computes the placement as the midpoint position along the edge. \tparam TriangleMesh is the type of surface mesh being simplified, and must be a model of the `MutableFaceGraph` and `HalfedgeListGraph` concepts. -\cgalModels `GetPlacement` +\cgalModels{GetPlacement} */ template diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Polyhedral_envelope_filter.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Polyhedral_envelope_filter.h index 61440bec09e..40624f67f6c 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Polyhedral_envelope_filter.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Polyhedral_envelope_filter.h @@ -13,7 +13,7 @@ if any triangle in the profile is not inside the polyhedral envelope, in this or \tparam Filter must be a model of the concept `PlacementFilter`. It defaults to a class that does not filter any placement. -\cgalModels `PlacementFilter` +\cgalModels{PlacementFilter} \sa `Polyhedral_envelope` diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h index d07a362bb19..49515bf9758 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetCost.h @@ -12,9 +12,11 @@ or can be intentionally returned to prevent the edge from being collapsed. \cgalRefines{DefaultConstructible,CopyConstructible} -\cgalHasModel `CGAL::Surface_mesh_simplification::Edge_length_cost` -\cgalHasModel `CGAL::Surface_mesh_simplification::LindstromTurk_cost` -\cgalHasModel `CGAL::Surface_mesh_simplification::GarlandHeckbert_policies` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_simplification::Edge_length_cost} +\cgalHasModels{CGAL::Surface_mesh_simplification::LindstromTurk_cost} +\cgalHasModels{CGAL::Surface_mesh_simplification::GarlandHeckbert_policies} +\cgalHasModelsEnd */ class GetCost diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h index fa9347cdd28..8486c3f85b8 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacement.h @@ -14,11 +14,13 @@ or can be intentionally returned to prevent the edge from being collapsed. \cgalRefines{DefaultConstructible,CopyConstructible} -\cgalHasModel `CGAL::Surface_mesh_simplification::Midpoint_placement` -\cgalHasModel `CGAL::Surface_mesh_simplification::LindstromTurk_placement` -\cgalHasModel `CGAL::Surface_mesh_simplification::GarlandHeckbert_policies` -\cgalHasModel `CGAL::Surface_mesh_simplification::Bounded_normal_change_placement` -\cgalHasModel `CGAL::Surface_mesh_simplification::Constrained_placement` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_simplification::Midpoint_placement} +\cgalHasModels{CGAL::Surface_mesh_simplification::LindstromTurk_placement} +\cgalHasModels{CGAL::Surface_mesh_simplification::GarlandHeckbert_policies} +\cgalHasModels{CGAL::Surface_mesh_simplification::Bounded_normal_change_placement} +\cgalHasModels{CGAL::Surface_mesh_simplification::Constrained_placement} +\cgalHasModelsEnd */ diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h index a2a493e904d..10832a79631 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/PlacementFilter.h @@ -14,8 +14,10 @@ be absent). The value `std::nullopt` indicates that the edge should not be colla \cgalRefines{DefaultConstructible,CopyConstructible} -\cgalHasModel `CGAL::Surface_mesh_simplification::Bounded_normal_change_filter` -\cgalHasModel `CGAL::Surface_mesh_simplification::Polyhedral_envelope_filter` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_simplification::Bounded_normal_change_filter} +\cgalHasModels{CGAL::Surface_mesh_simplification::Polyhedral_envelope_filter} +\cgalHasModelsEnd */ diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/StopPredicate.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/StopPredicate.h index ad5f22d4ccb..e09a0c1f03b 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/StopPredicate.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/StopPredicate.h @@ -4,11 +4,13 @@ The concept `StopPredicate` describes the requirements for the predicate which indicates if the simplification process must finish. -\cgalHasModel `CGAL::Surface_mesh_simplification::Edge_count_stop_predicate` -\cgalHasModel `CGAL::Surface_mesh_simplification::Face_count_stop_predicate` -\cgalHasModel `CGAL::Surface_mesh_simplification::Edge_count_ratio_stop_predicate` -\cgalHasModel `CGAL::Surface_mesh_simplification::Face_count_ratio_stop_predicate` -\cgalHasModel `CGAL::Surface_mesh_simplification::Edge_length_stop_predicate` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_simplification::Edge_count_stop_predicate} +\cgalHasModels{CGAL::Surface_mesh_simplification::Face_count_stop_predicate} +\cgalHasModels{CGAL::Surface_mesh_simplification::Edge_count_ratio_stop_predicate} +\cgalHasModels{CGAL::Surface_mesh_simplification::Face_count_ratio_stop_predicate} +\cgalHasModels{CGAL::Surface_mesh_simplification::Edge_length_stop_predicate} +\cgalHasModelsEnd */ class StopPredicate { diff --git a/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h b/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h index 824b21454e5..164870d40b6 100644 --- a/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h +++ b/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h @@ -5,7 +5,9 @@ * * Traits class concept defining the requirements of the class `CGAL::Mean_curvature_flow_skeletonization`. * - * \cgalHasModel Any \cgal `Kernel` with `double` as `%Kernel::%FT` + * \cgalHasModelsBegin + * \cgalHasModelsBare{Any \cgal `Kernel` with `double` as `%Kernel::%FT`} + * \cgalHasModelsEnd * * */ @@ -28,7 +30,7 @@ typedef unspecified_type FT; /*! * Function object type that provides * `Point_3 operator()(FT x, FT y, FT z) const` - * returning the point with `x`, `y` and `z` as Cartesian coordinates. + * returning the point with `x`, `y` and `z` as %Cartesian coordinates. */ typedef unspecified_type Construct_point_3; @@ -186,4 +188,3 @@ compute_z_3_object(); /// @} }; /* end DelaunayTriangulationTraits_2 */ - diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Polygonal_schema_min_items.h b/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Polygonal_schema_min_items.h index 06fe49ab963..9e98bf7ad8e 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Polygonal_schema_min_items.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/CGAL/Polygonal_schema_min_items.h @@ -6,7 +6,7 @@ namespace Surface_mesh_topology { The class `Polygonal_schema_min_items` defines a struct with a `std::string` as the information associated with darts, and no attribute is enabled. -\cgalModels `PolygonalSchemaItems` +\cgalModels{PolygonalSchemaItems} \cgalHeading{Example} diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h index 01c344d316c..ea183d1c13f 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchema.h @@ -9,8 +9,10 @@ \cgalRefines{GenericMap} - \cgalHasModel \link CGAL::Surface_mesh_topology::Polygonal_schema_with_combinatorial_map `CGAL::Surface_mesh_topology::Polygonal_schema_with_combinatorial_map`\endlink - \cgalHasModel \link CGAL::Surface_mesh_topology::Polygonal_schema_with_generalized_map `CGAL::Surface_mesh_topology::Polygonal_schema_with_generalized_map`\endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link CGAL::Surface_mesh_topology::Polygonal_schema_with_combinatorial_map `CGAL::Surface_mesh_topology::Polygonal_schema_with_combinatorial_map`\endlink} + \cgalHasModelsBare{\link CGAL::Surface_mesh_topology::Polygonal_schema_with_generalized_map `CGAL::Surface_mesh_topology::Polygonal_schema_with_generalized_map`\endlink} + \cgalHasModelsEnd */ class PolygonalSchema diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h index 8ee52354e37..ee039139ce1 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/PolygonalSchemaItems.h @@ -6,7 +6,9 @@ \cgalRefines{GenericMapItems} - \cgalHasModel \link CGAL::Surface_mesh_topology::Polygonal_schema_min_items `CGAL::Surface_mesh_topology::Polygonal_schema_min_items`\endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link CGAL::Surface_mesh_topology::Polygonal_schema_min_items `CGAL::Surface_mesh_topology::Polygonal_schema_min_items`\endlink} + \cgalHasModelsEnd */ class PolygonalSchemaItems diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/WeightFunctor.h b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/WeightFunctor.h index 0062dd18e48..6f9cbefceb6 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/WeightFunctor.h +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/Concepts/WeightFunctor.h @@ -5,8 +5,10 @@ The concept `WeightFunctor` defines a functor to calculate the weight of an edge. - \cgalHasModel \link CGAL::Surface_mesh_topology::Unit_weight_functor `CGAL::Surface_mesh_topology::Unit_weight_functor`\endlink - \cgalHasModel \link CGAL::Surface_mesh_topology::Euclidean_length_weight_functor `CGAL::Surface_mesh_topology::Euclidean_length_weight_functor`\endlink + \cgalHasModelsBegin + \cgalHasModelsBare{\link CGAL::Surface_mesh_topology::Unit_weight_functor `CGAL::Surface_mesh_topology::Unit_weight_functor`\endlink} + \cgalHasModelsBare{\link CGAL::Surface_mesh_topology::Euclidean_length_weight_functor `CGAL::Surface_mesh_topology::Euclidean_length_weight_functor`\endlink} + \cgalHasModelsEnd */ class WeightFunctor { public: diff --git a/Surface_mesh_topology/doc/Surface_mesh_topology/PackageDescription.txt b/Surface_mesh_topology/doc/Surface_mesh_topology/PackageDescription.txt index 40828383894..b39b30e8f93 100644 --- a/Surface_mesh_topology/doc/Surface_mesh_topology/PackageDescription.txt +++ b/Surface_mesh_topology/doc/Surface_mesh_topology/PackageDescription.txt @@ -7,9 +7,7 @@ /// \ingroup PkgSurfaceMeshTopologyRef /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_face_graph_with_paths.h} */ /// \defgroup PkgDrawFaceGraphWithPaths Draw a Mesh with Paths /// \ingroup PkgSurfaceMeshTopologyRef diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Gray_level_image_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Gray_level_image_3.h index c581de85010..e5482131899 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Gray_level_image_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Gray_level_image_3.h @@ -27,7 +27,7 @@ The library CGAL_ImageIO and therefore `Gray_level_image_3` support several types of 3D images: INRIMAGE (extension .inr[.gz]), GIS (extension .dim, of .ima[.gz]), and ANALYZE (extension .hdr, or .img[.gz]). -\cgalModels `ImplicitFunction` +\cgalModels{ImplicitFunction} \sa `ImplicitFunction` \sa `Implicit_surface_3` diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Implicit_surface_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Implicit_surface_3.h index 9755576db70..58bdcf1b224 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Implicit_surface_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Implicit_surface_3.h @@ -27,7 +27,7 @@ mesh traits The number type `Function::FT` has to match the type `Traits::FT`. -\cgalModels `Surface_3` +\cgalModels{Surface_3} \sa `make_surface_mesh` \sa `Surface_mesh_traits_generator_3` diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_cell_base_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_cell_base_3.h index 92b02d9034a..2dea730abfe 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_cell_base_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_cell_base_3.h @@ -16,7 +16,7 @@ class. \tparam Cb must be a model of the concept `DelaunayTriangulationCellBase_3` and defaults to `Delaunay_triangulation_cell_base_3`. -\cgalModels `SurfaceMeshCellBase_3` +\cgalModels{SurfaceMeshCellBase_3} \sa `SurfaceMeshComplex_2InTriangulation_3` \sa `Surface_mesh_complex_2_in_triangulation_3` diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_complex_2_in_triangulation_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_complex_2_in_triangulation_3.h index 77146cc110d..4067968a486 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_complex_2_in_triangulation_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_complex_2_in_triangulation_3.h @@ -22,7 +22,7 @@ of the concept `SurfaceMeshVertexBase_3` and `SurfaceMeshCellBase_3` respectively.) -\cgalModels `SurfaceMeshComplex_2InTriangulation_3` +\cgalModels{SurfaceMeshComplex_2InTriangulation_3} \sa `make_surface_mesh` \sa `SurfaceMeshTriangulation_3` diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_criteria_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_criteria_3.h index 693a1fa8dee..debdac03ce0 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_criteria_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_criteria_3.h @@ -27,7 +27,7 @@ is the distance between the facet circumcenter and the center of its surface Delaunay ball. -\cgalModels `SurfaceMeshFacetsCriteria_3` +\cgalModels{SurfaceMeshFacetsCriteria_3} \sa `make_surface_mesh` diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_triangulation_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_triangulation_3.h index b248d1aa865..655dae38d03 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_triangulation_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_default_triangulation_3.h @@ -10,7 +10,7 @@ are models of the concepts `SurfaceMeshVertexBase_3` and `SurfaceMeshCellBase_3` respectively. -\cgalModels `SurfaceMeshTriangulation_3` +\cgalModels{SurfaceMeshTriangulation_3} \sa `Surface_mesh_complex_2_in_triangulation_3` \sa `make_surface_mesh` diff --git a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_vertex_base_3.h b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_vertex_base_3.h index 3a4f9172cc6..f06dc5f2ca1 100644 --- a/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_vertex_base_3.h +++ b/Surface_mesher/doc/Surface_mesher/CGAL/Surface_mesh_vertex_base_3.h @@ -17,7 +17,7 @@ class. and defaults to `Triangulation_vertex_base_3 `. -\cgalModels `SurfaceMeshVertexBase_3` +\cgalModels{SurfaceMeshVertexBase_3} \sa `SurfaceMeshComplex_2InTriangulation_3` \sa `Surface_mesh_complex_2_in_triangulation_3` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitFunction.h b/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitFunction.h index a713151a311..299065f4890 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitFunction.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitFunction.h @@ -7,8 +7,10 @@ The concept `ImplicitFunction` describes a function object whose `operator()` computes the values of a function \f$ f : \mathbb{R}^3 \longrightarrow \mathbb{R}\f$. -\cgalHasModel CGAL::Gray_level_image_3 -\cgalHasModel any pointer to a function of type `FT (*)(Point)` +\cgalHasModelsBegin +\cgalHasModelsBare{any pointer to a function of type `FT (*)(Point)`} +\cgalHasModels{CGAL::Gray_level_image_3} +\cgalHasModelsEnd \sa `CGAL::Implicit_surface_3` \sa `CGAL::make_surface_mesh()` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitSurfaceTraits_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitSurfaceTraits_3.h index fed39a225af..d06d695c40e 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitSurfaceTraits_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/ImplicitSurfaceTraits_3.h @@ -15,7 +15,9 @@ the concept `ImplicitSurfaceTraits_3` provides the types, predicates and constru that are passed to the generated model of `SurfaceMeshTraits_3`. -\cgalHasModel Any \cgal Kernel. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Implicit_surface_3` \sa `CGAL::make_surface_mesh()` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h index f418f71e47b..fbf8c2662c7 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshCellBase_3.h @@ -37,8 +37,10 @@ of the restriction to the surface of a three dimensional triangulation. In the following we call surface center of a facet, the center of its biggest Delaunay surface ball. -\cgalHasModel `CGAL::Surface_mesh_cell_base_3` -\cgalHasModel `CGAL::Surface_mesh_default_triangulation_3::Cell` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_cell_base_3} +\cgalHasModels{CGAL::Surface_mesh_default_triangulation_3::Cell} +\cgalHasModelsEnd \sa `SurfaceMeshTriangulation_3` \sa `SurfaceMeshComplex_2InTriangulation_3` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshComplex_2InTriangulation_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshComplex_2InTriangulation_3.h index 1f8cb4f169f..185c14e9e9d 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshComplex_2InTriangulation_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshComplex_2InTriangulation_3.h @@ -30,7 +30,9 @@ A model of this concept is a type to be plugged as first template parameter in the function template `CGAL::make_surface_mesh()`. -\cgalHasModel `CGAL::Surface_mesh_complex_2_in_triangulation_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_complex_2_in_triangulation_3} +\cgalHasModelsEnd \sa `CGAL::make_surface_mesh()` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshFacetsCriteria_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshFacetsCriteria_3.h index 28b866387ea..ecc980a35cf 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshFacetsCriteria_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshFacetsCriteria_3.h @@ -33,7 +33,9 @@ is just a lexicographical comparison. The meshing algorithm handles facets with lowest quality first. The qualities are computed by a function `is_bad(const Facet& f, const Quality& q)`. -\cgalHasModel `CGAL::Surface_mesh_default_criteria_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_default_criteria_3} +\cgalHasModelsEnd \sa `CGAL::make_surface_mesh()` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTraits_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTraits_3.h index 15d0256b2bc..412f6503b70 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTraits_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTraits_3.h @@ -11,7 +11,9 @@ and to compute some intersection points if any exists. The concept `SurfaceMeshTraits_3` also includes a funcctor able to provide a small set of initial points on the surface. -\cgalHasModel `CGAL::Surface_mesh_traits_generator_3::type` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_traits_generator_3::type} +\cgalHasModelsEnd \sa `CGAL::make_surface_mesh()` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h index 7d502a9bf41..a8411edcbbd 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshTriangulation_3.h @@ -17,7 +17,9 @@ the requirements for the triangulation type plugged in the class `CGAL::Surface_mesh_complex_2_in_triangulation_3`. -\cgalHasModel Any 3D Delaunay triangulation class of \cgal +\cgalHasModelsBegin +\cgalHasModelsBare{Any 3D Delaunay triangulation class of \cgal} +\cgalHasModelsEnd \sa `CGAL::Triangulation_3` \sa `CGAL::Delaunay_triangulation_3` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h index 5e1f3b3098d..1889afd3c84 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/SurfaceMeshVertexBase_3.h @@ -31,8 +31,10 @@ integers, which, when they are valid, store respectively the number of complex facets incident to the vertex and the number of connected components of the adjacency graph of those facets. -\cgalHasModel `CGAL::Surface_mesh_vertex_base_3` -\cgalHasModel `CGAL::Surface_mesh_default_triangulation_3::Vertex` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Surface_mesh_vertex_base_3} +\cgalHasModels{CGAL::Surface_mesh_default_triangulation_3::Vertex} +\cgalHasModelsEnd \sa `SurfaceMeshComplex_2InTriangulation_3` \sa `CGAL::Surface_mesh_complex_2_in_triangulation_3` diff --git a/Surface_mesher/doc/Surface_mesher/Concepts/Surface_3.h b/Surface_mesher/doc/Surface_mesher/Concepts/Surface_3.h index 6e0694fda56..04f2064c682 100644 --- a/Surface_mesher/doc/Surface_mesher/Concepts/Surface_3.h +++ b/Surface_mesher/doc/Surface_mesher/Concepts/Surface_3.h @@ -8,7 +8,9 @@ The surface types are required to be copy constructible and assignable. -\cgalHasModel `CGAL::Implicit_surface_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Implicit_surface_3} +\cgalHasModelsEnd \sa `CGAL::make_surface_mesh()` \sa `SurfaceMeshTraits_3` diff --git a/TDS_2/doc/TDS_2/CGAL/Triangulation_data_structure_2.h b/TDS_2/doc/TDS_2/CGAL/Triangulation_data_structure_2.h index 4b2569c1607..5c076eed68f 100644 --- a/TDS_2/doc/TDS_2/CGAL/Triangulation_data_structure_2.h +++ b/TDS_2/doc/TDS_2/CGAL/Triangulation_data_structure_2.h @@ -18,7 +18,7 @@ additional template parameters. \tparam FaceBase must be a model of `TriangulationDSFaceBase_2`. The default is `Triangulation_ds_face_base_2`. -\cgalModels `TriangulationDataStructure_2` +\cgalModels{TriangulationDataStructure_2} \cgalHeading{Modifiers} diff --git a/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_face_base_2.h b/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_face_base_2.h index 85fbc81a185..1380f3fefef 100644 --- a/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_face_base_2.h +++ b/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_face_base_2.h @@ -8,7 +8,7 @@ The class `Triangulation_ds_face_base_2` is a model for the concept `TriangulationDSFaceBase_2` to be used by `Triangulation_data_structure_2`. -\cgalModels `TriangulationDSFaceBase_2` +\cgalModels{TriangulationDSFaceBase_2} \tparam TDS should not be specified (see Section \ref TDS_2TheRebindMechanism and examples) diff --git a/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_vertex_base_2.h b/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_vertex_base_2.h index 96ce87d5e3b..573f1f95180 100644 --- a/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_vertex_base_2.h +++ b/TDS_2/doc/TDS_2/CGAL/Triangulation_ds_vertex_base_2.h @@ -20,7 +20,7 @@ and `Triangulation_ds_vertex_base_2` cannot be plugged in. \tparam TDS should not be specified (see Section \ref TDS_2TheRebindMechanism and examples) -\cgalModels `TriangulationDSVertexBase_2` +\cgalModels{TriangulationDSVertexBase_2} \sa `CGAL::Triangulation_vertex_base_2` \sa `CGAL::Triangulation_ds_face_base_2` diff --git a/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h b/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h index d3bc61921c5..be2cbf0b6ce 100644 --- a/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h +++ b/TDS_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h @@ -48,7 +48,9 @@ that the `CGAL::Triangulation_data_structure_2` actually uses as a base class for the class `CGAL::Triangulation_data_structure_2::Face`. -\cgalHasModel `CGAL::Triangulation_ds_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_face_base_2} +\cgalHasModelsEnd \sa `TriangulationDSVertexBase_2` \sa `CGAL::Triangulation_data_structure_2` diff --git a/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h b/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h index 8402f4f4442..6c5cbe4c7e6 100644 --- a/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h +++ b/TDS_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h @@ -44,7 +44,9 @@ that the `CGAL::Triangulation_data_structure_2` actually uses as a base class for the class of `CGAL::Triangulation_data_structure_2::Vertex`. -\cgalHasModel `CGAL::Triangulation_ds_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationDSFaceBase_2` \sa `CGAL::Triangulation_data_structure_2` diff --git a/TDS_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h b/TDS_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h index b2c1b5a0886..5b458bc3250 100644 --- a/TDS_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h +++ b/TDS_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h @@ -64,7 +64,9 @@ the rank of this item in the output order. When dimension \f$ <\f$ 2, the same information is output for faces of maximal dimension instead of faces. -\cgalHasModel `CGAL::Triangulation_data_structure_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_data_structure_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2::Face` \sa `TriangulationDataStructure_2::Vertex` @@ -105,13 +107,13 @@ typedef unspecified_type Face_data; /*! Handle to a vertex. -\cgalModels `Handle` +\cgalModels{Handle} */ typedef unspecified_type Vertex_handle; /*! Handle to a face. -\cgalModels `Handle` +\cgalModels{Handle} */ typedef unspecified_type Face_handle; @@ -726,7 +728,9 @@ In order to obtain new vertices or destruct unused vertices, the user must call the `create_vertex()` and `delete_vertex()` methods of the triangulation data structure. -\cgalHasModel `CGAL::Triangulation_ds_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationDSVertexBase_2` \sa `TriangulationDataStructure_2::Face` @@ -847,7 +851,9 @@ The methods `create_face()` and have to be used to define new faces and to delete no longer used faces. -\cgalHasModel `CGAL::Triangulation_ds_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_face_base_2} +\cgalHasModelsEnd \sa `TriangulationDSFaceBase_2` \sa `TriangulationDataStructure_2` diff --git a/TDS_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h b/TDS_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h index b3c8ab7da78..ad6b244555a 100644 --- a/TDS_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h +++ b/TDS_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h @@ -27,7 +27,7 @@ container to store vertices and cells. It can be `Sequential_tag` (use of a `create_vertex()`, `create_cell()`, `delete_vertex()`, and `delete_cell()`. `Sequential_tag` is the default value. -\cgalModels `TriangulationDataStructure_3` +\cgalModels{TriangulationDataStructure_3} The base class `Triangulation_utils_3` defines basic computations on indices of vertices and neighbors of cells. diff --git a/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_cell_base_3.h b/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_cell_base_3.h index c03c936a2cf..763beb19f13 100644 --- a/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_cell_base_3.h +++ b/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_cell_base_3.h @@ -8,7 +8,7 @@ The class `Triangulation_ds_cell_base_3<>` is a model for the concept `TriangulationDSCellBase_3` to be used by `Triangulation_data_structure_3`. -\cgalModels `TriangulationDSCellBase_3` +\cgalModels{TriangulationDSCellBase_3} \tparam TDS should not be specified (see Section \ref tds3cyclic and examples) diff --git a/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_vertex_base_3.h b/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_vertex_base_3.h index 26ad462db9d..0c324aae7a2 100644 --- a/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_vertex_base_3.h +++ b/TDS_3/doc/TDS_3/CGAL/Triangulation_ds_vertex_base_3.h @@ -18,7 +18,7 @@ This base class can be used directly or can serve as a base to derive other base classes with some additional attributes (a color for example) tuned for a specific application. -\cgalModels `TriangulationDSVertexBase_3` +\cgalModels{TriangulationDSVertexBase_3} \tparam TDS should not be specified (see Section \ref tds3cyclic and examples) diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h index 4ce03689c74..4b586536381 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDSCellBase_3.h @@ -33,7 +33,9 @@ cell classes. The rebound base classes so obtained are the classes which are used as base classes for the final vertex and cell classes. More information can be found in Section \ref TDS3secdesign. -\cgalHasModel `CGAL::Triangulation_ds_cell_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_cell_base_3} +\cgalHasModelsEnd \sa `TriangulationDSVertexBase_3` \sa `CGAL::Triangulation_data_structure_3` diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h index eef2cf0d3d4..3e3e58e37ea 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h @@ -28,7 +28,9 @@ cell classes. The rebound base classes so obtained are the classes which are used as base classes for the final vertex and cell classes. More information can be found in Section \ref TDS3secdesign. -\cgalHasModel `CGAL::Triangulation_ds_vertex_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_vertex_base_3} +\cgalHasModelsEnd \sa `TriangulationDSCellBase_3` \sa `CGAL::Triangulation_data_structure_3` diff --git a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h index 081f9f98513..bdd21ca6d4b 100644 --- a/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h +++ b/TDS_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h @@ -65,7 +65,9 @@ neighbors of each cell, where the index corresponds to the preceding list of cells. When dimension < 3, the same information is stored for faces of maximal dimension instead of cells. -\cgalHasModel `CGAL::Triangulation_data_structure_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_data_structure_3} +\cgalHasModelsEnd \sa `TriangulationDataStructure_3::Vertex` \sa `TriangulationDataStructure_3::Cell` diff --git a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h index 01d05c5c873..ca104a80988 100644 --- a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h +++ b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingCellBase_3.h @@ -6,7 +6,9 @@ Cell base concept to be used in the triangulation type given to the function `CGAL::tetrahedral_isotropic_remeshing()`. -\cgalHasModel `CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3} +\cgalHasModelsEnd */ class RemeshingCellBase_3 diff --git a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h index d275fbc03a7..85e92da96c3 100644 --- a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h +++ b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingTriangulationTraits_3.h @@ -10,7 +10,9 @@ of the class `Remeshing_triangulation_3`. It defines the geometric objects (points, segments, triangles, and tetrahedra) forming the triangulation together with a few geometric predicates and constructions on these objects. -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Triangulation_3` */ diff --git a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h index 0e9b0e86003..484782a6547 100644 --- a/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h +++ b/Tetrahedral_remeshing/doc/Tetrahedral_remeshing/Concepts/RemeshingVertexBase_3.h @@ -6,7 +6,9 @@ Vertex base concept to be used in the triangulation type given to the function `CGAL::tetrahedral_isotropic_remeshing()`. -\cgalHasModel `Tetrahedral_remeshing::Remeshing_vertex_base_3` +\cgalHasModelsBegin +\cgalHasModels{Tetrahedral_remeshing::Remeshing_vertex_base_3} +\cgalHasModelsEnd */ class RemeshingVertexBase_3 diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_cell_base_3.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_cell_base_3.h index d8237882726..c551716d618 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_cell_base_3.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_cell_base_3.h @@ -15,36 +15,63 @@ #include -#include +#include -namespace CGAL -{ -namespace Tetrahedral_remeshing -{ +#include -template -class Remeshing_cell_3 - : public CGAL::Simplicial_mesh_cell_3 +namespace CGAL { +namespace Tetrahedral_remeshing { + +/*! +\ingroup PkgTetrahedralRemeshingClasses + +The class `Remeshing_cell_base_3` is a model of the concept `RemeshingCellBase_3`. +It is designed to serve as cell base class for the 3D triangulation +used in the tetrahedral remeshing process. + +\tparam Gt is the geometric traits class. +It has to be a model of the concept `RemeshingTriangulationTraits_3`. + +\tparam Cb is a cell base class from which `Remeshing_cell_base_3` derives. +It must be a model of the `SimplicialMeshCellBase_3` concept. + +\cgalModels{RemeshingCellBase_3} + +*/ +template > +class Remeshing_cell_base_3 + : public Cb { -private: - using Base = CGAL::Simplicial_mesh_cell_3; +public: + using FT = typename Gt::FT; + + using Vertex_handle = typename Cb::Vertex_handle; + using Cell_handle = typename Cb::Cell_handle; + + using Geom_traits = Gt; public: - using Base::Base; + template + struct Rebind_TDS + { + using Cb2 = typename Cb::template Rebind_TDS::Other; + using Other = Remeshing_cell_base_3; + }; - void set_sliver_value(double value) +public: + using Cb::Cb; // constructors + +public: + void set_sliver_value(const FT value) { sliver_cache_validity_ = true; sliver_value_ = value; } - double sliver_value() const + FT sliver_value() const { CGAL_assertion(is_cache_valid()); return sliver_value_; @@ -54,51 +81,11 @@ public: void reset_cache_validity() const { sliver_cache_validity_ = false; } private: - double sliver_value_ = 0.; + FT sliver_value_ = 0.; mutable bool sliver_cache_validity_ = false; }; -/*! -\ingroup PkgTetrahedralRemeshingClasses - -The class `Remeshing_cell_base_3` is a model of the concept `SimplicialMeshCellBase_3`. -It is designed to serve as cell base class for the 3D triangulation -used in the tetrahedral remeshing process. - -\tparam Subdomain_index Type of indices for subdomains of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` -and `EqualityComparable`. The default constructed value must match the label -of the exterior of the domain (which contains at least the unbounded component). - It must match the `Subdomain_index` of the model - of the `MeshDomain_3` concept when used for mesh generation. - -\tparam Surface_patch_index Type of indices for surface patches (boundaries and interfaces) -of the discretized geometric domain. -Must be a model of `CopyConstructible`, `Assignable`, `DefaultConstructible` -and `EqualityComparable`. The default constructed value must be the index value -assigned to a non surface facet. - It must match the `Surface_patch_index` of the model - of the `MeshDomain_3` concept when used for mesh generation. - -\cgalModels `RemeshingCellBase_3` -\cgalModels `SimplicialMeshCellBase_3` - -*/ -template -class Remeshing_cell_base_3 -{ -public: - template - struct Rebind_TDS - { - typedef Remeshing_cell_3 Other; - }; -}; - -}//end namespace Tetrahedral_remeshing -}//end namespace CGAL +} // namespace Tetrahedral_remeshing +} // namespace CGAL #endif //CGAL_TET_ADAPTIVE_REMESHING_CELL_BASE_3_H diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h index 7b2bb34f9cf..f009ad0471c 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_triangulation_3.h @@ -45,14 +45,14 @@ triangulation data structure. Possible values are `Sequential_tag` (the default), `Parallel_tag`, and `Parallel_if_available_tag`. -\tparam Vb is a model of `RemeshingVertexBase_3`. It has the default value ` Remeshing_vertex_base_3`. -\tparam Cb is a model of `RemeshingCellBase_3`. It has the default value ` Remeshing_cell_base_3`. +\tparam Vb must be a model of `RemeshingVertexBase_3`. +\tparam Cb must be model of `RemeshingCellBase_3`. */ template, - typename Cb = Remeshing_cell_base_3<> + typename Cb = Remeshing_cell_base_3 > class Remeshing_triangulation_3 : public CGAL::Triangulation_3 > diff --git a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_vertex_base_3.h b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_vertex_base_3.h index b828ffb08d1..7602f745370 100644 --- a/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_vertex_base_3.h +++ b/Tetrahedral_remeshing/include/CGAL/Tetrahedral_remeshing/Remeshing_vertex_base_3.h @@ -17,44 +17,46 @@ #include -namespace CGAL -{ -namespace Tetrahedral_remeshing -{ +namespace CGAL { +namespace Tetrahedral_remeshing { /*! \ingroup PkgTetrahedralRemeshingClasses -The class `Remeshing_vertex_base_3` is a model of the concept `MeshVertexBase_3`. +The class `Remeshing_vertex_base_3` is a model of the concept `RemeshingVertexBase_3`. It is designed to serve as vertex base class for the 3D triangulation used in the tetrahedral remeshing process. \tparam Gt is the geometric traits class. -It has to be a model of the concept `RemeshingTriangulationTraits_3`. +It must be a model of the concept `RemeshingTriangulationTraits_3`. \tparam Vb is a vertex base class from which `Remeshing_vertex_base_3` derives. -It must be a model of the `TriangulationVertexBase_3` concept. -It has the default value `Triangulation_vertex_base_3`. +It must be a model of the concept `SimplicialMeshVertexBase_3`. -\cgalModels `RemeshingVertexBase_3` -\cgalModels `SimplicialMeshVertexBase_3` +\cgalModels{RemeshingVertexBase_3,SimplicialMeshVertexBase_3} */ -template > -using Remeshing_vertex_base_3 - = CGAL::Simplicial_mesh_vertex_base_3; +template > +class Remeshing_vertex_base_3 + : public Vb +{ +public: + template + struct Rebind_TDS + { + using Vb2 = typename Vb::template Rebind_TDS::Other; + using Other = Remeshing_vertex_base_3; + }; -}//end namespace Tetrahedral_remeshing +public: + using Vb::Vb; // constructors +}; -}//end namespace CGAL +} // namespace Tetrahedral_remeshing +} // namespace CGAL #endif //CGAL_TET_ADAPTIVE_REMESHING_VERTEX_BASE_3_H diff --git a/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h b/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h index edd23bc2967..f1be0dcf844 100644 --- a/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h +++ b/Tetrahedral_remeshing/include/CGAL/tetrahedral_remeshing.h @@ -61,7 +61,7 @@ namespace CGAL * subdomains throughout the remeshing process. * * Subdomains are defined by indices that -* are stored in the cells of the input triangulation, following the `MeshCellBase_3` +* are stored in the cells of the input triangulation, following the `SimplicialMeshCellBase_3` * concept (refined by `RemeshingCellBase_3`). * The surfacic interfaces between subdomains are formed by facets whose two incident cells * have different subdomain indices. @@ -302,14 +302,14 @@ void tetrahedral_isotropic_remeshing( * @tparam Tr is the underlying triangulation for `Mesh_complex_3_in_triangulation_3`. * It can be instantiated with any 3D regular triangulation of CGAL provided * that its vertex and cell base classes are models of the concepts -* `MeshVertexBase_3` (refined by `RemeshingCellBase_3`) -* and `MeshCellBase_3` (refined by `RemeshingVertexBase_3`), respectively. +* `SimplicialMeshCellBase_3` (refined by `RemeshingCellBase_3`) +* and `SimplicialMeshVertexBase_3` (refined by `RemeshingVertexBase_3`), respectively. * @tparam CornerIndex is the type of the indices for feature corners. * If `c3t3` has been generated using `CGAL::make_mesh_3()`, it must match -* the `Corner_index` type of the model of the `MeshDomainWithFeatures_3` concept used for mesh generation. +* `MeshDomainWithFeatures_3::Corner_index`. * @tparam CurveIndex is the type of the indices for feature curves. * If `c3t3` has been generated using `CGAL::make_mesh_3()`, it must match -* the `Curve_index` type of the model of the `MeshDomainWithFeatures_3` concept used for mesh generation. +* `MeshDomainWithFeatures_3::Curve_index`. * * @param c3t3 the complex containing the triangulation to be remeshed. */ diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h index d6167b9185a..666f6ece70c 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_data_structure.h @@ -34,9 +34,9 @@ third parameter be specified. It also accepts the tag `CGAL::Default` as third parameter. In both cases, `TriangulationDSFullCell_` defaults to `CGAL::Triangulation_ds_full_cell<>`. -\cgalModels `TriangulationDataStructure`. In addition, the class +\cgalModels{TriangulationDataStructure. In addition, the class `Triangulation_data_structure` provides the following types and -methods. +methods.} \sa `Triangulation_ds_vertex` \sa `Triangulation_ds_full_cell` diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h index 66c902d0d2d..148985c11b7 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_full_cell.h @@ -41,7 +41,7 @@ indices are stored. See the user manual for how to choose the second option. -\cgalModels `TriangulationDSFullCell` +\cgalModels{TriangulationDSFullCell} \cgalHeading{Rebind mechanism} diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h index 9b77ad04b5d..34cddeb330f 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_ds_vertex.h @@ -21,7 +21,7 @@ example). \tparam TriangulationDataStructure_ must be a model of the `TriangulationDataStructure` concept. -\cgalModels `TriangulationDSVertex` +\cgalModels{TriangulationDSVertex} \cgalHeading{Rebind mechanism} diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_face.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_face.h index bee7d71ed53..9b4d35b4ce0 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_face.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_face.h @@ -12,7 +12,7 @@ Actually, `Triangulation_face` needs only that this concept defines the types `Vertex_handle`, and `Maximal_dimension`. -\cgalModels `TriangulationDSFace` +\cgalModels{TriangulationDSFace} \sa `TriangulationDSFace` \sa `TriangulationDataStructure` diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_full_cell.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_full_cell.h index ba9f68848b1..89e21f5663a 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_full_cell.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_full_cell.h @@ -27,9 +27,9 @@ The class template `Triangulation_full_cell` accepts that no third parameter be It also accepts the tag `CGAL::Default` as third parameter. In both cases, `TriangulationDSFullCell_` defaults to `CGAL::Triangulation_ds_full_cell<>`. -\cgalModels `TriangulationFullCell` Additionally, the class +\cgalModels{TriangulationFullCell Additionally, the class `Triangulation_full_cell` provides the following types, -constructors and methods: +constructors and methods:} \sa `Triangulation_vertex` \sa `Triangulation_data_structure` diff --git a/Triangulation/doc/Triangulation/CGAL/Triangulation_vertex.h b/Triangulation/doc/Triangulation/CGAL/Triangulation_vertex.h index f3169d6a6d4..631496fa494 100644 --- a/Triangulation/doc/Triangulation/CGAL/Triangulation_vertex.h +++ b/Triangulation/doc/Triangulation/CGAL/Triangulation_vertex.h @@ -27,9 +27,9 @@ class template `Triangulation_vertex` accepts that no third parameter be specifi also accepts the tag `CGAL::Default` as third parameter. In both cases, `TriangulationDSVertex_` defaults to `CGAL::Triangulation_ds_vertex<>`. -\cgalModels `TriangulationVertex` Additionally, the class +\cgalModels{TriangulationVertex Additionally, the class `Triangulation_vertex` provides the following types, constructors -and methods: +and methods:} \sa `Triangulation_full_cell` \sa `Triangulation_data_structure` diff --git a/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h b/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h index 670217bb50d..5432de4a1f2 100644 --- a/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h +++ b/Triangulation/doc/Triangulation/Concepts/DelaunayTriangulationTraits.h @@ -9,8 +9,10 @@ a Delaunay triangulation. It corresponds to the first template parameter of the \cgalRefines{TriangulationTraits} -\cgalHasModel `CGAL::Epick_d` -\cgalHasModel `CGAL::Epeck_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Epick_d} +\cgalHasModels{CGAL::Epeck_d} +\cgalHasModelsEnd \sa `TriangulationTraits` */ diff --git a/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h b/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h index 00ec18a9e8c..8180b4f3007 100644 --- a/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h +++ b/Triangulation/doc/Triangulation/Concepts/RegularTriangulationTraits.h @@ -9,8 +9,10 @@ a regular triangulation. It corresponds to the first template parameter of the c \cgalRefines{TriangulationTraits} -\cgalHasModel `CGAL::Epick_d` -\cgalHasModel `CGAL::Epeck_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Epick_d} +\cgalHasModels{CGAL::Epeck_d} +\cgalHasModelsEnd \sa `TriangulationTraits` */ diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFace.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFace.h index 24188ada103..3a582c7ba0f 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFace.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFace.h @@ -15,7 +15,9 @@ The dimension of a face is implicitly set when `TriangulationDSFace::set_index` is called two times to set the first two vertices (`i = 0` and `i = 1`), then the dimension is 1. -\cgalHasModel `CGAL::Triangulation_face` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_face} +\cgalHasModelsEnd \sa `TriangulationDSFullCell` \sa `TriangulationDSVertex` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h index a29eef83396..df9d474ea4b 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDSFullCell.h @@ -36,8 +36,10 @@ of `CGAL::Triangulation_data_structure::Vertex`. \cgalRefines{TriangulationDataStructure::FullCell} -\cgalHasModel `CGAL::Triangulation_ds_full_cell` -\cgalHasModel `CGAL::Triangulation_full_cell` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_full_cell} +\cgalHasModels{CGAL::Triangulation_full_cell} +\cgalHasModelsEnd \sa `TriangulationDSVertex` \sa `TriangulationDSFace` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h index 30b22c4994b..f9be6db6366 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDSVertex.h @@ -36,8 +36,10 @@ of `CGAL::Triangulation_data_structure::Vertex`. \cgalRefines{TriangulationDataStructure::Vertex} -\cgalHasModel `CGAL::Triangulation_ds_vertex` -\cgalHasModel `CGAL::Triangulation_vertex` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_vertex} +\cgalHasModels{CGAL::Triangulation_vertex} +\cgalHasModelsEnd \sa `TriangulationDSFullCell` \sa `TriangulationDSFace` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationDataStructure.h b/Triangulation/doc/Triangulation/Concepts/TriangulationDataStructure.h index 3e3228db4c9..6ab5522df50 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationDataStructure.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationDataStructure.h @@ -69,7 +69,9 @@ The classes `Vertex` and `Full_cell` have to provide the relevant I/O operators (possibly empty). -\cgalHasModel `CGAL::Triangulation_data_structure` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_data_structure} +\cgalHasModelsEnd \sa `TriangulationDataStructure::Vertex` \sa `TriangulationDataStructure::FullCell` @@ -660,8 +662,10 @@ It sets requirements of combinatorial nature only, as geometry is not concerned here. In particular, we only require that the vertex holds a handle to a full cell incident to it in the triangulation. -\cgalHasModel `CGAL::Triangulation_ds_vertex` -\cgalHasModel `CGAL::Triangulation_vertex` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_vertex} +\cgalHasModels{CGAL::Triangulation_vertex} +\cgalHasModelsEnd \sa `TriangulationDataStructure::FullCell` \sa `TriangulationDataStructure::Face` @@ -767,8 +771,10 @@ full cell as well as handles to the adjacent full cells. Two full cells are said to be adjacent when they share a facet. Adjacent full cells are called hereafter neighbors. -\cgalHasModel `CGAL::Triangulation_ds_full_cell` -\cgalHasModel `CGAL::Triangulation_full_cell` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_ds_full_cell} +\cgalHasModels{CGAL::Triangulation_full_cell} +\cgalHasModelsEnd \sa `TriangulationDataStructure::FullCell` \sa `TriangulationDataStructure::Face` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h b/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h index 74750c4117a..ff141326deb 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationFullCell.h @@ -10,7 +10,9 @@ represent a full cell. \cgalRefines{TriangulationDSFullCell We only list below the additional specific requirements of `TriangulationFullCell`} -\cgalHasModel `CGAL::Triangulation_full_cell` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_full_cell} +\cgalHasModelsEnd \sa `CGAL::Triangulation_full_cell` \sa `TriangulationVertex` diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h b/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h index 87018c11c3c..660b270a101 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationTraits.h @@ -14,8 +14,10 @@ traits must refine `SpatialSortingTraits_d`. The insertion is then optimized using spatial sorting. This is not required if the points are inserted one by one. -\cgalHasModel `CGAL::Epick_d` -\cgalHasModel `CGAL::Epeck_d` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Epick_d} +\cgalHasModels{CGAL::Epeck_d} +\cgalHasModelsEnd \sa `DelaunayTriangulationTraits` */ diff --git a/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h b/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h index 0ea82971793..9648500277a 100644 --- a/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h +++ b/Triangulation/doc/Triangulation/Concepts/TriangulationVertex.h @@ -12,7 +12,9 @@ We only list below the additional specific requirements of ::TriangulationVertex Compared to ::TriangulationDSVertex, the main difference is the addition of an association of the vertex with a geometric point. -\cgalHasModel `CGAL::Triangulation_vertex` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_vertex} +\cgalHasModelsEnd \cgalHeading{Input/Output} diff --git a/Triangulation/doc/Triangulation/PackageDescription.txt b/Triangulation/doc/Triangulation/PackageDescription.txt index 0b5d4c7b5ed..2ef98bf9d84 100644 --- a/Triangulation/doc/Triangulation/PackageDescription.txt +++ b/Triangulation/doc/Triangulation/PackageDescription.txt @@ -67,7 +67,7 @@ of the underlying Euclidean space \f$ \mathbb{R}^d\f$. The neighbors of a full cell are also indexed in such a way that the neighbor indexed by \f$ i\f$ is opposite to the vertex with the same index. ----> +--> \cgalClassifedRefPages diff --git a/Triangulation/doc/Triangulation/Triangulation.txt b/Triangulation/doc/Triangulation/Triangulation.txt index 452891fa415..f3b7bca4c9c 100644 --- a/Triangulation/doc/Triangulation/Triangulation.txt +++ b/Triangulation/doc/Triangulation/Triangulation.txt @@ -41,7 +41,7 @@ that is pure, connected and without boundaries nor singularities. The dimension of the triangulation is the dimension of its maximal simplices. - + In the sequel, we will call these maximal simplices full cells. A face of a simplex is a subset of this simplex. A proper face of a simplex is a strict subset of this simplex. @@ -130,22 +130,21 @@ Two full cells \f$ \sigma\f$ and \f$ \sigma'\f$ sharing a facet are called neighbors. A full cell has always exactly \f$ d+1\f$ neighbors. Possible values of \f$d\f$ (the current dimension of the triangulation) include -
    +\par
    \f$d=-2\f$
    This corresponds to an empty triangulation data structure.
    \f$d=-1\f$
    This corresponds to an abstract simplicial complex reduced to a single vertex. - +
    \f$d=0\f$
    This corresponds to an abstract simplicial complex including two vertices, each corresponding to a full cell; the two full cells being neighbors of each other. This is the unique triangulation of the \f$ 0\f$-sphere. - +
    \f$ 0< d \le D\f$
    This corresponds to a triangulation of the sphere \f$ \mathbb{S}^d\f$.
    -
    ## The `Triangulation_data_structure` Class ## @@ -260,7 +259,7 @@ Therefore, the reader will make the best use of this example by reading it slowly, together with the reference manual documentation of the methods that are called (see here: `TriangulationDataStructure`) and by trying to understand the various -`assert(...)` statements.---> +`assert(...)` statements. --> \cgalExample{triangulation_data_structure_static.cpp} diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_face_base_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_face_base_2.h index f83a733c6f8..e9bf99dc1d4 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_face_base_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Constrained_triangulation_face_base_2.h @@ -8,7 +8,7 @@ The class `Constrained_triangulation_face_base_2` is the default model for the c `ConstrainedTriangulationFaceBase_2` to be used as base face class of constrained triangulations. -\cgalModels `ConstrainedTriangulationFaceBase_2` +\cgalModels{ConstrainedTriangulationFaceBase_2} \tparam Traits must be a geometric traits. diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_face_base_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_face_base_2.h index 0bc93fda7b0..64ef2eda1c7 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_face_base_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_face_base_2.h @@ -16,7 +16,7 @@ of `TriangulationFaceBase_2`. By default, this parameter is instantiated by `Triangulation_face_base_2`. -\cgalModels `RegularTriangulationFaceBase_2` +\cgalModels{RegularTriangulationFaceBase_2} \sa `RegularTriangulationFaceBase_2` \sa `RegularTriangulationTraits_2` diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_vertex_base_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_vertex_base_2.h index 01c0e9522a2..e9e12d70ecd 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_vertex_base_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Regular_triangulation_vertex_base_2.h @@ -15,7 +15,7 @@ of `RegularTriangulationTraits_2`. of the concept `TriangulationVertexBase_2` and is by default instantiated by `Triangulation_vertex_base_2`. -\cgalModels `RegularTriangulationVertexBase_2` +\cgalModels{RegularTriangulationVertexBase_2} \sa `CGAL::Triangulation_vertex_base_2` \sa `CGAL::Regular_triangulation_2` diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_2.h index 8f1646c781c..3a943d3aea3 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_2.h @@ -20,7 +20,7 @@ and will serve as a base class for `Triangulation_face_base_2` . \cgal provides a default instantiation for this parameter which is `Triangulation_ds_face_base_2<>`. -\cgalModels `TriangulationFaceBase_2` +\cgalModels{TriangulationFaceBase_2} \sa `CGAL::Triangulation_ds_face_base_2` \sa `CGAL::Triangulation_vertex_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_with_info_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_with_info_2.h index b90233f288e..225ac8f3abf 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_with_info_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_face_base_with_info_2.h @@ -19,9 +19,11 @@ and is actually not used in `Triangulation_face_base_with_info_2` . \tparam Fb is a face base class from which `Triangulation_face_base_with_info_2` derives. -\cgalModels Because `Triangulation_face_base_with_info_2` derives from the class instantiating its third +\cgalModelsBareBegin +\cgalModelsBare{Because `Triangulation_face_base_with_info_2` derives from the class instantiating its third parameter, it will be a model of the same face base concept as its parameter: -`TriangulationFaceBase_2`, `ConstrainedTriangulationFaceBase_2`, or `RegularTriangulationFaceBase_2` +`TriangulationFaceBase_2`, `ConstrainedTriangulationFaceBase_2`, or `RegularTriangulationFaceBase_2`} +\cgalModelsBareEnd \sa `CGAL::Triangulation_face_base_2` \sa `CGAL::Constrained_triangulation_face_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h index 0d875329b44..4ce0d77cf0e 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_hierarchy_2.h @@ -89,7 +89,7 @@ This design allows to use either the default vertex base class or a user customized vertex base with additional functionalities. -\cgalModels `TriangulationHierarchyVertexBase_2` +\cgalModels{TriangulationHierarchyVertexBase_2} \sa `TriangulationVertexBase_2` \sa `TriangulationHierarchyVertexBase_2` diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_2.h index fb5d21bd964..97b1cbf3386 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_2.h @@ -22,7 +22,7 @@ the triangulation. By default this parameter is instantiated by `Triangulation_ds_vertex_base_2<>`. -\cgalModels `TriangulationVertexBase_2` +\cgalModels{TriangulationVertexBase_2} \sa `CGAL::Triangulation_ds_vertex_base_2` \sa `CGAL::Triangulation_face_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_with_info_2.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_with_info_2.h index 9d67764d749..ad6b6ea3a81 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_with_info_2.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_vertex_base_with_info_2.h @@ -22,10 +22,12 @@ the triangulation. this parameter is instantiated by `Triangulation_vertex_base_2`. -\cgalModels `TriangulationVertexBaseWithInfo_2` -\cgalModels The parameter `Vb` is a model of some vertex base concept. +\cgalModelsBareBegin +\cgalModelsBare{`TriangulationVertexBaseWithInfo_2`} +\cgalModelsBare{The parameter `Vb` is a model of some vertex base concept. `Triangulation_vertex_base_with_info_2` derives from `Vb` and will be a model of the -same vertex base concept: `TriangulationVertexBase_2`, or `RegularTriangulationVertexBase_2`. +same vertex base concept: `TriangulationVertexBase_2`, or `RegularTriangulationVertexBase_2`.} +\cgalModelsBareEnd \sa `CGAL::Triangulation_face_base_with_info_2` \sa `CGAL::Triangulation_vertex_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h index f0483d539cc..cf9b15d466e 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedDelaunayTriangulationTraits_2.h @@ -17,10 +17,12 @@ The concept `ConstrainedDelaunayTriangulationTraits_2` refines both the concept \cgalRefines{DelaunayTriangulationTraits_2,ConstrainedTriangulationTraits_2} -\cgalHasModel All \cgal Kernels -\cgalHasModel `CGAL::Projection_traits_xy_3` -\cgalHasModel `CGAL::Projection_traits_yz_3` -\cgalHasModel `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd \sa `TriangulationTraits_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h index 1d49d678c47..50e30987b42 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationFaceBase_2.h @@ -19,7 +19,9 @@ constraints. Defines the same types as the `TriangulationFaceBase_2` concept -\cgalHasModel `CGAL::Constrained_triangulation_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Constrained_triangulation_face_base_2} +\cgalHasModelsEnd \sa `TriangulationFaceBase_2` \sa `CGAL::Constrained_triangulation_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h index e57a8ebb6f4..2d57b673ea8 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/ConstrainedTriangulationTraits_2.h @@ -19,11 +19,13 @@ to compute the squared distance between a point and a line \cgalRefines{TriangulationTraits_2} -\cgalHasModel All \cgal Kernels -\cgalHasModel `CGAL::Projection_traits_3` -\cgalHasModel `CGAL::Projection_traits_xy_3` -\cgalHasModel `CGAL::Projection_traits_yz_3` -\cgalHasModel `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Projection_traits_3} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd \sa `TriangulationTraits_2` \sa `ConstrainedDelaunayTriangulationTraits_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h index 32b251a5060..f76e24c327a 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/DelaunayTriangulationTraits_2.h @@ -22,12 +22,14 @@ required if the method `nearest_vertex()` is used. \cgalRefines{TriangulationTraits_2} -\cgalHasModel \cgal kernels -\cgalHasModel `CGAL::Projection_traits_3` (not for dual Voronoi functions) -\cgalHasModel `CGAL::Projection_traits_xy_3` (not for dual Voronoi functions) -\cgalHasModel `CGAL::Projection_traits_xy_3` (not for dual Voronoi functions) -\cgalHasModel `CGAL::Projection_traits_yz_3` (not for dual Voronoi functions) -\cgalHasModel `CGAL::Projection_traits_xz_3` (not for dual Voronoi functions) +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsBare{`CGAL::Projection_traits_3` (not for dual Voronoi functions)} +\cgalHasModelsBare{`CGAL::Projection_traits_xy_3` (not for dual Voronoi functions)} +\cgalHasModelsBare{`CGAL::Projection_traits_xy_3` (not for dual Voronoi functions)} +\cgalHasModelsBare{`CGAL::Projection_traits_yz_3` (not for dual Voronoi functions)} +\cgalHasModelsBare{`CGAL::Projection_traits_xz_3` (not for dual Voronoi functions)} +\cgalHasModelsEnd \sa `TriangulationTraits_2` */ diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h index 6d69fe98604..7602ca70584 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationFaceBase_2.h @@ -34,7 +34,9 @@ in the face a list to store hidden vertices. \cgalRefines{TriangulationFaceBase_2} -\cgalHasModel `CGAL::Regular_triangulation_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_face_base_2} +\cgalHasModelsEnd \sa `TriangulationFaceBase_2` \sa `RegularTriangulationVertexBase_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h index 89ae384c8bf..71dc4f72468 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationTraits_2.h @@ -18,7 +18,9 @@ of Delaunay triangulations. \cgalRefines{TriangulationTraits_2} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Regular_triangulation_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h index 62230e270a7..5cbfa1b9442 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/RegularTriangulationVertexBase_2.h @@ -35,7 +35,9 @@ vertex of the triangulation or a hidden vertex. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel `CGAL::Regular_triangulation_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationVertexBase_2` \sa `CGAL::Regular_triangulation_vertex_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h index 353f5631060..e83d910e4a4 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationFaceBase_2.h @@ -16,7 +16,9 @@ and only provided for symmetry with the vertex case. \cgalRefines{TriangulationDSFaceBase_2} -\cgalHasModel `CGAL::Triangulation_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_face_base_2} +\cgalHasModelsEnd \sa `TriangulationVertexBase_2` \sa `CGAL::Triangulation_face_base_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h index 5d473eabfb6..416da371080 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationHierarchyVertexBase_2.h @@ -14,7 +14,9 @@ next and previous level triangulations. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel `CGAL::Triangulation_hierarchy_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_hierarchy_vertex_base_2} +\cgalHasModelsEnd \sa `CGAL::Triangulation_hierarchy_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h index eeee9572516..0d810e92288 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationTraits_2.h @@ -12,11 +12,13 @@ provides the types of the geometric primitives used in the triangulation and some function object types for the required predicates on those primitives. -\cgalHasModel All models of `Kernel`. -\cgalHasModel `CGAL::Projection_traits_3` -\cgalHasModel `CGAL::Projection_traits_xy_3` -\cgalHasModel `CGAL::Projection_traits_yz_3` -\cgalHasModel `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{CGAL::Projection_traits_3} +\cgalHasModels{CGAL::Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd \sa `CGAL::Triangulation_2` diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h index 0ce1e0012c9..63ffeab1a29 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBaseWithInfo_2.h @@ -8,7 +8,9 @@ and provides an additional information storage. \cgalRefines{TriangulationVertexBase_2} -\cgalHasModel `CGAL::Triangulation_vertex_base_with_info_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_vertex_base_with_info_2} +\cgalHasModelsEnd */ diff --git a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h index bec156dc516..94e5c7da0a0 100644 --- a/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h +++ b/Triangulation_2/doc/Triangulation_2/Concepts/TriangulationVertexBase_2.h @@ -15,7 +15,9 @@ the vertex base of a triangulation stores a point. \cgalRefines{TriangulationDSVertexBase_2} -\cgalHasModel `CGAL::Triangulation_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `TriangulationDataStructure_2::Vertex` diff --git a/Triangulation_2/doc/Triangulation_2/PackageDescription.txt b/Triangulation_2/doc/Triangulation_2/PackageDescription.txt index 65b8c9137e4..2f10c201757 100644 --- a/Triangulation_2/doc/Triangulation_2/PackageDescription.txt +++ b/Triangulation_2/doc/Triangulation_2/PackageDescription.txt @@ -14,9 +14,7 @@ /// \ingroup PkgTriangulation2Ref /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_triangulation_2.h} */ /// \defgroup PkgDrawTriangulation2 Draw a Triangulation 2 /// \ingroup PkgTriangulation2Ref diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_3.h index dbfb816794c..1536b61dea4 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_3.h @@ -14,7 +14,7 @@ of Delaunay triangulations. By default, this parameter is instantiated by `Triangulation_cell_base_3`. -\cgalModels `DelaunayTriangulationCellBase_3` +\cgalModels{DelaunayTriangulationCellBase_3} \sa `DelaunayTriangulationCellBase_3` \sa `CGAL::Delaunay_triangulation_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_with_circumcenter_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_with_circumcenter_3.h index 171084a2170..6eba490b631 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_with_circumcenter_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Delaunay_triangulation_cell_base_with_circumcenter_3.h @@ -20,7 +20,7 @@ circumcenter. be a model of `DelaunayTriangulationCellBase_3`. It has the default value `Delaunay_triangulation_cell_base_3`. -\cgalModels `DelaunayTriangulationCellBase_3` +\cgalModels{DelaunayTriangulationCellBase_3} \sa `CGAL::Delaunay_triangulation_cell_base_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_3.h index 3d110a67cb2..637595f1e25 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_3.h @@ -15,7 +15,7 @@ derives. It must be a model of `TriangulationCellBase_3`. By default, this parameter is instantiated by `Triangulation_cell_base_3`. -\cgalModels `RegularTriangulationCellBase_3` +\cgalModels{RegularTriangulationCellBase_3} \sa `RegularTriangulationCellBase_3` \sa `CGAL::Regular_triangulation_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_with_weighted_circumcenter_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_with_weighted_circumcenter_3.h index 39d05eb11c6..cbf43c1610c 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_with_weighted_circumcenter_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_cell_base_with_weighted_circumcenter_3.h @@ -20,7 +20,7 @@ circumcenter. be a model of `RegularTriangulationCellBase_3`. It has the default value `Regular_triangulation_cell_base_3`. -\cgalModels `RegularTriangulationCellBaseWithWeightedCircumcenter_3` +\cgalModels{RegularTriangulationCellBaseWithWeightedCircumcenter_3} \sa `CGAL::Triangulation_cell_base_3` \sa `CGAL::Triangulation_cell_base_with_info_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_euclidean_traits_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_euclidean_traits_3.h index 284b2f417a1..725116fb136 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_euclidean_traits_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_euclidean_traits_3.h @@ -13,7 +13,7 @@ compatibility, but ignores the template parameter `Weight`. \tparam Weight This template parameter is ignored, as `Kernel::Weighted_point_3` uses the type `Kernel::FT`. -\cgalModels `RegularTriangulationTraits_3` +\cgalModels{RegularTriangulationTraits_3} */ template< typename K, typename Weight > diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_vertex_base_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_vertex_base_3.h index a8bf3351316..fd4f6b60152 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_vertex_base_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_vertex_base_3.h @@ -24,7 +24,7 @@ the same as the point type defined by the geometric traits class. It must be a model of the `TriangulationDSVertexBase_3` concept. It has the default value `Triangulation_ds_vertex_base_3`. -\cgalModels `RegularTriangulationVertexBase_3` +\cgalModels{RegularTriangulationVertexBase_3} \sa `CGAL::Triangulation_cell_base_3` \sa `CGAL::Triangulation_ds_vertex_base_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_3.h index 555a1d62f84..8ce8ea1ca5d 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_3.h @@ -20,7 +20,7 @@ It is actually not used by this class. It must be a model of the `TriangulationDSCellBase_3` concept. It has the default value `Triangulation_ds_cell_base_3`. -\cgalModels `TriangulationCellBase_3` +\cgalModels{TriangulationCellBase_3} \sa `CGAL::Triangulation_ds_cell_base_3` \sa `CGAL::Triangulation_cell_base_with_info_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_with_info_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_with_info_3.h index fd1d585cf8d..533e1e4326f 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_with_info_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_cell_base_with_info_3.h @@ -22,8 +22,7 @@ It must be a model of the `TriangulationCellBase_3` concept. It has the default value `Triangulation_cell_base_3`. -\cgalModels `TriangulationCellBase_3` -\cgalModels `TriangulationCellBaseWithInfo_3` +\cgalModels{TriangulationCellBase_3,TriangulationCellBaseWithInfo_3} \sa `CGAL::Triangulation_cell_base_3` \sa `CGAL::Triangulation_vertex_base_with_info_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_3.h index df4aa7dff5d..457783e526e 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_3.h @@ -24,7 +24,7 @@ the same as the point type defined by the geometric traits class. It must be a model of the `TriangulationDSVertexBase_3` concept. It has the default value `Triangulation_ds_vertex_base_3`. -\cgalModels `TriangulationVertexBase_3` +\cgalModels{TriangulationVertexBase_3} \sa `CGAL::Triangulation_cell_base_3` \sa `CGAL::Triangulation_ds_vertex_base_3` diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_with_info_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_with_info_3.h index f7fe50c0a85..f552bc5b12a 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_with_info_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Triangulation_vertex_base_with_info_3.h @@ -19,8 +19,7 @@ to a vertex. It has to be `DefaultConstructible` and `Assignable`. It must be a model of the `TriangulationVertexBase_3` concept. It has the default value `Triangulation_vertex_base_3`. -\cgalModels `TriangulationVertexBase_3` -\cgalModels `TriangulationVertexBaseWithInfo_3` +\cgalModels{TriangulationVertexBase_3,TriangulationVertexBaseWithInfo_3} \sa `CGAL::Triangulation_cell_base_with_info_3` \sa `CGAL::Triangulation_vertex_base_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h index b6e1a9b2515..fdb8b9ee870 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationCellBase_3.h @@ -11,8 +11,10 @@ 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` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Delaunay_triangulation_cell_base_3} +\cgalHasModels{CGAL::Delaunay_triangulation_cell_base_with_circumcenter_3} +\cgalHasModelsEnd \sa `DelaunayTriangulationTraits_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h index c1f46f3fb4f..3a7514fab6a 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/DelaunayTriangulationTraits_3.h @@ -10,13 +10,15 @@ predicates and constructions on these objects. \cgalRefines{TriangulationTraits_3} -\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` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Exact_predicates_inexact_constructions_kernel (recommended)} +\cgalHasModels{CGAL::Exact_predicates_exact_constructions_kernel (recommended for Voronoi)} +\cgalHasModels{CGAL::Filtered_kernel} +\cgalHasModels{CGAL::Cartesian} +\cgalHasModels{CGAL::Simple_cartesian} +\cgalHasModels{CGAL::Homogeneous} +\cgalHasModels{CGAL::Simple_homogeneous} +\cgalHasModelsEnd In addition to the requirements described for the traits class of `CGAL::Triangulation_3`, the geometric traits class of a diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h index 4f83db499d7..6851d616de3 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBaseWithWeightedCircumcenter_3.h @@ -19,7 +19,9 @@ circumcenter by calling `invalidate_weighted_circumcenter_cache()`. \cgalRefines{RegularTriangulationCellBase_3} -\cgalHasModel `CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_cell_base_with_weighted_circumcenter_3} +\cgalHasModelsEnd \sa `RegularTriangulationTraits_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h index 7a00e04f1d8..ffafd4be04e 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationCellBase_3.h @@ -35,7 +35,9 @@ and an operator to compute its weighted circumcenter. \cgalRefines{TriangulationCellBase_3} -\cgalHasModel `CGAL::Regular_triangulation_cell_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_cell_base_3} +\cgalHasModelsEnd \sa `RegularTriangulationTraits_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h index 91057fe887f..cea91c4d670 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationTraits_3.h @@ -15,7 +15,9 @@ or the weighted point \f$ {p}^{(w)}=(p,w_p)\f$. \cgalRefines{TriangulationTraits_3} -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Regular_triangulation_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h index 3881593c2d3..3e5f0e3ba47 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/RegularTriangulationVertexBase_3.h @@ -9,7 +9,9 @@ by adding a geometric point member. \cgalRefines{TriangulationDSVertexBase_3} -\cgalHasModel `CGAL::Regular_triangulation_vertex_base_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Regular_triangulation_vertex_base_3} +\cgalHasModelsEnd \sa `RegularTriangulationCellBase_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h index 5064256e445..e7d5d046a08 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBaseWithInfo_3.h @@ -8,7 +8,9 @@ and provides an additional information storage. \cgalRefines{TriangulationCellBase_3} -\cgalHasModel `CGAL::Triangulation_cell_base_with_info_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_cell_base_with_info_3} +\cgalHasModelsEnd */ diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h index 69ae982347c..f405c54afba 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationCellBase_3.h @@ -10,8 +10,10 @@ structure apply. \cgalRefines{TriangulationDSCellBase_3} -\cgalHasModel `CGAL::Triangulation_cell_base_3` -\cgalHasModel `CGAL::Triangulation_cell_base_with_info_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_cell_base_3} +\cgalHasModels{CGAL::Triangulation_cell_base_with_info_3} +\cgalHasModelsEnd \sa `TriangulationVertexBase_3` diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h index d7c62d3e4c6..99f5fda1753 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationTraits_3.h @@ -11,7 +11,9 @@ triangles and tetrahedra) forming the triangulation together with a few geometric predicates and constructions on these objects: lexicographical comparison, orientation in case of coplanar points and orientation in space. -\cgalHasModel All models of `Kernel`. +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd \sa `CGAL::Triangulation_3` */ diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h index c9cf46d0062..06b02f5c227 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBaseWithInfo_3.h @@ -8,7 +8,9 @@ and provides an additional information storage. \cgalRefines{TriangulationVertexBase_3} -\cgalHasModel `CGAL::Triangulation_vertex_base_with_info_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_vertex_base_with_info_3} +\cgalHasModelsEnd */ diff --git a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h index cd91c12e9a8..45955a3a8f0 100644 --- a/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h +++ b/Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h @@ -9,8 +9,10 @@ for the triangulation data structure. \cgalRefines{TriangulationDSVertexBase_3} -\cgalHasModel `CGAL::Triangulation_vertex_base_3` -\cgalHasModel `CGAL::Triangulation_vertex_base_with_info_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_vertex_base_3} +\cgalHasModels{CGAL::Triangulation_vertex_base_with_info_3} +\cgalHasModelsEnd \sa `TriangulationCellBase_3` diff --git a/Triangulation_3/doc/Triangulation_3/PackageDescription.txt b/Triangulation_3/doc/Triangulation_3/PackageDescription.txt index 6e12268a179..df07b990016 100644 --- a/Triangulation_3/doc/Triangulation_3/PackageDescription.txt +++ b/Triangulation_3/doc/Triangulation_3/PackageDescription.txt @@ -13,9 +13,7 @@ /// \ingroup PkgTriangulation3Ref /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_triangulation_3.h} */ /// \defgroup PkgDrawTriangulation3 Draw a Triangulation 3 /// \ingroup PkgTriangulation3Ref diff --git a/Triangulation_3/include/CGAL/Triangulation_segment_traverser_3.h b/Triangulation_3/include/CGAL/Triangulation_segment_traverser_3.h index b7ccdeb6a0e..c098ec429d3 100644 --- a/Triangulation_3/include/CGAL/Triangulation_segment_traverser_3.h +++ b/Triangulation_3/include/CGAL/Triangulation_segment_traverser_3.h @@ -81,7 +81,7 @@ struct Incrementer { * * \tparam Tr_ is the triangulation type to traverse. * - * \cgalModels{ForwardIterator} + * \cgalModels{ForwardIterator} * * \sa `Triangulation_3` * \sa `Forward_circulator_base` diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Delaunay_triangulation_on_sphere_traits_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Delaunay_triangulation_on_sphere_traits_2.h index 2cbc69936b0..5446ff6b33c 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Delaunay_triangulation_on_sphere_traits_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Delaunay_triangulation_on_sphere_traits_2.h @@ -27,7 +27,7 @@ and thus not inserted, or guaranteed to not be hidden upon insertion. \tparam LK a linear kernel type; it must be a model of `Kernel`. \tparam SK a spherical kernel type; it must be a model of `SphericalKernel` refining `LK`. -\cgalModels `DelaunayTriangulationOnSphereTraits_2` +\cgalModels{DelaunayTriangulationOnSphereTraits_2} \sa `CGAL::Projection_on_sphere_traits_3` */ diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Projection_on_sphere_traits_3.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Projection_on_sphere_traits_3.h index 5ae00ff27d4..411e0607616 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Projection_on_sphere_traits_3.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Projection_on_sphere_traits_3.h @@ -12,7 +12,7 @@ and the center of the sphere. \tparam LK a linear kernel type; must be a model of `Kernel`. \tparam SK a spherical kernel type; must be a model of `SphericalKernel`. -\cgalModels `DelaunayTriangulationOnSphereTraits_2` +\cgalModels{DelaunayTriangulationOnSphereTraits_2} \sa `CGAL::Delaunay_triangulation_on_sphere_traits_2` */ diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_face_base_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_face_base_2.h index f81b29f230e..c48abfe0976 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_face_base_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_face_base_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgTriangulationOnSphere2VertexFaceClasses -\cgalModels `TriangulationOnSphereFaceBase_2` +\cgalModels{TriangulationOnSphereFaceBase_2} The class `Triangulation_on_sphere_face_base_2` is a model for the concept `TriangulationOnSphereFaceBase_2`. It is the default face base class diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_vertex_base_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_vertex_base_2.h index 17937c6dd22..1a41322ecc2 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_vertex_base_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/CGAL/Triangulation_on_sphere_vertex_base_2.h @@ -3,7 +3,7 @@ namespace CGAL { /*! \ingroup PkgTriangulationOnSphere2VertexFaceClasses -\cgalModels `TriangulationOnSphereVertexBase_2` +\cgalModels{TriangulationOnSphereVertexBase_2} The class `Triangulation_on_sphere_vertex_base_2` is the default model for the concept `TriangulationOnSphereVertexBase_2` and diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h index 397c3a7e799..6c4dcec4016 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/DelaunayTriangulationOnSphereTraits_2.h @@ -11,8 +11,10 @@ parameter of the class `CGAL::Delaunay_triangulation_on_sphere_2`. To the requirements listed within the concept `TriangulationOnSphereTraits_2`, this concept adds types and functors requirements related to build the dual on the sphere. -\cgalHasModel `CGAL::Delaunay_triangulation_on_sphere_traits_2` -\cgalHasModel `CGAL::Projection_on_sphere_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Delaunay_triangulation_on_sphere_traits_2} +\cgalHasModels{CGAL::Projection_on_sphere_traits_3} +\cgalHasModelsEnd */ class DelaunayTriangulationOnSphereTraits_2 { diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h index fbb6ac030ed..b87fe2a5deb 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereFaceBase_2.h @@ -19,7 +19,9 @@ then the triangulation is not an orientable triangulated surface without boundar In this case, fictitious faces are added to the triangulation, called ghost faces, such that the triangulation is a topological sphere. -\cgalHasModel `CGAL::Triangulation_on_sphere_face_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_on_sphere_face_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `TriangulationOnSphereVertexBase_2` diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h index 0dad5563ff7..4ccc0171175 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereTraits_2.h @@ -13,8 +13,10 @@ triangulation and the function object types for the required predicates on those In particular, the traits class is expected to contain information about the sphere (center and radius) on which the points of the triangulation lie, as well as to provide means to change this information. -\cgalHasModel `CGAL::Delaunay_triangulation_on_sphere_traits_2` -\cgalHasModel `CGAL::Projection_on_sphere_traits_3` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Delaunay_triangulation_on_sphere_traits_2} +\cgalHasModels{CGAL::Projection_on_sphere_traits_3} +\cgalHasModelsEnd \sa `DelaunayTriangulationOnSphereTraits_2` */ diff --git a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h index 23b6971fd89..721c593a940 100644 --- a/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h +++ b/Triangulation_on_sphere_2/doc/Triangulation_on_sphere_2/Concepts/TriangulationOnSphereVertexBase_2.h @@ -9,7 +9,9 @@ of a triangulation data structure to be plugged in a triangulation on the sphere It refines the concept `TriangulationDSVertexBase_2`, adding geometric information: the vertex base of a triangulation stores a point. -\cgalHasModel `CGAL::Triangulation_on_sphere_vertex_base_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Triangulation_on_sphere_vertex_base_2} +\cgalHasModelsEnd \sa `TriangulationDataStructure_2` \sa `TriangulationOnSphereFaceBase_2` diff --git a/Visibility_2/doc/Visibility_2/CGAL/Rotational_sweep_visibility_2.h b/Visibility_2/doc/Visibility_2/CGAL/Rotational_sweep_visibility_2.h index fcaf29e1a7c..fd4eb03d5ed 100644 --- a/Visibility_2/doc/Visibility_2/CGAL/Rotational_sweep_visibility_2.h +++ b/Visibility_2/doc/Visibility_2/CGAL/Rotational_sweep_visibility_2.h @@ -17,7 +17,7 @@ specified by one of the following: `#Tag_true` or `#Tag_false`, where `#Tag_fals -\cgalModels `Visibility_2` +\cgalModels{Visibility_2} \sa `CGAL::Simple_polygon_visibility_2` \sa `CGAL::Triangular_expansion_visibility_2` diff --git a/Visibility_2/doc/Visibility_2/CGAL/Simple_polygon_visibility_2.h b/Visibility_2/doc/Visibility_2/CGAL/Simple_polygon_visibility_2.h index daa988c11b2..e8e246b5346 100644 --- a/Visibility_2/doc/Visibility_2/CGAL/Simple_polygon_visibility_2.h +++ b/Visibility_2/doc/Visibility_2/CGAL/Simple_polygon_visibility_2.h @@ -23,7 +23,7 @@ It must be an instance of `CGAL::Arrangement_2`, where its `CGAL::Arrangement_2: specified by one of the following: `#Tag_true` or `#Tag_false`, where `#Tag_false` is the default value. -\cgalModels `Visibility_2` +\cgalModels{Visibility_2} \sa `CGAL::Rotational_sweep_visibility_2` \sa `CGAL::Triangular_expansion_visibility_2` diff --git a/Visibility_2/doc/Visibility_2/CGAL/Triangular_expansion_visibility_2.h b/Visibility_2/doc/Visibility_2/CGAL/Triangular_expansion_visibility_2.h index 6606de87dfa..fc336e88147 100644 --- a/Visibility_2/doc/Visibility_2/CGAL/Triangular_expansion_visibility_2.h +++ b/Visibility_2/doc/Visibility_2/CGAL/Triangular_expansion_visibility_2.h @@ -17,7 +17,7 @@ It must be an instance of `CGAL::Arrangement_2`, where its `CGAL::Arrangement_2: \tparam RegularizationCategory indicates whether the output should be regularized. It can be specified by one of the following: `#Tag_true` or `#Tag_false`, where `#Tag_false` is the default value. -\cgalModels `Visibility_2` +\cgalModels{Visibility_2} \sa `CGAL::Simple_polygon_visibility_2` \sa `CGAL::Rotational_sweep_visibility_2` diff --git a/Visibility_2/doc/Visibility_2/Concepts/Visibility_2.h b/Visibility_2/doc/Visibility_2/Concepts/Visibility_2.h index 46213272fa9..0ec12be0297 100644 --- a/Visibility_2/doc/Visibility_2/Concepts/Visibility_2.h +++ b/Visibility_2/doc/Visibility_2/Concepts/Visibility_2.h @@ -6,9 +6,11 @@ A model of the `Visibility_2` concept can be attached to an `Arrangement_2` instance to answer visibility queries within the faces of this arrangement. -\cgalHasModel `CGAL::Simple_polygon_visibility_2` -\cgalHasModel `CGAL::Rotational_sweep_visibility_2` -\cgalHasModel `CGAL::Triangular_expansion_visibility_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Simple_polygon_visibility_2} +\cgalHasModels{CGAL::Rotational_sweep_visibility_2} +\cgalHasModels{CGAL::Triangular_expansion_visibility_2} +\cgalHasModelsEnd */ class Visibility_2 { diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_policies_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_policies_2.h index 8a1415c9813..187b7975472 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_policies_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_policies_2.h @@ -12,7 +12,7 @@ caches the results of the edge and face rejectors and results in a Voronoi diagram that has no degenerate features, i.e., no Voronoi edges of zero length and no Voronoi faces of zero area. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` @@ -51,7 +51,7 @@ results in a Voronoi diagram that has no degenerate features, i.e., it has no Voronoi edges of zero length and no Voronoi faces of zero area. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_traits_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_traits_2.h index 1775a2f3d5a..2305ef96b45 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_traits_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Apollonius_graph_adaptation_traits_2.h @@ -9,7 +9,7 @@ concept. The template parameter of the `Apollonius_graph_adaptation_traits_2` cl model of the `DelaunayGraph_2` concept, and in particular it has the semantics of a (triangulated) 2D Apollonius graph. -\cgalModels `AdaptationTraits_2` +\cgalModels{AdaptationTraits_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_policies_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_policies_2.h index 15be0f7a0cd..ede61736fb0 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_policies_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_policies_2.h @@ -12,7 +12,7 @@ caches the results of the edge and face rejectors and results in a Voronoi diagram that has no degenerate features, i.e., no Voronoi edges of zero length. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` @@ -49,7 +49,7 @@ the semantics of a (triangulated) 2D Delaunay triangulation. This policy results in a Voronoi diagram that has no degenerate features, i.e., it has no Voronoi edges of zero length. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_traits_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_traits_2.h index b5f085f1614..2473f8e8f52 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_traits_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Delaunay_triangulation_adaptation_traits_2.h @@ -9,7 +9,7 @@ concept. The template parameter of the `Delaunay_triangulation_adaptation_traits model of the `DelaunayGraph_2` concept, and in particular it has the semantics of a 2D Delaunay triangulation. -\cgalModels `AdaptationTraits_2` +\cgalModels{AdaptationTraits_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Identity_policy_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Identity_policy_2.h index d373e060c74..ee166aad8c5 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Identity_policy_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Identity_policy_2.h @@ -18,7 +18,7 @@ Delaunay graph, that is adapted, allows for site insertions through an `AT::Site_2`. The site inserter functor provided by this policy uses the aforementioned `insert` method. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_policies_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_policies_2.h index 768fee14c62..d4398de71f7 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_policies_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_policies_2.h @@ -12,7 +12,7 @@ caches the results of the edge and face rejectors and results in a Voronoi diagram that has no degenerate features, i.e., no Voronoi edges of zero length. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` @@ -49,7 +49,7 @@ the semantics of a (triangulated) 2D regular triangulation. This policy results in a power diagram that has no degenerate features, i.e., it has no Voronoi edges of zero length. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_traits_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_traits_2.h index 0eb0e4ed6e7..345e8e710d0 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_traits_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Regular_triangulation_adaptation_traits_2.h @@ -9,7 +9,7 @@ concept. The template parameter of the `Regular_triangulation_adaptation_traits_ model of the `DelaunayGraph_2` concept, and in particular it has the semantics of a 2D regular triangulation. -\cgalModels `AdaptationTraits_2` +\cgalModels{AdaptationTraits_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_policies_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_policies_2.h index 4c88ca2862d..0baa77ee873 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_policies_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_policies_2.h @@ -12,7 +12,7 @@ caches the results of the edge and face rejectors and results in a Voronoi diagram that has no degenerate features, i.e., no Voronoi edges of zero length and no Voronoi faces of zero area. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` @@ -51,7 +51,7 @@ results in a Voronoi diagram that has no degenerate features, i.e., it has no Voronoi edges of zero length and no Voronoi faces of zero area. -\cgalModels `AdaptationPolicy_2` +\cgalModels{AdaptationPolicy_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_traits_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_traits_2.h index e665e0210fd..680dd8b1ea0 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_traits_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Segment_Delaunay_graph_adaptation_traits_2.h @@ -9,7 +9,7 @@ concept. The template parameter of the `Segment_Delaunay_graph_adaptation_traits model of the `DelaunayGraph_2` concept, and in particular it has the semantics of the 2D (triangulated) segment Delaunay graph. -\cgalModels `AdaptationTraits_2` +\cgalModels{AdaptationTraits_2} \sa `AdaptationTraits_2` \sa `DelaunayGraph_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h index 344fed3378c..8401c8484f2 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/CGAL/Voronoi_diagram_2.h @@ -39,11 +39,7 @@ public: `Voronoi_diagram_2` class for Voronoi faces. Below we present its interface. - \cgalModels `DefaultConstructible` - \cgalModels `CopyConstructible` - \cgalModels `Assignable` - \cgalModels `EqualityComparable` - \cgalModels `LessThanComparable` + \cgalModels{DefaultConstructible,CopyConstructible,Assignable,EqualityComparable,LessThanComparable} \sa `CGAL::Voronoi_diagram_2` \sa \link CGAL::Voronoi_diagram_2::Vertex `CGAL::Voronoi_diagram_2::Vertex` \endlink @@ -167,11 +163,7 @@ public: `Voronoi_diagram_2` class for Voronoi halfedges. Below we present its interface. - \cgalModels `DefaultConstructible` - \cgalModels `CopyConstructible` - \cgalModels `Assignable` - \cgalModels `EqualityComparable` - \cgalModels `LessThanComparable` + \cgalModels{DefaultConstructible,CopyConstructible,Assignable,EqualityComparable,LessThanComparable} \sa `CGAL::Voronoi_diagram_2` \sa \link CGAL::Voronoi_diagram_2::Vertex `CGAL::Voronoi_diagram_2::Vertex` \endlink @@ -407,11 +399,7 @@ public: The class `Vertex` is the Voronoi vertex class provided by the class `Voronoi_diagram_2` class. Below we present its interface. - \cgalModels `DefaultConstructible` - \cgalModels `CopyConstructible` - \cgalModels `Assignable`, - \cgalModels `EqualityComparable` - \cgalModels `LessThanComparable` + \cgalModels{DefaultConstructible,CopyConstructible,Assignable,,EqualityComparable,LessThanComparable} \sa `CGAL::Voronoi_diagram_2` \sa \link CGAL::Voronoi_diagram_2::Halfedge `CGAL::Voronoi_diagram_2::Halfedge` \endlink diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h index 218a51a9d10..22bf669821e 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationPolicy_2.h @@ -13,15 +13,17 @@ graph they take as an argument, the last ones does. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Identity_policy_2` -\cgalHasModel `CGAL::Apollonius_graph_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Apollonius_graph_caching_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Delaunay_triangulation_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Delaunay_triangulation_caching_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Regular_triangulation_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Regular_triangulation_caching_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_degeneracy_removal_policy_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_caching_degeneracy_removal_policy_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Identity_policy_2} +\cgalHasModels{CGAL::Apollonius_graph_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Apollonius_graph_caching_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Delaunay_triangulation_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Delaunay_triangulation_caching_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Regular_triangulation_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Regular_triangulation_caching_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_degeneracy_removal_policy_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_caching_degeneracy_removal_policy_2} +\cgalHasModelsEnd \sa `DelaunayGraph_2` \sa `AdaptationTraits_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h index 45693eaf6f9..af24a734dc1 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/AdaptationTraits_2.h @@ -11,10 +11,12 @@ tag is provided for determining whether this functor is defined or not. \cgalRefines{CopyConstructible,Assignable,DefaultConstructible} -\cgalHasModel `CGAL::Apollonius_graph_adaptation_traits_2` -\cgalHasModel `CGAL::Delaunay_triangulation_adaptation_traits_2` -\cgalHasModel `CGAL::Regular_triangulation_adaptation_traits_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_adaptation_traits_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Apollonius_graph_adaptation_traits_2} +\cgalHasModels{CGAL::Delaunay_triangulation_adaptation_traits_2} +\cgalHasModels{CGAL::Regular_triangulation_adaptation_traits_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_adaptation_traits_2} +\cgalHasModelsEnd \sa `DelaunayGraph_2` \sa `CGAL::Voronoi_diagram_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h index 3459c48dc9f..2c302fd96a9 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/Concepts/DelaunayGraph_2.h @@ -18,13 +18,15 @@ iterators and circulators that allow to traverse it (completely or partially). All iterators and circulators must be convertible to the corresponding handles. -\cgalHasModel `CGAL::Delaunay_triangulation_2` -\cgalHasModel `CGAL::Regular_triangulation_2` -\cgalHasModel `CGAL::Triangulation_hierarchy_2` provided that `Tr` is a model of `DelaunayGraph_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_2` -\cgalHasModel `CGAL::Segment_Delaunay_graph_hierarchy_2` -\cgalHasModel `CGAL::Apollonius_graph_2` -\cgalHasModel `CGAL::Apollonius_graph_hierarchy_2` +\cgalHasModelsBegin +\cgalHasModelsBare{ `CGAL::Triangulation_hierarchy_2` provided that `Tr` is a model of `DelaunayGraph_2`} +\cgalHasModels{CGAL::Delaunay_triangulation_2} +\cgalHasModels{CGAL::Regular_triangulation_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_2} +\cgalHasModels{CGAL::Segment_Delaunay_graph_hierarchy_2} +\cgalHasModels{CGAL::Apollonius_graph_2} +\cgalHasModels{CGAL::Apollonius_graph_hierarchy_2} +\cgalHasModelsEnd \sa `AdaptationTraits_2` \sa `AdaptationPolicy_2` diff --git a/Voronoi_diagram_2/doc/Voronoi_diagram_2/PackageDescription.txt b/Voronoi_diagram_2/doc/Voronoi_diagram_2/PackageDescription.txt index d888fa4473a..b109a0213d9 100644 --- a/Voronoi_diagram_2/doc/Voronoi_diagram_2/PackageDescription.txt +++ b/Voronoi_diagram_2/doc/Voronoi_diagram_2/PackageDescription.txt @@ -13,9 +13,7 @@ /// \ingroup PkgVoronoiDiagram2Ref /*! - \code - #include - \endcode +\cgalInclude{CGAL/draw_voronoi_diagram_2.h} */ /// \defgroup PkgDrawVoronoiDiagram2 Draw a 2D Voronoi Diagram /// \ingroup PkgVoronoiDiagram2Ref diff --git a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h index 4b882bd82d5..1bbfda65f44 100644 --- a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h +++ b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h @@ -5,11 +5,12 @@ A concept that describes the set of requirements of classes used in the computation of analytic weights in 2D. -\cgalHasModel -- All models of `Kernel` -- `CGAL::Projection_traits_xy_3` -- `CGAL::Projection_traits_yz_3` -- `CGAL::Projection_traits_xz_3` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModels{sCGAL:Projection_traits_xy_3} +\cgalHasModels{CGAL::Projection_traits_yz_3} +\cgalHasModels{CGAL::Projection_traits_xz_3} +\cgalHasModelsEnd */ class AnalyticWeightTraits_2 { diff --git a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h index 3560a85f478..488c87558c0 100644 --- a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h +++ b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h @@ -5,8 +5,9 @@ A concept that describes the set of requirements of classes used in the computation of analytic weights in 3D. -\cgalHasModel -- All models of `Kernel` +\cgalHasModelsBegin +\cgalHasModelsBare{All models of the \cgal concept `Kernel`} +\cgalHasModelsEnd */ class AnalyticWeightTraits_3 { diff --git a/Weights/doc/Weights/Concepts/BarycentricWeights_2.h b/Weights/doc/Weights/Concepts/BarycentricWeights_2.h index 89638d209f6..0a59f4ae4e1 100644 --- a/Weights/doc/Weights/Concepts/BarycentricWeights_2.h +++ b/Weights/doc/Weights/Concepts/BarycentricWeights_2.h @@ -5,10 +5,11 @@ A concept that describes the set of methods required in all classes used in the computation of 2D generalized barycentric weights. -\cgalHasModel -- `CGAL::Weights::Wachspress_weights_2` -- `CGAL::Weights::Mean_value_weights_2` -- `CGAL::Weights::Discrete_harmonic_weights_2` +\cgalHasModelsBegin +\cgalHasModels{CGAL::Weights::Wachspress_weights_2} +\cgalHasModels{CGAL::Weights::Mean_value_weights_2} +\cgalHasModels{CGAL::Weights::Discrete_harmonic_weights_2} +\cgalHasModelsEnd */ class BarycentricWeights_2 { diff --git a/Weights/doc/Weights/PackageDescription.txt b/Weights/doc/Weights/PackageDescription.txt index b59f3e06d68..038724d39ad 100644 --- a/Weights/doc/Weights/PackageDescription.txt +++ b/Weights/doc/Weights/PackageDescription.txt @@ -19,9 +19,7 @@ Models and functions that can be used to compute weights which have a simple ana \defgroup PkgWeightsRefUniformWeights Uniform Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/uniform_weights.h} This weight is always equal to 1. @@ -35,9 +33,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefShepardWeights Shepard Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/shepard_weights.h} This weight is computed as \f$w = \frac{1}{d^a}\f$ @@ -65,9 +61,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefInverseDistanceWeights Inverse Distance Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/inverse_distance_weights.h} This weight is computed as \f$w = \frac{1}{d}\f$ @@ -96,9 +90,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefThreePointFamilyWeights Three Point Family Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/three_point_family_weights.h} This weight is computed as \f$w = \frac{d_2^a A_0 - d^a B + d_0^a A_2}{A_0 A_2}\f$ @@ -137,9 +129,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefWachspressWeights Wachspress Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/wachspress_weights.h} This weight is computed as \f$w = \frac{C}{A_0 A_2}\f$ @@ -170,9 +160,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefAuthalicWeights Authalic Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/authalic_weights.h} This weight is computed as \f$w = 2 \frac{\cot\beta + \cot\gamma}{d^2}\f$ @@ -202,9 +190,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefMeanValueWeights Mean Value Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/mean_value_weights.h} This weight is computed as \f$w = \pm 2 \sqrt{\frac{2 (d_0 d_2 - D)}{(d d_0 + D_0)(d d_2 + D_2)}}\f$ @@ -241,9 +227,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefTangentWeights Tangent Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/tangent_weights.h} This weight is computed as \f$w = 2 \frac{t_1 + t_2}{d}\f$, where @@ -278,9 +262,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefDiscreteHarmonicWeights Discrete Harmonic Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/discrete_harmonic_weights.h} This weight is computed as \f$w = \frac{d_2^2 A_0 - d^2 B + d_0^2 A_2}{A_0 A_2}\f$ @@ -311,9 +293,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefCotangentWeights Cotangent Weight \ingroup PkgWeightsRefAnalytic -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/cotangent_weights.h} This weight is computed as \f$w = 2 (\cot\beta + \cot\gamma)\f$ @@ -348,9 +328,7 @@ to polygons. These weights are then normalized in order to obtain barycentric co \defgroup PkgWeightsRefBarycentricWachspressWeights Wachspress Weights \ingroup PkgWeightsRefBarycentric -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/wachspress_weights.h} Wachspress weights which can be computed for a query point with respect to the vertices of a strictly convex polygon. @@ -361,9 +339,7 @@ vertices of a strictly convex polygon. \defgroup PkgWeightsRefBarycentricMeanValueWeights Mean Value Weights \ingroup PkgWeightsRefBarycentric -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/mean_value_weights.h} Mean value weights which can be computed for a query point with respect to the vertices of a simple polygon. @@ -374,9 +350,7 @@ vertices of a simple polygon. \defgroup PkgWeightsRefBarycentricDiscreteHarmonicWeights Discrete Harmonic Weights \ingroup PkgWeightsRefBarycentric -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/discrete_harmonic_weights.h} Discrete Harmonic weights which can be computed for a query point with respect to the vertices of a strictly convex polygon. @@ -394,9 +368,7 @@ used to balance other weights. \defgroup PkgWeightsRefUniformRegionWeights Uniform Region Weight \ingroup PkgWeightsRefRegions -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/uniform_region_weights.h} This weight is always equal to 1. @@ -410,9 +382,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefTriangularRegionWeights Triangular Region Weight \ingroup PkgWeightsRefRegions -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/triangular_region_weights.h} This weight is the area of the shaded region in the figure below. The region is the triangle `[p, q, r]`. @@ -431,9 +401,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefBarycentricRegionWeights Barycentric Region Weight \ingroup PkgWeightsRefRegions -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/barycentric_region_weights.h} This weight is the area of the shaded region in the figure below. The region is formed by the two midpoints of the edges incident to `q` and the barycenter of @@ -453,9 +421,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefVoronoiRegionWeights Voronoi Region Weight \ingroup PkgWeightsRefRegions -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/voronoi_region_weights.h} This weight is the area of the shaded region in the figure below. The region is formed by the two midpoints of the edges incident to `q` and the circumcenter of @@ -477,9 +443,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefMixedVoronoiRegionWeights Mixed Voronoi Region Weight \ingroup PkgWeightsRefRegions -\verbatim -#include -\endverbatim +\cgalInclude{CGAL/Weights/mixed_voronoi_region_weights.h} This weight is the area of the shaded region in the figure below. The region is formed by the two midpoints of the edges incident to `q` and the circumcenter of diff --git a/Weights/include/CGAL/Weights/discrete_harmonic_weights.h b/Weights/include/CGAL/Weights/discrete_harmonic_weights.h index 6faa6f189c4..9a4243fdd5d 100644 --- a/Weights/include/CGAL/Weights/discrete_harmonic_weights.h +++ b/Weights/include/CGAL/Weights/discrete_harmonic_weights.h @@ -142,7 +142,7 @@ typename Kernel::FT discrete_harmonic_weight(const CGAL::Point_3& p0, \tparam PointMap a model of `ReadablePropertyMap` whose key type is `VertexRange::value_type` and value type is `Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `BarycentricWeights_2` + \cgalModels{BarycentricWeights_2} */ template& p0, \tparam PointMap a model of `ReadablePropertyMap` whose key type is `VertexRange::value_type` and value type is `Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `BarycentricWeights_2` + \cgalModels{BarycentricWeights_2} */ template& p0, \tparam PointMap a model of `ReadablePropertyMap` whose key type is `VertexRange::value_type` and value type is `Point_2`. The default is `CGAL::Identity_property_map`. - \cgalModels `BarycentricWeights_2` + \cgalModels{BarycentricWeights_2} */ template