Go to the documentation of this file. 1 #ifndef __AAKDTREE_HEADER__
2 #define __AAKDTREE_HEADER__
8 #include <GfxTL/Intersect.h>
15 template<
class Po
int,
class Base >
34 unsigned int Axis()
const;
35 void Axis(
unsigned int axis);
43 template<
class Strategies >
45 :
public Strategies::StrategyBase
51 typename Strategies::PointType,
52 typename Strategies::CellData
54 typename Strategies::PointType
64 typename Strategies::CellData
71 typedef typename Strategies::StrategyBase
78 typename Strategies::CellData
85 typedef typename StrategyBaseType::HandleType
HandleType;
86 typedef ::GfxTL::NearestNeighbor< ScalarType >
NN;
91 std::vector< size_t >* points)
const;
93 std::vector< size_t >* points)
const;
95 std::vector< size_t >* points)
const;
100 std::vector< NN >* neighbors,
109 unsigned int k, std::vector< NN >* neighbors,
113 ScalarType radius, std::vector< size_t >* points)
const;
115 ScalarType radius, std::vector< HandleType >* points)
const;
116 bool ShouldSubdivide(
const CellType* cell)
const;
AAKdCell< Point, Base > ThisType
Strategies::StrategyBase< BaseTree< AAKdCell< typename Strategies::PointType, typename Strategies::CellData< typename Strategies::PointType > > > > StrategyBaseType
void KNearestNeighbors(const PointType &p, unsigned int k, std::vector< NN > *neighbors, ScalarType *dist) const
AAKdCell< typename Strategies::PointType, typename Strategies::CellData< typename Strategies::PointType > > CellType
::GfxTL::NearestNeighbor< ScalarType > NN
Point::ScalarType ScalarType
CellType::PointType PointType
CellType::ScalarType ScalarType
void RefreshWithNewTreeData(const AACube< PointType > &bc)
void Child(unsigned int index, ThisType *child)
void PointsInSphere(const PointType ¢er, ScalarType radius, std::vector< size_t > *points) const
const ThisType * operator[](unsigned int index) const
unsigned int Axis() const
void NearestNeighbor(const PointType &p, size_t *neighbor, ScalarType *dist) const
StrategyBaseType::HandleType HandleType
void PointsInAACube(const AACube< PointType > &cube, std::vector< size_t > *points) const
std::vector< std::string > split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)