#include <kdTree.h>

Classes | |
| struct | HeapNode |
| One element of the heap representing a node in the KDTree kd. More... | |
| struct | HeapOrder |
| Defines the order of heap - ascending according to getSE. More... | |
Public Member Functions | |
| PointHeap (const KDTree &tree, const T *point_, bool checkNaNs) | |
Builds the heap from a KDTree tree and vector point_ (they've got to remain valid until the destruction of this instance). | |
| bool | isEmpty () |
| Returns whether the heap is empty ( !isEmpty() is needed for all other methods). | |
| T | getTopSE () |
| Returns the SE of the top node (always equals the SE of the next leaf). | |
| template<bool CheckNaNs> | |
| int | popLeaf (T maxSE) |
Removes a leaf, returns the matching vector's index, assumes it's safe to discard nodes further than maxSE. | |
Protected Member Functions | |
| template<bool CheckNaNs> | |
| void | makeTopLeaf (T maxSE) |
Divides the top nodes until there's a leaf on the top assumes it's safe to discard nodes further than maxSE. | |
Private Attributes | |
| const KDTree & | kd |
| Reference to the KDTree we operate on. | |
| const T *const | point |
| Pointer to the point we are trying to approach. | |
| vector< HeapNode > | heap |
| The current heap of the tree nodes. | |
| BulkAllocator< T > | allocator |
| The allocator for HeapNode::data. | |
It returns vectors (their indices) in the order of ascending distance (SE) from a given fixed point. It can compute a lower bound of the SEs of the remaining vectors at any time.
Definition at line 144 of file kdTree.h.
1.5.8