## CGAL::nearest_neighbors

### Definition

The function nearest_neighbors is the function template version of the k nearest neighbors search on Delaunay triangulations. There are two versions of this function, one taking a point of the Delanay triangulation and the other taking a vertex handle.

#include <CGAL/nearest_neighbor_delaunay_2.h>

template<class Dt, class OutputIterator>

OutputIterator

nearest_neighbors ( | Dt& delau, Dt::Point p, int k, OutputIterator res)

|  | computes the k nearest neighbors of p in delau, and places the handles to the corresponding vertices as a sequence of objects of type Vertex_handle in a container of value type of res which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence.

### Requirements

Dt is a CGAL Delaunay triangulation and contains the following subset of types from the concept PointSetTraits and from the Delaunay triangulation data type:

- Dt::Geom_traits
- Dt::Vertex_handle
- Dt::Vertex_iterator
- Dt::Vertex_circulator
- Dt::Vertex
- Dt::Face
- Dt::Face_handle
- Dt::Locate_type
- Dt::Point
- Dt::Geom_traits::FT
- Dt::Geom_traits::Compute_squared_distance_2

template<class Dt, class OutputIterator>

OutputIterator

nearest_neighbors ( | Dt& delau, Dt::Vertex_handle v, int k, OutputIterator res)

|  | computes the k nearest neighbors of v (including v) in delau, and places them as a sequence of objects of type Vertex_handle in a container of value type of res which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence.

### Requirements

Dt is a CGAL Delaunay triangulation and contains the following subset of types from the concept PointSetTraits and from the Delaunay triangulation data type:

- Dt::Geom_traits
- Dt::Vertex_handle
- Dt::Vertex_iterator
- Dt::Vertex_circulator
- Dt::Vertex
- Dt::Point
- Dt::Geom_traits::FT
- Dt::Geom_traits::Compute_squared_distance_2