Add skeleton for the new package

This commit is contained in:
Sébastien Loriot 2019-09-17 13:04:19 +02:00 committed by André Nusser
parent cabb582e29
commit c62fce738d
18 changed files with 306 additions and 0 deletions

View File

@ -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}

View File

@ -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<K>`
\cgalHasModel `CGAL::Projection_traits_yz_3<K>`
\cgalHasModel `CGAL::Projection_traits_xz_3<K>`
*/
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 */

View File

@ -0,0 +1,3 @@
@INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS}
PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - dD Polyline Distance"

View File

@ -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()`
*/
*/

View File

@ -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 */

View File

@ -0,0 +1,6 @@
Manual
Kernel_23
STL_Extension
Algebraic_foundations
Circulator
Stream_support

View File

@ -0,0 +1,3 @@
/*!
\example Polyline_distance/dummy_example.cpp
*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -0,0 +1,2 @@
int main()
{}

View File

@ -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 <anusser@mpi-inf.mpg.de>
// Marvin Kuennemann<marvin@mpi-inf.mpg.de>
//
// =============================================================================
#ifndef CGAL_FRECHET_DISTANCE_H
#define CGAL_FRECHET_DISTANCE_H
#include <CGAL/internal/Polyline_distance/Frechet_distance.h>
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 <class PointRange,
class Traits = typename CGAL::Kernel_traits<
typename std::iterator_trait<
typename PointRange::iterator>::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

View File

@ -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 <anusser@mpi-inf.mpg.de>
// Marvin Kuennemann<marvin@mpi-inf.mpg.de>
//
// =============================================================================
#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

View File

@ -0,0 +1 @@
Max-Planck-Institute Saarbruecken (Germany)

View File

@ -0,0 +1,11 @@
Algebraic_foundations
Circulator
Installation
Interval_support
Kernel_23
Modular_arithmetic
Number_types
Profiling_tools
Property_map
STL_Extension
Stream_support

View File

@ -0,0 +1 @@
Frechet distance on dD polylines

View File

@ -0,0 +1 @@
GPL (v3 or later)

View File

@ -0,0 +1 @@
Marvin Kuennemann<marvin@mpi-inf.mpg.de> and André Nusser <anusser@mpi-inf.mpg.de>

View File

@ -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" )

View File

@ -0,0 +1,2 @@
int main()
{}