CGAL 6.1 - dD Frechet Distance

Loading...
Searching...
No Matches
List of all members | Public Types | Public Member Functions
CGAL::Frechet_distance::Neighbor_search< PointRange, Traits > Class Template Reference
Reference Manual

`#include <CGAL/Frechet_distance/Neighbor_search.h>`

## Definition

template<class PointRange, class Traits>
class CGAL::Frechet_distance::Neighbor_search< PointRange, Traits >

A data structure to store polylines with a function that enables to find those polylines which are closer than a distance bound to a query polyline.

Template Parameters

  Traits | a model of `FrechetDistanceTraits`
  PointRange | a model of the concept `RandomAccessContainer` with `Traits::Point_d` as value type.

Examples
  Frechet_distance/Frechet_DS_2.cpp, Frechet_distance/Frechet_DS_3.cpp, Frechet_distance/Frechet_DS_d.cpp, and Frechet_distance/parallel_Frechet_DS_2.cpp.

## Public Types
using | Point = Traits::Point_d

## Public Member Functions
template<typename ConcurrencyTag = Sequential_tag, typename PolylineRange >
| Neighbor_search (const PolylineRange &polylines, ConcurrencyTag tag=ConcurrencyTag())
| constructs a neighbor search data structure for `polylines`
template<typename ConcurrencyTag = Sequential_tag>
std::vector< std::size_t > | get_close_curves (const PointRange &query, double distance)
| returns the indices of the inserted polylines that are closer than `distance` to the polyline `query`.

## Constructor & Destructor Documentation

## ◆ Neighbor_search()

template<class PointRange , class Traits >
template<typename ConcurrencyTag = Sequential_tag, typename PolylineRange >

CGAL::Frechet_distance::Neighbor_search< PointRange, Traits >::Neighbor_search | ( | const PolylineRange & | polylines,
|  | ConcurrencyTag | tag = `ConcurrencyTag()`
| ) |  |

constructs a neighbor search data structure for `polylines`

Template Parameters

  ConcurrencyTag | enables sequential versus parallel construction. Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`.
  PolylineRange | must be a model of `RandomAccessRange` with value type `PointRange`

## Member Function Documentation

## ◆ get_close_curves()

template<class PointRange , class Traits >
template<typename ConcurrencyTag = Sequential_tag>

std::vector< std::size_t > CGAL::Frechet_distance::Neighbor_search< PointRange, Traits >::get_close_curves | ( | const PointRange & | query,
|  | double | distance
| ) |  |

returns the indices of the inserted polylines that are closer than `distance` to the polyline `query`.

Parameters

  query | the query polyline
  distance | the distance bound

Template Parameters

  ConcurrencyTag | enables sequential versus parallel computation. Possible values are `Sequential_tag`, `Parallel_tag`, and `Parallel_if_available_tag`.

Returns
  a vector of indices of the inserted polylines that are closer than `distance` to the polyline `query`.

Examples
  Frechet_distance/Frechet_DS_2.cpp, Frechet_distance/Frechet_DS_3.cpp, and Frechet_distance/Frechet_DS_d.cpp.