From c62fce738da73c348a01f7997e44da77e803d4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loriot?= Date: Tue, 17 Sep 2019 13:04:19 +0200 Subject: [PATCH] Add skeleton for the new package --- Documentation/doc/Documentation/packages.txt | 1 + .../Concepts/PolylineDistanceTraits_2.h | 102 ++++++++++++++++++ .../doc/Polyline_distance/Doxyfile.in | 3 + .../Polyline_distance/PackageDescription.txt | 43 ++++++++ .../Polyline_distance/Polyline_distance.txt | 29 +++++ .../doc/Polyline_distance/dependencies | 6 ++ .../doc/Polyline_distance/examples.txt | 3 + .../doc/Polyline_distance/fig/pkg-small.png | Bin 0 -> 9467 bytes .../Polyline_distance/dummy_example.cpp | 2 + .../include/CGAL/Frechet_distance.h | 58 ++++++++++ .../Polyline_distance/Frechet_distance.h | 32 ++++++ .../package_info/Polyline_distance/copyright | 1 + .../Polyline_distance/dependencies | 11 ++ .../Polyline_distance/description.txt | 1 + .../Polyline_distance/license.txt | 1 + .../package_info/Polyline_distance/maintainer | 1 + .../test/Polyline_distance/CMakeLists.txt | 10 ++ .../test/Polyline_distance/dummy_test.cpp | 2 + 18 files changed, 306 insertions(+) create mode 100644 Polyline_distance/doc/Polyline_distance/Concepts/PolylineDistanceTraits_2.h create mode 100644 Polyline_distance/doc/Polyline_distance/Doxyfile.in create mode 100644 Polyline_distance/doc/Polyline_distance/PackageDescription.txt create mode 100644 Polyline_distance/doc/Polyline_distance/Polyline_distance.txt create mode 100644 Polyline_distance/doc/Polyline_distance/dependencies create mode 100644 Polyline_distance/doc/Polyline_distance/examples.txt create mode 100644 Polyline_distance/doc/Polyline_distance/fig/pkg-small.png create mode 100644 Polyline_distance/examples/Polyline_distance/dummy_example.cpp create mode 100644 Polyline_distance/include/CGAL/Frechet_distance.h create mode 100644 Polyline_distance/include/CGAL/internal/Polyline_distance/Frechet_distance.h create mode 100644 Polyline_distance/package_info/Polyline_distance/copyright create mode 100644 Polyline_distance/package_info/Polyline_distance/dependencies create mode 100644 Polyline_distance/package_info/Polyline_distance/description.txt create mode 100644 Polyline_distance/package_info/Polyline_distance/license.txt create mode 100644 Polyline_distance/package_info/Polyline_distance/maintainer create mode 100644 Polyline_distance/test/Polyline_distance/CMakeLists.txt create mode 100644 Polyline_distance/test/Polyline_distance/dummy_test.cpp diff --git a/Documentation/doc/Documentation/packages.txt b/Documentation/doc/Documentation/packages.txt index aa061c842d8..8f4794ebe6a 100644 --- a/Documentation/doc/Documentation/packages.txt +++ b/Documentation/doc/Documentation/packages.txt @@ -21,6 +21,7 @@ \package_listing{Kernel_d} \package_listing{Circular_kernel_2} \package_listing{Circular_kernel_3} +\package_listing{Polyline_distance} \cgalPackageSection{PartConvexHullAlgorithms,Convex Hull Algorithms} diff --git a/Polyline_distance/doc/Polyline_distance/Concepts/PolylineDistanceTraits_2.h b/Polyline_distance/doc/Polyline_distance/Concepts/PolylineDistanceTraits_2.h new file mode 100644 index 00000000000..a9e537af1f9 --- /dev/null +++ b/Polyline_distance/doc/Polyline_distance/Concepts/PolylineDistanceTraits_2.h @@ -0,0 +1,102 @@ + +/*! +\ingroup PkgPolylineDistanceConcepts +\cgalConcept + +The concept `PolylineDistanceTraits_2` describes the set of requirements +to be fulfilled to use the function `CGAL::Frechet_distance()`. + +\cgalHasModel All models of `Kernel`. +\cgalHasModel `CGAL::Projection_traits_xy_3` +\cgalHasModel `CGAL::Projection_traits_yz_3` +\cgalHasModel `CGAL::Projection_traits_xz_3` + +*/ + +class PolylineDistanceTraits_2 { +public: + +/// \name Types +/// @{ + +/*! +The point type. +*/ +typedef unspecified_type Point_2; + +/// @} + + +/// \name Function Objects +/// @{ + +/*! +A function object to construct a `Segment_2`. + +Provides: + +`Segment_2 operator()(Point_2 p,Point_2 q)`, + +which constructs a segment from two points. +*/ +typedef unspecified_type Construct_segment_2; + +/*! +A function object to compare the x-coordinate of two points. + +Provides the operator: + +`bool operator()(Point p, Point q)` + +which returns `true` if `p` is before `q` +according to the \f$ x\f$-ordering of points. +*/ +typedef unspecified_type Less_x_2; + +/*! +A function object to compare the x-coordinate of two points. + +Provides the operator: + +`Comparison_result operator()(Point p, Point q)` + +which returns +`SMALLER, EQUAL` or `LARGER` +according to the +\f$ x\f$-ordering of points `p` and `q`. +*/ +typedef unspecified_type Compare_x_2; + +/*! +A function object to compare the y-coordinate of two points. +Provides the operator: + +`Comparison_result operator()(Point p, Point q)` + +which returns +(`SMALLER, EQUAL` or `LARGER`) +according to the +\f$ y\f$-ordering of points `p` and `q`. +*/ +typedef unspecified_type Compare_y_2; + +/// @} + +/// \name Functions +/// @{ + +/*! + +*/ +Compare_x_2 compare_x_2_object(); + +/*! + +*/ +Compare_y_2 compare_y_2_object(); + + +/// @} + +}; /* end PolylineDistanceTraits_2 */ + diff --git a/Polyline_distance/doc/Polyline_distance/Doxyfile.in b/Polyline_distance/doc/Polyline_distance/Doxyfile.in new file mode 100644 index 00000000000..c995a1cb77c --- /dev/null +++ b/Polyline_distance/doc/Polyline_distance/Doxyfile.in @@ -0,0 +1,3 @@ +@INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS} + +PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - dD Polyline Distance" diff --git a/Polyline_distance/doc/Polyline_distance/PackageDescription.txt b/Polyline_distance/doc/Polyline_distance/PackageDescription.txt new file mode 100644 index 00000000000..8a4e394a7b2 --- /dev/null +++ b/Polyline_distance/doc/Polyline_distance/PackageDescription.txt @@ -0,0 +1,43 @@ +/// \defgroup PkgPolylineDistanceRef dD Polyline Distance Reference +/// \defgroup PkgPolylineDistanceConcepts Concepts +/// \ingroup PkgPolylineDistanceRef +/// \defgroup PkgPolylineDistanceFunctions Functions +/// You can add some text here if you want a description at the group level +/// \ingroup PkgPolylineDistanceRef + + +/*! +\addtogroup PkgPolylineDistanceRef + +\cgalPkgDescriptionBegin{dD Polyline Distance,PkgPolylineDistance} +\cgalPkgPicture{pkg-small.png} + +\cgalPkgSummaryBegin +\cgalPkgAuthors{Marvin Kuennemann and André Nusser} +\cgalPkgDesc{The package provides ... } +\cgalPkgManuals{Chapter_dD_Polyline_distance,PkgPolylineDistanceRef} +\cgalPkgSummaryEnd + +\cgalPkgShortInfoBegin +\cgalPkgSince{5.2} +\cgalPkgDependsOn{\ref PkgSpatialSearchingD} +\cgalPkgBib{cgal:kn-pd} +\cgalPkgLicense{\ref licensesGPL "GPL"} +\cgalPkgShortInfoEnd + +\cgalPkgDescriptionEnd + +This chapter presents .... + +\cgalClassifedRefPages + +\cgalCRPSection{Concepts} +- `PolylineDistanceTraits_2` + +\cgalCRPSection{Functions} +- `CGAL::Frechet_distance()` + +*/ + + +*/ diff --git a/Polyline_distance/doc/Polyline_distance/Polyline_distance.txt b/Polyline_distance/doc/Polyline_distance/Polyline_distance.txt new file mode 100644 index 00000000000..8e5c64bc6f2 --- /dev/null +++ b/Polyline_distance/doc/Polyline_distance/Polyline_distance.txt @@ -0,0 +1,29 @@ +namespace CGAL { +/*! + +\mainpage User Manual +\anchor Chapter_dD_Polyline_distance + +\cgalAutoToc +\author Marvin Kuennemann and André Nusser + +This chapter describes the ... + +\section secmydefinitions Definitions + +Section on definitions here ... + +\section secmyexamples Examples + +\subsection myFirstExample First Example + +The following example shows ... + +\cgalExample{Polyline_distance/dummy_example.cpp} + +\cgalFigureBegin{figRefId,pkg-small.png} +Here you can put the caption +\cgalFigureEnd + +*/ +} /* namespace CGAL */ diff --git a/Polyline_distance/doc/Polyline_distance/dependencies b/Polyline_distance/doc/Polyline_distance/dependencies new file mode 100644 index 00000000000..a4d5f76715e --- /dev/null +++ b/Polyline_distance/doc/Polyline_distance/dependencies @@ -0,0 +1,6 @@ +Manual +Kernel_23 +STL_Extension +Algebraic_foundations +Circulator +Stream_support diff --git a/Polyline_distance/doc/Polyline_distance/examples.txt b/Polyline_distance/doc/Polyline_distance/examples.txt new file mode 100644 index 00000000000..9da46a54261 --- /dev/null +++ b/Polyline_distance/doc/Polyline_distance/examples.txt @@ -0,0 +1,3 @@ +/*! +\example Polyline_distance/dummy_example.cpp +*/ \ No newline at end of file diff --git a/Polyline_distance/doc/Polyline_distance/fig/pkg-small.png b/Polyline_distance/doc/Polyline_distance/fig/pkg-small.png new file mode 100644 index 0000000000000000000000000000000000000000..5609b037587a48c46b483d2c0768c7ae88b40c72 GIT binary patch literal 9467 zcmZ`QsjDeqppv3OAP@}2H?o@G)$`?vj0nC9ne$JA7erHK1zGS4zV2k21HcQ4 z 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 literal 0 HcmV?d00001 diff --git a/Polyline_distance/examples/Polyline_distance/dummy_example.cpp b/Polyline_distance/examples/Polyline_distance/dummy_example.cpp new file mode 100644 index 00000000000..0c87b37802d --- /dev/null +++ b/Polyline_distance/examples/Polyline_distance/dummy_example.cpp @@ -0,0 +1,2 @@ +int main() +{} diff --git a/Polyline_distance/include/CGAL/Frechet_distance.h b/Polyline_distance/include/CGAL/Frechet_distance.h new file mode 100644 index 00000000000..fa705bf0a3b --- /dev/null +++ b/Polyline_distance/include/CGAL/Frechet_distance.h @@ -0,0 +1,58 @@ +// Copyright (c) 2019 Max-Planck-Institute Saarbruecken (Germany). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org). +// You can redistribute it and/or modify it under the terms of the GNU +// General Public License as published by the Free Software Foundation, +// either version 3 of the License, or (at your option) any later version. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: GPL-3.0+ +// +// Author(s) : André Nusser +// Marvin Kuennemann +// +// ============================================================================= + +#ifndef CGAL_FRECHET_DISTANCE_H +#define CGAL_FRECHET_DISTANCE_H + +#include + +namespace CGAL{ + +/** + * \ingroup PkgPolylineDistanceFunctions + * Computes the Frechet distance between two polylines given as a range of points + * \param curve1 the first curve defined by the sequence of consecutive points along the polyline + * \param curve2 the second curve defined by the sequence of consecutive points along the polyline + * \tparam PointRange a model of the concept `RandomAccessContainer` + * with Traits::Point_2 as value type. + */ +template ::value_type + >::Kernel > +typename Traits::FT +Frechet_distance(const PointRange& curve1, + const PointRange& curve2) +{ + typedef Traits::Point_2 Point_2; + typedef Traits::FT FT; + + + + return 0; +} + +} // end of namespace CGAL + +#endif // CGAL_FRECHET_DISTANCE_H diff --git a/Polyline_distance/include/CGAL/internal/Polyline_distance/Frechet_distance.h b/Polyline_distance/include/CGAL/internal/Polyline_distance/Frechet_distance.h new file mode 100644 index 00000000000..708130c3e66 --- /dev/null +++ b/Polyline_distance/include/CGAL/internal/Polyline_distance/Frechet_distance.h @@ -0,0 +1,32 @@ +// Copyright (c) 2019 Max-Planck-Institute Saarbruecken (Germany). +// All rights reserved. +// +// This file is part of CGAL (www.cgal.org). +// You can redistribute it and/or modify it under the terms of the GNU +// General Public License as published by the Free Software Foundation, +// either version 3 of the License, or (at your option) any later version. +// +// Licensees holding a valid commercial license may use this file in +// accordance with the commercial license agreement provided with the software. +// +// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +// +// $URL$ +// $Id$ +// SPDX-License-Identifier: GPL-3.0+ +// +// Author(s) : André Nusser +// Marvin Kuennemann +// +// ============================================================================= + +#ifndef CGAL_INTERNAL_POLYLINE_DISTANCE_FRECHET_DISTANCE_H +#define CGAL_INTERNAL_POLYLINE_DISTANCE_FRECHET_DISTANCE_H + +namespace CGAL{ + + +} // end of namespace CGAL + +#endif // CGAL_INTERNAL_POLYLINE_DISTANCE_FRECHET_DISTANCE_H diff --git a/Polyline_distance/package_info/Polyline_distance/copyright b/Polyline_distance/package_info/Polyline_distance/copyright new file mode 100644 index 00000000000..2d3aff3e5b9 --- /dev/null +++ b/Polyline_distance/package_info/Polyline_distance/copyright @@ -0,0 +1 @@ +Max-Planck-Institute Saarbruecken (Germany) diff --git a/Polyline_distance/package_info/Polyline_distance/dependencies b/Polyline_distance/package_info/Polyline_distance/dependencies new file mode 100644 index 00000000000..057b5f7bb80 --- /dev/null +++ b/Polyline_distance/package_info/Polyline_distance/dependencies @@ -0,0 +1,11 @@ +Algebraic_foundations +Circulator +Installation +Interval_support +Kernel_23 +Modular_arithmetic +Number_types +Profiling_tools +Property_map +STL_Extension +Stream_support diff --git a/Polyline_distance/package_info/Polyline_distance/description.txt b/Polyline_distance/package_info/Polyline_distance/description.txt new file mode 100644 index 00000000000..7229111919a --- /dev/null +++ b/Polyline_distance/package_info/Polyline_distance/description.txt @@ -0,0 +1 @@ +Frechet distance on dD polylines diff --git a/Polyline_distance/package_info/Polyline_distance/license.txt b/Polyline_distance/package_info/Polyline_distance/license.txt new file mode 100644 index 00000000000..8bb8efcb72b --- /dev/null +++ b/Polyline_distance/package_info/Polyline_distance/license.txt @@ -0,0 +1 @@ +GPL (v3 or later) diff --git a/Polyline_distance/package_info/Polyline_distance/maintainer b/Polyline_distance/package_info/Polyline_distance/maintainer new file mode 100644 index 00000000000..2bbd43c4525 --- /dev/null +++ b/Polyline_distance/package_info/Polyline_distance/maintainer @@ -0,0 +1 @@ +Marvin Kuennemann and André Nusser diff --git a/Polyline_distance/test/Polyline_distance/CMakeLists.txt b/Polyline_distance/test/Polyline_distance/CMakeLists.txt new file mode 100644 index 00000000000..ab2ba93e23a --- /dev/null +++ b/Polyline_distance/test/Polyline_distance/CMakeLists.txt @@ -0,0 +1,10 @@ +# Created by the script cgal_create_cmake_script +# This is the CMake script for compiling a CGAL application. + +cmake_minimum_required(VERSION 3.1...3.14) +project( Polyline_distance ) + +find_package(CGAL REQUIRED QUIET OPTIONAL_COMPONENTS Core ) + +create_single_source_cgal_program( "dummy_test.cpp" ) + diff --git a/Polyline_distance/test/Polyline_distance/dummy_test.cpp b/Polyline_distance/test/Polyline_distance/dummy_test.cpp new file mode 100644 index 00000000000..0c87b37802d --- /dev/null +++ b/Polyline_distance/test/Polyline_distance/dummy_test.cpp @@ -0,0 +1,2 @@ +int main() +{}