19 #ifndef ATOMPROBE_K3DTREE_EXACT_H 20 #define ATOMPROBE_K3DTREE_EXACT_H 62 std::vector<std::pair<Point3D,size_t> > indexedPoints;
65 std::vector<K3DNodeExact> nodes;
88 void resetPts(std::vector<Point3D> &pts,
bool clear=
true);
90 void resetPts(std::vector<IonHit> &pts,
bool clear=
true);
105 void dump(std::ostream &,
size_t depth=0,
size_t offset=-1)
const;
112 size_t findNearestUntagged(
const Point3D &queryPt,
119 float radius, std::vector<size_t> &result);
125 void ptsInSphere(
const Point3D &origin,
float radius,
126 std::vector<size_t> &pts)
const;
130 const Point3D *getPt(
size_t index)
const ;
132 const Point3D &getPtRef(
size_t index)
const ;
135 void clearTags(std::vector<size_t> &tagsToClear);
138 size_t getOrigIndex(
size_t treeIndex)
const ;
149 void clear() { nodes.clear(); indexedPoints.clear();};
152 void tag(
size_t treeIndex,
bool tagVal=
true);
154 void tag(
const std::vector<size_t> &treeIndicies,
bool tagVal=
true);
157 bool getTag(
size_t treeIndex)
const ;
166 size_t tagCount()
const;
172 static bool runUnitTests();
void setProgressPointer(unsigned int *p)
Node Class for storing point.
~K3DTreeExact()
Cleans up tree, deallocates nodes.
A 3D point data class storage.
void setCallback(bool(*cb)(void))
Helper class to define a bounding cube.