37#ifndef _msh3DirPDTreeBase_h
38#define _msh3DirPDTreeBase_h
99 debugFile = fopen(
"../ICP_TestData/LastRun/debugDirPDTree.txt",
"w");
100 debugFile2 = fopen(
"../ICP_TestData/LastRun/debugDirPDTree2.txt",
"w");
117 vct3 &closestPoint,
vct3 &closestPointNorm,
120 unsigned int &numNodesSearched,
121 double currentMatchError = std::numeric_limits<double>::max());
132 vct3 &closestPoint,
vct3 &closestPointNorm);
Definition msh3AlgDirPDTree.h:47
virtual void EnlargeBounds(const vctFrm3 &F, int datum, msh3BoundingBox &BB) const =0
int FindClosestDatum(const vct3 &v, const vct3 &n, vct3 &closestPoint, vct3 &closestPointNorm, int prevDatum, double &matchError, unsigned int &numNodesSearched, double currentMatchError=std::numeric_limits< double >::max())
int NumNodes() const
Definition msh3DirPDTreeBase.h:127
int TreeDepth() const
Definition msh3DirPDTreeBase.h:128
int NNodes
Definition msh3DirPDTreeBase.h:84
int FastInitializeProximalDatum(const vct3 &v, const vct3 &n, vct3 &proxPoint, vct3 &proxNorm)
msh3DirPDTreeBase()
Definition msh3DirPDTreeBase.h:93
double ComputeDatumMatchError(const vct3 &v, const vct3 &n, int datum)
int ValidateClosestDatum(const vct3 &v, const vct3 &n, vct3 &closestPoint, vct3 &closestPointNorm)
void SetSearchAlgorithm(msh3AlgDirPDTree *pAlg)
Definition msh3DirPDTreeBase.h:109
int * DataIndices
Definition msh3DirPDTreeBase.h:85
int NumData() const
Definition msh3DirPDTreeBase.h:126
msh3AlgDirPDTree * pAlgorithm
Definition msh3DirPDTreeBase.h:75
virtual ~msh3DirPDTreeBase()
Definition msh3DirPDTreeBase.h:105
virtual vct3 DatumSortPoint(int datum)=0
friend class msh3DirPDTreeNode
Definition msh3DirPDTreeBase.h:67
int NData
Definition msh3DirPDTreeBase.h:84
virtual vct3 DatumNorm(int datum)=0
void PrintTerminalNodes(std::ofstream &fs)
msh3DirPDTreeNode * Top
Definition msh3DirPDTreeBase.h:86
int treeDepth
Definition msh3DirPDTreeBase.h:84
int FindTerminalNode(int datum, msh3DirPDTreeNode **termNode)
#define CISST_EXPORT
Definition cmnExportMacros.h:50
vctBoundingBox3 msh3BoundingBox
Definition msh3BoundingBox.h:42
Macros to export the symbols of cisstMesh (in a Dll).
vctFixedSizeVector< double, 3 > vct3
Definition vctFixedSizeVectorTypes.h:46