56 #define RootOf(T) ((T)->Root.Left->Data) 68 KDTREE *Tree,
float Query[],
int QuerySize,
float MaxDistance,
69 int *NumberOfResults,
void **NBuffer,
float DBuffer[]);
89 KDNODE *SubTree, int32_t Level);
void Walk(KDTREE *tree, void_proc action, void *context, KDNODE *SubTree, int32_t Level)
int QueryInSearch(KDTREE *tree)
void InsertNodes(KDTREE *tree, KDNODE *nodes)
void FreeKDNode(KDNODE *Node)
float ComputeDistance(int k, PARAM_DESC *dim, float p1[], float p2[])
void KDWalk(KDTREE *Tree, void_proc Action, void *context)
float DistanceSquared(int k, PARAM_DESC *dim, float p1[], float p2[])
KDNODE * MakeKDNode(KDTREE *tree, float Key[], void *Data, int Index)
void FreeKDTree(KDTREE *Tree)
KDTREE * MakeKDTree(int16_t KeySize, const PARAM_DESC KeyDesc[])
void KDStore(KDTREE *Tree, float *Key, void *Data)
void KDDelete(KDTREE *Tree, float Key[], void *Data)
void FreeSubTree(KDNODE *SubTree)
void KDNearestNeighborSearch(KDTREE *Tree, float Query[], int QuerySize, float MaxDistance, int *NumberOfResults, void **NBuffer, float DBuffer[])