37#ifndef _msh2DirPDTreeNode_h
38#define _msh2DirPDTreeNode_h
97 int *pDataIndexArray,
size_t numIndexes,
99 bool bComputeOBB =
true,
unsigned int splitDimension = 0);
119 vct2 &closestPoint,
vct2 &closestPointNorm,
121 unsigned int &numNodesVisited,
122 unsigned int &numNodesSearched);
136#ifdef DEBUG_DirPDTree2dNode
137 assert(i >= 0 && i <
NData);
144#ifdef DEBUG_DirPDTree2dNode
145 assert(i >= 0 && i <
NData);
168 for (
size_t i = 0; i <
NData; i++) {
Definition msh2BoundingBox.h:46
Definition msh2DirPDTreeBase.h:51
void PrintTerminalNodes(std::ofstream &fs)
vct2x2 posCov
Definition msh2DirPDTreeNode.h:80
vct2 Navg
Definition msh2DirPDTreeNode.h:81
double ComputeOrientationThetaMax(vct2 Navg)
vctFrm2 F
Definition msh2DirPDTreeNode.h:73
int FindClosestDatum(const vct2 &v, const vct2 &n, vct2 &closestPoint, vct2 &closestPointNorm, double &ErrorBound, unsigned int &numNodesVisited, unsigned int &numNodesSearched)
vctFrm2 ComputeCovFrame(vct2x2 posCov, vct2 posMean)
vct2 posSum
Definition msh2DirPDTreeNode.h:85
msh2DirPDTreeNode * GetChildSplitNode(const vct2 &datumPos)
msh2DirPDTreeNode(double)
Definition msh2DirPDTreeNode.h:102
msh2DirPDTreeNode(int *pDataIndexArray, size_t numIndexes, msh2DirPDTreeBase *pTree, msh2DirPDTreeNode *pParent, bool bComputeOBB=true, unsigned int splitDimension=0)
int IsTerminalNode() const
Definition msh2DirPDTreeNode.h:125
int Datum(int i) const
Definition msh2DirPDTreeNode.h:134
msh2BoundingBox Bounds
Definition msh2DirPDTreeNode.h:74
size_t NumData() const
Definition msh2DirPDTreeNode.h:124
msh2DirPDTreeNode * Parent
Definition msh2DirPDTreeNode.h:67
vct2 posAvg
Definition msh2DirPDTreeNode.h:79
int FindTerminalNode(int datum, msh2DirPDTreeNode **termNode)
bool NodeContainsDatum(int datum)
Definition msh2DirPDTreeNode.h:167
bool bUsingOBB
Definition msh2DirPDTreeNode.h:76
double dThetaMax
Definition msh2DirPDTreeNode.h:82
msh2DirPDTreeNode * LEq
Definition msh2DirPDTreeNode.h:71
size_t myDepth
Definition msh2DirPDTreeNode.h:70
vct2x2 covSum
Definition msh2DirPDTreeNode.h:86
vct2 Nsum
Definition msh2DirPDTreeNode.h:87
int ConstructTree(const size_t CountThresh, double DiagThresh)
msh2DirPDTreeBase * MyTree
Definition msh2DirPDTreeNode.h:66
msh2DirPDTreeNode * More
Definition msh2DirPDTreeNode.h:71
size_t NData
Definition msh2DirPDTreeNode.h:69
int * DataIndices
Definition msh2DirPDTreeNode.h:68
vct2 ComputeOrientationAverage(vct2 &Nsum)
vct2 ComputeOrientationSum()
unsigned int splitDim
Definition msh2DirPDTreeNode.h:77
int & Datum(int i)
Definition msh2DirPDTreeNode.h:142
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Macros to export the symbols of cisstMesh (in a Dll).
Forward declarations and #define for cisstMesh.
vctFixedSizeMatrix< double, 2, 2 > vct2x2
Definition vctFixedSizeMatrixTypes.h:48
vctFixedSizeVector< double, 2 > vct2
Definition vctFixedSizeVectorTypes.h:41