![]() |
RobWorkProject
23.9.11-
|
a space partitioning structure for organizing points in k-dimensional space. Used for searches involving multi.dimensional search keys, including nearest neighbor and range search. More...
#include <KDTree.hpp>
Classes | |
| struct | KDNode |
| a struct for the node in the tree More... | |
| struct | KDResult |
Public Member Functions | |
| KDTree (rw::core::Ptr< rw::math::Metric< KEY >> metric) | |
| Constructor. More... | |
| virtual | ~KDTree () |
| destructor | |
| rw::core::Ptr< rw::math::Metric< KEY > > | getMetric () |
| size_t | getDimensions () const |
| gets the number of dimensions that this KDTree supports More... | |
| void | addNode (const KEY &key, boost::any val) |
| adds a key value pair to the KDTree. More... | |
| KDNode * | search (const KEY &nnkey) |
| finds the KDNode with key equal to nnkey More... | |
| KDNode & | nnSearch (const KEY &nnkey) |
| finds the KDNode with the key closest too nnkey More... | |
| void | nnSearchElipse (const KEY &nnkey, const KEY &radi, std::list< const KDNode * > &nodes) |
| finds all neighbors in the hyperelipse with radius radi and center in nnkey. More... | |
| void | nnSearchElipseRect (const KEY &nnkey, const KEY &radi, std::list< const KDNode * > &nodes) |
| finds all neighbors in the hyperelipse with radius radi and center in nnkey. More... | |
| void | nnSearchRect (const KEY &low, const KEY &upp, std::list< const KDNode * > &nodes) |
| finds all neighbors in the hyperrectangle defined by the lower bound and the upper bound | |
Static Public Member Functions | |
| static KDTree< KEY, DIM > * | buildTree (std::vector< KDNode > &nodes, rw::core::Ptr< rw::math::Metric< KEY >> metric) |
| Builds a KDTree from a list of key values and nodes. This method is more efficient than creating an empty KDTree and then inserting nodes. More... | |
| static KDTree< KEY, DIM > * | buildTree (const std::vector< KDNode * > &nodes, rw::core::Ptr< rw::math::Metric< KEY >> metric) |
| Builds a KDTree from a list of key values and nodes. This method is more efficient than creating an empty KDTree and then inserting nodes. More... | |
a space partitioning structure for organizing points in k-dimensional space. Used for searches involving multi.dimensional search keys, including nearest neighbor and range search.
KEY must implement: copyable operator[] operator() TODO: remove one of the operators (change code in KDTREE)
|
inline |
Constructor.
| metric | documentation missing ! |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
gets the number of dimensions that this KDTree supports
|
inline |
finds the KDNode with the key closest too nnkey
| nnkey | [in] the key to which the nearest neighbor is found |
|
inline |
finds all neighbors in the hyperelipse with radius radi and center in nnkey.
| nnkey | [in] the center of the hyperelipse |
| radi | [in] the radius of the hyperelipse in euclidean 2-norm |
| nodes | [out] a container for all nodes that is found within the hyperelipse |
|
inline |
finds all neighbors in the hyperelipse with radius radi and center in nnkey.
| nnkey | [in] the center of the hyperelipse |
| radi | [in] the radius of the hyperelipse in euclidean 2-norm |
| nodes | [out] a container for all nodes that is found within the hyperelipse |
|
inline |