37#ifndef _msh3PDTreeNode_h
38#define _msh3PDTreeNode_h
50#define ENABLE_PDTREE_NOISE_MODEL
77#ifdef ENABLE_PDTREE_NOISE_MODEL
130 unsigned int &numNodesVisited,
131 unsigned int &numNodesSearched);
135 const double boundingDistance,
137 std::vector<int> &faceIdx);
152 assert(i >= 0 && i <
NData);
157 assert(i >= 0 && i <
NData);
168 for (
int i = 0; i <
NData; i++) {
Definition msh3PDTreeBase.h:55
vct3 EigRankMin
Definition msh3PDTreeNode.h:83
int & Datum(int i)
Definition msh3PDTreeNode.h:155
msh3PDTreeNode(double)
Definition msh3PDTreeNode.h:107
bool bUseParentEigMaxBound
Definition msh3PDTreeNode.h:85
msh3PDTreeNode(int *pDataIndexArray, int numIndexes, msh3PDTreeBase *pTree, msh3PDTreeNode *pParent)
msh3PDTreeNode * pParent
Definition msh3PDTreeNode.h:67
msh3BoundingBox Bounds
Definition msh3PDTreeNode.h:75
vctFrm3 ComputeCovFrame(int i0, int i1)
int Datum(int i) const
Definition msh3PDTreeNode.h:150
int NData
Definition msh3PDTreeNode.h:71
int NumData() const
Definition msh3PDTreeNode.h:139
vct3 * pEigRankMin
Definition msh3PDTreeNode.h:94
void AccumulateCentroid(int datum, vct3 &sum) const
bool bUseParentEigRankMinBounds
Definition msh3PDTreeNode.h:89
vctFrm3 F
Definition msh3PDTreeNode.h:74
double EigMax
Definition msh3PDTreeNode.h:82
int ConstructSubtree(int CountThresh, double DiagThresh)
msh3PDTreeNode * pMore
Definition msh3PDTreeNode.h:68
bool NodeContainsDatum(int datum)
Definition msh3PDTreeNode.h:166
msh3PDTreeNode * pLEq
Definition msh3PDTreeNode.h:68
int myDepth
Definition msh3PDTreeNode.h:72
int IsTerminalNode() const
Definition msh3PDTreeNode.h:140
int * pDataIndices
Definition msh3PDTreeNode.h:70
void AccumulateVariances(int datum, const vct3 &mean, vctDouble3x3 &C) const
int FindTerminalNode(int datum, msh3PDTreeNode **termNode)
msh3PDTreeBase * pMyTree
Definition msh3PDTreeNode.h:66
double * pEigMax
Definition msh3PDTreeNode.h:93
void FindIntersectedPoints(const vct3 &v, const double boundingDistance, msh3Mesh &mesh, std::vector< int > &faceIdx)
msh3PDTreeNode * GetChildSplitNode(const vct3 &datumPos)
int FindClosestDatum(const vct3 &v, vct3 &closestPoint, double &ErrorBound, unsigned int &numNodesVisited, unsigned int &numNodesSearched)
void PrintTerminalNodes(std::ofstream &fs)
#define CISST_EXPORT
Definition cmnExportMacros.h:50
vctBoundingBox3 msh3BoundingBox
Definition msh3BoundingBox.h:42
#define ENABLE_PDTREE_NOISE_MODEL
Definition msh3PDTreeNode.h:50
Macros to export the symbols of cisstMesh (in a Dll).
Forward declarations and #define for cisstMesh.
vctFixedSizeMatrix< double, 3, 3 > vctDouble3x3
Definition vctFixedSizeMatrixTypes.h:58
vctFixedSizeVector< double, 3 > vct3
Definition vctFixedSizeVectorTypes.h:46