#include <k_d_tree.h>
|
| using | Point = std::array<Component, Dim> |
| |
|
| | KdTree () |
| | Empty tree.
|
| |
| | KdTree (const Point &point, const Id &id) |
| | Build a tree containing just a single point.
|
| |
| | KdTree (size_t n, Id const *ids, std::array< Component const *, Dim > pts) |
| | Build a tree.
|
| |
| | KdTree (const KdTree &a, const KdTree &b) |
| | Merge two trees. Both trees are assumed to have a power of two size.
|
| |
| template<typename F > |
| void | rangeQuery (const Point &min, const Point &max, const F &cb) const |
| |
| void | remove (Idx internalIdx) |
| |
| template<class F > |
| void | foreach (F cb) const |
| |
| size_t | cap () const |
| | Capacity, not size, since some items may be marked as deleted.
|
| |
◆ Point
template<uint8_t Dim, class Component , class Id >
| using k_d_tree::KdTree< Dim, Component, Id >::Point = std::array<Component, Dim> |
◆ KdTree() [1/4]
template<uint8_t Dim, class Component , class Id >
◆ KdTree() [2/4]
template<uint8_t Dim, class Component , class Id >
◆ KdTree() [3/4]
template<uint8_t Dim, class Component , class Id >
| k_d_tree::KdTree< Dim, Component, Id >::KdTree |
( |
size_t | n, |
|
|
Id const * | ids, |
|
|
std::array< Component const *, Dim > | pts ) |
|
inline |
◆ KdTree() [4/4]
template<uint8_t Dim, class Component , class Id >
Merge two trees. Both trees are assumed to have a power of two size.
References k_d_tree::KdTree< Dim, Component, Id >::cap(), k_d_tree::KdTree< Dim, Component, Id >::deleted, k_d_tree::KdTree< Dim, Component, Id >::ids, k_d_tree::KdTree< Dim, Component, Id >::init(), k_d_tree::KdTree< Dim, Component, Id >::items, and k_d_tree::KdTree< Dim, Component, Id >::tree.
◆ cap()
template<uint8_t Dim, class Component , class Id >
Capacity, not size, since some items may be marked as deleted.
References k_d_tree::KdTree< Dim, Component, Id >::items.
Referenced by k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::foreach(), and k_d_tree::KdTree< Dim, Component, Id >::rangeQuery().
◆ foreach()
template<uint8_t Dim, class Component , class Id >
template<class F >
References k_d_tree::KdTree< Dim, Component, Id >::cap(), k_d_tree::KdTree< Dim, Component, Id >::deleted, k_d_tree::KdTree< Dim, Component, Id >::ids, and k_d_tree::KdTree< Dim, Component, Id >::items.
◆ init()
template<uint8_t Dim, class Component , class Id >
References k_d_tree::KdTree< Dim, Component, Id >::deleted, k_d_tree::KdTree< Dim, Component, Id >::init(), k_d_tree::SortedIndices< Dim >::split(), split(), and k_d_tree::KdTree< Dim, Component, Id >::tree.
Referenced by k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::KdTree(), and k_d_tree::KdTree< Dim, Component, Id >::init().
◆ rangeQuery() [1/2]
template<uint8_t Dim, class Component , class Id >
template<typename F >
◆ rangeQuery() [2/2]
template<uint8_t Dim, class Component , class Id >
template<typename F >
| void k_d_tree::KdTree< Dim, Component, Id >::rangeQuery |
( |
size_t | root, |
|
|
uint8_t | split, |
|
|
const Point & | min, |
|
|
const Point & | max, |
|
|
const F & | cb ) const |
|
inlineprivate |
References k_d_tree::KdTree< Dim, Component, Id >::cap(), k_d_tree::KdTree< Dim, Component, Id >::deleted, k_d_tree::KdTree< Dim, Component, Id >::ids, k_d_tree::KdTree< Dim, Component, Id >::items, k_d_tree::KdTree< Dim, Component, Id >::rangeQuery(), split(), and k_d_tree::KdTree< Dim, Component, Id >::tree.
◆ remove()
template<uint8_t Dim, class Component , class Id >
◆ deleted
template<uint8_t Dim, class Component , class Id >
Referenced by k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::foreach(), k_d_tree::KdTree< Dim, Component, Id >::init(), k_d_tree::KdTree< Dim, Component, Id >::rangeQuery(), and k_d_tree::KdTree< Dim, Component, Id >::remove().
◆ ids
template<uint8_t Dim, class Component , class Id >
Referenced by k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::foreach(), and k_d_tree::KdTree< Dim, Component, Id >::rangeQuery().
◆ items
template<uint8_t Dim, class Component , class Id >
Referenced by k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::cap(), k_d_tree::KdTree< Dim, Component, Id >::foreach(), and k_d_tree::KdTree< Dim, Component, Id >::rangeQuery().
◆ tree
template<uint8_t Dim, class Component , class Id >
Referenced by k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::KdTree(), k_d_tree::KdTree< Dim, Component, Id >::init(), and k_d_tree::KdTree< Dim, Component, Id >::rangeQuery().
The documentation for this class was generated from the following file: