\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - dD Spatial Searching

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Orthogonal_incremental_neighbor_search< Traits, OrthogonalDistance, Splitter, SpatialTree > Class Template Reference
Search Classes

`#include <CGAL/Orthogonal_incremental_neighbor_search.h>`

## Definition

The class `Orthogonal_incremental_neighbor_search` implements incremental nearest and furthest neighbor searching on a tree.

Template Parameters

  Traits | must be a model of the concept `SearchTraits`, for example `Search_traits_2<Simple_cartesian<double> >`.
  OrthogonalDistance | must be a model of the concept `OrthogonalDistance`. If `Traits` is `Search_traits_adapter<Key,PointPropertyMap,BaseTraits>` the default type is `Distance_adapter<Key,PointPropertyMap,Euclidean_distance<BaseTraits> >`, and `Euclidean_distance<Traits>` otherwise.
  Splitter | must be a model of the concept `Splitter`. The default type is `Sliding_midpoint<Traits>`.
  SpatialTree | must be a model of the concept `SpatialTree`. The default type is `Kd_tree<Traits, Splitter, Tag_true>`. The template argument must be `Tag_true` because orthogonal search needs extended kd tree nodes.

See Also
  `CGAL::Incremental_neighbor_search<Traits, GeneralDistance, SpatialTree>`

Examples:
  Spatial_searching/distance_browsing.cpp.

## Types
typedef Traits::Point_d | Point_d
| Point type.
typedef Traits::FT | FT
| Number type.
typedef OrthogonalDistance | Distance
| Distance type.
typedef OrthogonalDistance::Query_item | Query_item
| Query item.
typedef std::pair< Point_d, FT > | Point_with_transformed_distance
| Pair of point and transformed distance.
typedef unspecified_type | iterator
| const input iterator with value type `Point_with_transformed_distance` for enumerating approximate neighbors.
typedef SpatialTree | Tree
| The tree type.

## Creation
| Orthogonal_incremental_neighbor_search (SpatialTree &tree, Query_item query, FT eps=FT(0.0), bool search_nearest=true, OrthogonalDistance d=OrthogonalDistance())
| Constructor for incremental neighbor searching of the query item `query` in the points stored `tree` using a distance `d` and approximation factor `eps`.

## Operations
iterator | begin () const
| Returns a const iterator to the approximate nearest or furthest neighbor.
iterator | end () const
| Returns the appropriate past-the-end const iterator.
std::ostream & | statistics (std::ostream &s) const
| Inserts statistics of the search process into the output stream `s`.