37#ifndef _msh2DirPDTreeBase_h
38#define _msh2DirPDTreeBase_h
75#ifdef DebugDirPDTree2D
97#ifdef DebugDirPDTree2D
100 debugFile = fopen(
"./debugDirPDTree.txt",
"w");
101 debugFile2 = fopen(
"./debugDirPDTree2.txt",
"w");
123 vct2 &closestPoint,
vct2 &closestPointNorm,
126 unsigned int &numNodesSearched);
Definition msh2AlgDirPDTree.h:47
Definition msh2BoundingBox.h:46
int treeDepth
Definition msh2DirPDTreeBase.h:84
int * DataIndices
Definition msh2DirPDTreeBase.h:81
msh2DirPDTreeBase()
Definition msh2DirPDTreeBase.h:91
void PrintTerminalNodes(std::ofstream &fs)
msh2AlgDirPDTree * algorithm
Definition msh2DirPDTreeBase.h:71
virtual void EnlargeBounds(int datum, msh2BoundingBox &BB) const =0
int FastInitializeProximalDatum(const vct2 &v, const vct2 &n, vct2 &proxPoint, vct2 &proxNorm)
size_t NumData() const
Definition msh2DirPDTreeBase.h:134
void SetSearchAlgorithm(msh2AlgDirPDTree *alg)
Definition msh2DirPDTreeBase.h:115
int ValidateClosestDatum(const vct2 &v, const vct2 &n, vct2 &closestPoint, vct2 &closestPointNorm)
int FindClosestDatum(const vct2 &v, const vct2 &n, vct2 &closestPoint, vct2 &closestPointNorm, int prevDatum, double &matchError, unsigned int &numNodesSearched)
int FindTerminalNode(int datum, msh2DirPDTreeNode **termNode)
virtual vct2 DatumSortPoint(int datum) const =0
friend class msh2DirPDTreeNode
Definition msh2DirPDTreeBase.h:63
int TreeDepth() const
Definition msh2DirPDTreeBase.h:136
msh2DirPDTreeNode * Top
Definition msh2DirPDTreeBase.h:80
size_t NumNodes() const
Definition msh2DirPDTreeBase.h:135
virtual ~msh2DirPDTreeBase()
Definition msh2DirPDTreeBase.h:113
virtual vct2 DatumNorm(int datum) const =0
size_t NNodes
Definition msh2DirPDTreeBase.h:83
size_t NData
Definition msh2DirPDTreeBase.h:82
virtual void EnlargeBounds(const vctFrm2 &F, int datum, msh2BoundingBox &BB) const =0
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Macros to export the symbols of cisstMesh (in a Dll).
vctFixedSizeVector< double, 2 > vct2
Definition vctFixedSizeVectorTypes.h:41