37#ifndef _msh3PDTreeBase_h
38#define _msh3PDTreeBase_h
98 debugFile = fopen(
"debugPDTree.txt",
"w");
99 debugFile2 = fopen(
"debugPDTree2.txt",
"w");
118 unsigned int &numNodesSearched);
143#ifdef ENABLE_PDTREE_NOISE_MODEL
147 virtual vct3x3& DatumCov(
int datum) = 0;
148 virtual vct3x3* DatumCovPtr(
int datum) = 0;
149 virtual vct3& DatumCovEig(
int datum) = 0;
150 virtual vct3* DatumCovEigPtr(
int datum) = 0;
155 void ComputeNodeNoiseModels();
156 void ComputeSubNodeNoiseModel(
msh3PDTreeNode *node,
bool useLocalVarsOverride);
Definition msh3AlgPDTree.h:47
msh3PDTreeBase()
Definition msh3PDTreeBase.h:92
int TreeDepth() const
Definition msh3PDTreeBase.h:128
int NData
Definition msh3PDTreeBase.h:83
void PrintTerminalNodes(std::ofstream &fs)
int FindClosestDatum(const vct3 &v, vct3 &closestPoint, int prevDatum, double &matchError, unsigned int &numNodesSearched)
int ValidateClosestDatum_ByEuclideanDist(const vct3 &v, vct3 &closestPoint)
msh3AlgPDTree * pAlgorithm
Definition msh3PDTreeBase.h:74
int NumData() const
Definition msh3PDTreeBase.h:126
int FastInitializeProximalDatum(const vct3 &v, vct3 &proxPoint)
int treeDepth
Definition msh3PDTreeBase.h:83
virtual vct3 DatumSortPoint(int datum) const =0
virtual void EnlargeBounds(const vctFrm3 &F, int datum, msh3BoundingBox &BB) const =0
friend class msh3PDTreeNode
Definition msh3PDTreeBase.h:66
int FindTerminalNode(int datum, msh3PDTreeNode **termNode)
int NumNodes() const
Definition msh3PDTreeBase.h:127
msh3PDTreeNode * Top
Definition msh3PDTreeBase.h:85
virtual ~msh3PDTreeBase()
Definition msh3PDTreeBase.h:104
int NNodes
Definition msh3PDTreeBase.h:83
int * DataIndices
Definition msh3PDTreeBase.h:84
int ValidateClosestDatum(const vct3 &v, vct3 &closestPoint)
void SetSearchAlgorithm(msh3AlgPDTree *pAlg)
Definition msh3PDTreeBase.h:108
#define CISST_EXPORT
Definition cmnExportMacros.h:50
vctBoundingBox3 msh3BoundingBox
Definition msh3BoundingBox.h:42
Macros to export the symbols of cisstMesh (in a Dll).
Forward declarations and #define for cisstMesh.
vctFixedSizeMatrix< double, 3, 3 > vct3x3
Definition vctFixedSizeMatrixTypes.h:59
vctFixedSizeVector< double, 3 > vct3
Definition vctFixedSizeVectorTypes.h:46