#include <KdTree.h>
Public Member Functions | |
| void | Build (float **ppfValues, int nLow, int nHigh, int nBucketSize, int nDimensions, int nUserDataSize) |
| CKdTree (int nMaximumNumberOfNodes=10000) | |
| void | NearestNeighbor (const float *pQuery, float &fError, float *&pfNN, int nMaximumLeavesToVisit=-1) |
| void | NearestNeighbor (const float *pQuery, float &fError, CKdPriorityQueue *&pNNList, int nMaximumLeavesToVisit=-1) |
| void | NearestNeighborBBF (const float *pfQuery, float &fError, float *&pfNN, int nMaximumLeavesToVisit=-1) |
| void | NearestNeighborBBF (const float *pQuery, float &fError, CKdPriorityQueue *&pNNList, int nMaximumLeavesToVisit=-1) |
| ~CKdTree () | |
Private Member Functions | |
| CKdTreeNode * | BuildRecursive (float **ppfValues, int nLow, int nHigh, KdBoundingBox *pCurrentBoundingBox, int nCurrentDepth) |
| void | Dispose () |
| void | DisposeRecursive (CKdTreeNode *pNode) |
| void | NearestNeighborRecursive (CKdTreeNode *pNode, const float *pQuery) |
| void | NearestNeighborRecursiveBBF (CKdTreeNode *pNode, const float *pQuery, float fDistanceBB) |
Private Attributes | |
| KdBoundingBox | m_EnclosingBox |
| float | m_fCurrentMinDistance |
| int | m_nBucketSize |
| int | m_nDimensions |
| int | m_nLeaves |
| int | m_nMaximumLeavesToVisit |
| int | m_nTotalVectorSize |
| int | m_nUserDataSize |
| float * | m_pNearestNeighbor |
| CKdPriorityQueue * | m_pNearestNeighborList |
| CKdPriorityQueue * | m_pNearestNeighborList_ |
| CKdPriorityQueue * | m_pNodeListBBF |
| CKdTreeNode * | m_pRoot |
| CKdTree::CKdTree | ( | int | nMaximumNumberOfNodes = 10000 | ) |
Definition at line 90 of file KdTree.cpp.
Definition at line 108 of file KdTree.cpp.
| void CKdTree::Build | ( | float ** | ppfValues, |
| int | nLow, | ||
| int | nHigh, | ||
| int | nBucketSize, | ||
| int | nDimensions, | ||
| int | nUserDataSize | ||
| ) |
Definition at line 122 of file KdTree.cpp.
| CKdTreeNode * CKdTree::BuildRecursive | ( | float ** | ppfValues, |
| int | nLow, | ||
| int | nHigh, | ||
| KdBoundingBox * | pCurrentBoundingBox, | ||
| int | nCurrentDepth | ||
| ) | [private] |
Definition at line 138 of file KdTree.cpp.
| void CKdTree::Dispose | ( | ) | [private] |
Definition at line 231 of file KdTree.cpp.
| void CKdTree::DisposeRecursive | ( | CKdTreeNode * | pNode | ) | [private] |
Definition at line 243 of file KdTree.cpp.
| void CKdTree::NearestNeighbor | ( | const float * | pQuery, |
| float & | fError, | ||
| float *& | pfNN, | ||
| int | nMaximumLeavesToVisit = -1 |
||
| ) |
Definition at line 260 of file KdTree.cpp.
| void CKdTree::NearestNeighbor | ( | const float * | pQuery, |
| float & | fError, | ||
| CKdPriorityQueue *& | pNNList, | ||
| int | nMaximumLeavesToVisit = -1 |
||
| ) |
Definition at line 297 of file KdTree.cpp.
| void CKdTree::NearestNeighborBBF | ( | const float * | pfQuery, |
| float & | fError, | ||
| float *& | pfNN, | ||
| int | nMaximumLeavesToVisit = -1 |
||
| ) |
Definition at line 276 of file KdTree.cpp.
| void CKdTree::NearestNeighborBBF | ( | const float * | pQuery, |
| float & | fError, | ||
| CKdPriorityQueue *& | pNNList, | ||
| int | nMaximumLeavesToVisit = -1 |
||
| ) |
Definition at line 315 of file KdTree.cpp.
| void CKdTree::NearestNeighborRecursive | ( | CKdTreeNode * | pNode, |
| const float * | pQuery | ||
| ) | [private] |
Definition at line 338 of file KdTree.cpp.
| void CKdTree::NearestNeighborRecursiveBBF | ( | CKdTreeNode * | pNode, |
| const float * | pQuery, | ||
| float | fDistanceBB | ||
| ) | [private] |
Definition at line 386 of file KdTree.cpp.
KdBoundingBox CKdTree::m_EnclosingBox [private] |
float CKdTree::m_fCurrentMinDistance [private] |
int CKdTree::m_nBucketSize [private] |
int CKdTree::m_nDimensions [private] |
int CKdTree::m_nLeaves [private] |
int CKdTree::m_nMaximumLeavesToVisit [private] |
int CKdTree::m_nTotalVectorSize [private] |
int CKdTree::m_nUserDataSize [private] |
float* CKdTree::m_pNearestNeighbor [private] |
CKdPriorityQueue* CKdTree::m_pNearestNeighborList [private] |
CKdPriorityQueue* CKdTree::m_pNearestNeighborList_ [private] |
CKdPriorityQueue* CKdTree::m_pNodeListBBF [private] |
CKdTreeNode* CKdTree::m_pRoot [private] |