#include <CGAL/Kd_tree.h>
Expects for the first template argument a model of the concept SearchTraits, for example CGAL::Search_traits_2<CGAL::Cartesian<double> >.
Expects for the second template argument a model for the concept Splitter. It defaults to Sliding_midpoint<Traits>.
Expects for the third template argument CGAL::Tag_true, if the tree shall be built with extended nodes, and CGAL::Tag_false otherwise.
Traits::Point_d | Point_d; | Point class. |
Traits::FT | FT; | Number type. |
Kd_tree<Traits, Splitter, UseExtendedNode>::Splitter | |
Splitter type.
| |
Kd_tree<Traits, Splitter, UseExtendedNode>::iterator | |
Bidirectional const iterator with value type Point_d that allows
to enumerate all points in the tree.
|
Kd_tree<Traits, Splitter, UseExtendedNode>::Node_handle | |
A handle with value type Kd_tree_node<Traits,Splitter>.
| |
Kd_tree<Traits, Splitter, UseExtendedNode>::Node_const_handle | |
A const handle with value type Kd_tree_node<Traits,Splitter>.
| |
Kd_tree<Traits, Splitter, UseExtendedNode>::Point_d_iterator | |
Random access const iterator with value type const Point_d*.
| |
Kd_tree<Traits, Splitter, UseExtendedNode>::size_type | |
A type that counts the number of elements in a k-d tree.
|
Kd_tree<Traits, Splitter, UseExtendedNode> tree ( Splitter s=Splitter(), Traits t=Traits()); | |
Constructs an empty k-d tree.
| |
template <class InputIterator> | |
Kd_tree<Traits, Splitter, UseExtendedNode> tree ( InputIterator first, InputIterator beyond, Splitter s=Splitter(), Traits t=Traits()); | |
Constructs a k-d tree on the elements from the sequence
[first, beyond) using the splitting rule implemented by s.
The value type of the InputIterator must be Point_d.
|
void | tree.insert ( Point_d p) | Inserts the point p in the k-d tree. |
template <class InputIterator> | ||
void | tree.insert ( InputIterator first, InputIterator beyond) | |
Inserts the elements from the sequence [first, beyond) in the k-d tree. The value type of the InputIterator must be Point_d. | ||
template <class OutputIterator, class FuzzyQueryItem> | ||
OutputIterator | tree.search ( OutputIterator it, FuzzyQueryItem q) const | |
Reports the points that are approximately contained by q. The types FuzzyQueryItem::Point_d and Point_d must be equivalent. To use this function Traits must be a model of the concept RangeSearchTraits. | ||
iterator | tree.begin () const | Returns a const iterator to the first point in the tree. |
iterator | tree.end () const | Returns the appropriate past-the-end const iterator. |
void | tree.clear () | Removes all points from the k-d tree. |
size_type | tree.size () const | Returns the number of points that are stored in the tree. |
Traits | tree.traits () const | return the instance of the traits used to construct the tree. |
Node_handle | tree.root () | Returns a handle to the root node of the tree. |
Node_const_handle | tree.root () const | Returns a const handle to the root node of the tree. |
Kd_tree_rectangle<FT> | tree.bounding_box () const | returns a const reference to the bounding box of the root node of the tree. |
std::ostream& | tree.statistics ( std::ostream& s) const | |
Inserts statistics of the tree into the output stream s. |