From ffc7e9a934feeb9549e657c3a9c43992e7c11ccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mael=20Rouxel-Labb=C3=A9?= Date: Tue, 10 Dec 2019 14:40:47 +0100 Subject: [PATCH] Minor doc changes --- .../Concepts/OrientedBoundingBoxTraits.h | 4 ++++ .../PackageDescription.txt | 4 ++-- .../fig/optimal_bounding_box.png | Bin 0 -> 11012 bytes .../Oriented_bounding_box_traits.h | 3 --- .../oriented_bounding_box.h | 18 +++++++++--------- 5 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 Optimal_bounding_box/doc/Optimal_bounding_box/fig/optimal_bounding_box.png 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 f5ef85a757a..4744f230071 100644 --- a/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h +++ b/Optimal_bounding_box/doc/Optimal_bounding_box/Concepts/OrientedBoundingBoxTraits.h @@ -21,6 +21,10 @@ public: /// The 3D point type; must be model of `Point_3` typedef unspecified_type Point_3; + /// The 3D affine transformation type; the template parameter `K` must be a model of `Kernel` + /// and be compatible with the type `Point_3`. + typedef CGAL::Aff_transformation_3 Aff_transformation_3; + /// A construction object that must provide the function operator: /// `CGAL::Bbox_3 operator()(const Point_3&)`, /// which returns an axis-aligned bounding that contains the point diff --git a/Optimal_bounding_box/doc/Optimal_bounding_box/PackageDescription.txt b/Optimal_bounding_box/doc/Optimal_bounding_box/PackageDescription.txt index e5b5e9f4b5c..438f248e4c5 100644 --- a/Optimal_bounding_box/doc/Optimal_bounding_box/PackageDescription.txt +++ b/Optimal_bounding_box/doc/Optimal_bounding_box/PackageDescription.txt @@ -15,10 +15,10 @@ /*! \addtogroup PkgOptimalBoundingBoxRef \cgalPkgDescriptionBegin{Optimal Bounding Box,PkgOptimalBoundingBox} -\cgalPkgPicture{Envelope_2.png} +\cgalPkgPicture{optimal_bounding_box.png} \cgalPkgSummaryBegin \cgalPkgAuthor{Konstantinos Katrioplas, Mael Rouxel-Labbé} -\cgalPkgDesc{This package provides functions to compute oriented bounding boxes around a point set or a polygon mesh.} +\cgalPkgDesc{This package provides functions to compute tight oriented bounding boxes around a point set or a polygon mesh.} \cgalPkgManuals{Chapter_Building_Optimal_Bounding_Box,PkgOptimalBoundingBoxRef} \cgalPkgSummaryEnd \cgalPkgShortInfoBegin diff --git a/Optimal_bounding_box/doc/Optimal_bounding_box/fig/optimal_bounding_box.png b/Optimal_bounding_box/doc/Optimal_bounding_box/fig/optimal_bounding_box.png new file mode 100644 index 0000000000000000000000000000000000000000..a85355c06ed639add2ac1be40e06f480a91530f2 GIT binary patch literal 11012 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 yU%q@9LIyy#162F;*e9T$9*-s;o` with `Point` being equivalent to the traits' `Point_3` type, -/// or `CGAL::Affine_transformation_3` with `K` being a kernel compatible with the point type. +/// \tparam Output either `std::array` with `Point` being equivalent to the traits' `Point_3` type, +/// or the traits' `Affine_transformation_3` type /// \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" /// /// \param points the input points @@ -292,8 +292,8 @@ void oriented_bounding_box(const PointRange& points, /// Extracts the vertices of the mesh as a point range and calls the other overload. /// /// \tparam PolygonMesh a model of `VertexListGraph` -/// \tparam Output `std::array` with `Point` being equivalent to the traits' `Point_3` type, -/// or `CGAL::Affine_transformation_3` with `K` being a kernel compatible with the point type. +/// \tparam Output either `std::array` with `Point` being equivalent to the traits' `Point_3` type, +/// or the traits' `Affine_transformation_3` type /// \tparam NamedParameters a sequence of \ref bgl_namedparameters "Named Parameters" /// /// \param pmesh the input mesh