#include <kdTree.h>
Classes | |
struct | BoundsExpander |
Expands a valid bounding box to contain a point (one coordinate at once). More... | |
struct | NewBounds |
Creates bounds containing one value. More... | |
Public Types | |
typedef int(KDBuilder::* | CoordChooser )(int nodeIndex, int *beginIDs, int *endIDs, int depthLeft) const |
Type for a method that chooses which coordinate to split. | |
Public Member Functions | |
int | choosePrecise (int nodeIndex, int *beginIDs, int *endIDs, int) const |
CoordChooser choosing the longest coordinate of the bounding box of the current interval. | |
int | chooseFast (int, int *, int *, int depthLeft) const |
CoordChooser choosing the coordinate only according to the depth. | |
int | chooseRand (int, int *, int *, int) const |
CoordChooser choosing a random coordinate. | |
int | chooseApprox (int nodeIndex, int *, int *, int depthLeft) const |
CoordChooser - like choosePrecise, but doesn't compute the real bounding box, only approximates it by splitting the parent's box (a little less accurate, but much faster). | |
Static Public Member Functions | |
static Tree * | makeTree (const T *data, int length, int count, CoordChooser chooser) |
Builds a KDTree from count vectors of length length stored in data , splitting the nodes by chooser CoordChooser. | |
Protected Member Functions | |
void | getBounds (Bounds boundsRes) const |
Computes the bounding box of count vectors with length length stored in data. | |
void | getBounds (const int *beginIDs, const int *endIDs, Bounds boundsRes) const |
Like getBounds, but it only works on vectors with indices from [beginIDs ;endIDs ) instead of [0,count), boundsRes should be preallocated to store the result. | |
void | buildNode (int nodeIndex, int *beginIDs, int *endIDs, int depthLeft) |
Recursively builds node nodeIndex and its subtree of depth depthLeft (including leaves), operates on data data in the range [beginIDs ,endIDs ). |
Definition at line 277 of file kdTree.h.
void KDBuilder< T >::getBounds | ( | Bounds | boundsRes | ) | const [inline, protected] |
Computes the bounding box of count vectors with length length stored in data.
The vectors in data are stored linearly, boundsRes
should be preallocated
Definition at line 322 of file kdTree.h.
References FieldMath::transform2().