#include <rsdl_kd_tree.h>
Inheritance diagram for rsdl_kd_tree:

Definition at line 58 of file rsdl_kd_tree.h.
Public Member Functions | |
| rsdl_kd_tree (const vcl_vector< rsdl_point > &points, double min_angle=0, int points_per_leaf=4) | |
| ctor requires the points and values associated with the tree;. | |
| ~rsdl_kd_tree () | |
| dtor deletes the nodes in tree. | |
| void | n_nearest (const rsdl_point &query_point, int n, vcl_vector< rsdl_point > &closest_points, vcl_vector< int > &indices, bool use_heap=false, int max_leaves=-1) |
| find the n points nearest to the query point (and their associate indices). | |
| void | points_in_bounding_box (const rsdl_bounding_box &box, vcl_vector< rsdl_point > &closest_points, vcl_vector< int > &indices) |
| find all points within a query's bounding box. | |
| void | points_in_radius (const rsdl_point &query_point, double radius, vcl_vector< rsdl_point > &points, vcl_vector< int > &indices) |
| find all points within a given distance of the query_point. | |
| void | ref () |
| void | unref () |
| int | get_references () const |
| bool | is_referenced () const |
Private Member Functions | |
| rsdl_kd_tree (const rsdl_kd_tree &) | |
| copy ctor is private, for now, to prevent its use. | |
| rsdl_kd_tree & | operator= (const rsdl_kd_tree &) |
| operator= is private, for now, to prevent its use. | |
| void | destroy_tree (rsdl_kd_node *&p) |
| rsdl_kd_node * | build_kd_tree (int points_per_leaf, const rsdl_bounding_box &outer_box, int depth, vcl_vector< int > &indices) |
| rsdl_bounding_box | build_inner_box (const vcl_vector< int > &indices) |
| void | greatest_variation (const vcl_vector< int > &indices, bool &use_cartesian, int &dim) |
| void | n_nearest_with_stack (const rsdl_point &query_point, int n, rsdl_kd_node *root, vcl_vector< int > &closest_indices, vcl_vector< double > &sq_distances, int &num_found) |
| void | n_nearest_with_heap (const rsdl_point &query_point, int n, rsdl_kd_node *root, vcl_vector< int > &closest_indices, vcl_vector< double > &sq_distances, int &num_found, int max_leaves) |
| void | update_closest (const rsdl_point &query_point, int n, rsdl_kd_node *p, vcl_vector< int > &closest_indices, vcl_vector< double > &sq_distances, int &num_found) |
| bool | bounded_at_leaf (const rsdl_point &query_point, int n, rsdl_kd_node *current, const vcl_vector< double > &sq_distances, int &num_found) |
| void | points_in_bounding_box (rsdl_kd_node *current, const rsdl_bounding_box &box, vcl_vector< int > &indices) |
| void | report_all_in_subtree (rsdl_kd_node *current, vcl_vector< int > &indices) |
Private Attributes | |
| rsdl_kd_node * | root_ |
| vcl_vector< rsdl_point > | points_ |
| unsigned int | Nc_ |
| unsigned int | Na_ |
| double | min_angle_ |
| int | leaf_count_ |
| int | leaves_examined_ |
| int | internal_count_ |
| int | internal_examined_ |
|
|
copy ctor is private, for now, to prevent its use.
Definition at line 62 of file rsdl_kd_tree.h. |
|
||||||||||||||||
|
ctor requires the points and values associated with the tree;.
Definition at line 16 of file rsdl_kd_tree.cxx. |
|
|
dtor deletes the nodes in tree.
Definition at line 247 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||||||
|
Definition at line 601 of file rsdl_kd_tree.cxx. |
|
|
Definition at line 172 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||
|
Definition at line 78 of file rsdl_kd_tree.cxx. |
|
|
Definition at line 253 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||
|
Definition at line 200 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||||||||||
|
find the n points nearest to the query point (and their associate indices). max_leaves = -1 to not use approximate nearest neighbor queries; if max_leaves is not -1 then use_heap must be true Definition at line 265 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||||||||||||||
|
Definition at line 420 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||||||||||
|
Definition at line 307 of file rsdl_kd_tree.cxx. |
|
|
operator= is private, for now, to prevent its use.
Definition at line 65 of file rsdl_kd_tree.h. |
|
||||||||||||||||
|
Definition at line 715 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||
|
find all points within a query's bounding box.
Definition at line 640 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||
|
find all points within a given distance of the query_point.
Definition at line 653 of file rsdl_kd_tree.cxx. |
|
||||||||||||
|
Definition at line 739 of file rsdl_kd_tree.cxx. |
|
||||||||||||||||||||||||||||
|
Definition at line 537 of file rsdl_kd_tree.cxx. |
|
|
Definition at line 107 of file rsdl_kd_tree.h. |
|
|
Definition at line 108 of file rsdl_kd_tree.h. |
|
|
Definition at line 105 of file rsdl_kd_tree.h. |
|
|
Definition at line 106 of file rsdl_kd_tree.h. |
|
|
Definition at line 103 of file rsdl_kd_tree.h. |
|
|
Definition at line 102 of file rsdl_kd_tree.h. |
|
|
Definition at line 102 of file rsdl_kd_tree.h. |
|
|
Definition at line 100 of file rsdl_kd_tree.h. |
|
|
Definition at line 98 of file rsdl_kd_tree.h. |
1.4.4