16 BSPTree(
const int64_t maxnodepts = 64,
const int64_t initsize = 4);
20 int64_t numPoints()
const;
23 void* getUserData(
const int64_t idx)
const;
24 void setUserData(
const int64_t idx,
void*
const data);
26 int64_t addPoint(
const Geom::Pnt& pt,
void*
const userdata = NULL);
28 void removePoint(
const int64_t idx);
29 int64_t findPoint(
const Geom::Pnt& pos)
const;
31 void findPoints(
const Geom::Sphr& sphere, std::vector<int64_t>& array)
const;
32 int64_t findClosest(
const Geom::Sphr& sphere, std::vector<int64_t>& array)
const;
33 void findPoints(
const Geom::Pnt& pnt,
const double& tol, std::vector<int64_t>& array)
const;
34 int64_t findClosest(
const Geom::Pnt& pnt,
const double& tol, std::vector<int64_t>& array)
const;
35 int64_t findClosest(
const Geom::Pnt& pnt,
const double& tol)
const;
37 static void removeFast(std::vector<int64_t>& array, int64_t idx);
38 static void removeFast(std::vector<Geom::Pnt>& array, int64_t idx);
39 static void removeFast(std::vector<void*>& array, int64_t idx);
41 bool operator==(
const BSPTree& other)
const;
45 friend class base_bspnode;
46 std::vector<Geom::Pnt> pointsArray;
47 std::vector<void*> userdataArray;
48 base_bspnode* topnode;
49 int64_t maxnodepoints;
LX_GEOM_EXPORT Point getPoint(const Geom::Pnt &p)
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:43
Defines a non-persistent Sphere in 3D space.
Definition: Sphr.h:9