Go to the documentation of this file. 1 #ifndef __AAKDTREE_HEADER__
2 #define __AAKDTREE_HEADER__
10 #include <GfxTL/Intersect.h>
16 template <
class Po
int,
class Base>
38 unsigned int Axis()
const;
39 void Axis(
unsigned int axis);
47 template <
class Strategies>
49 public Strategies::StrategyBase<
50 BaseTree<AAKdCell<typename Strategies::PointType,
51 typename Strategies::CellData<typename Strategies::PointType>>>>
55 typename Strategies::CellData<typename Strategies::PointType>>
59 typedef typename Strategies::StrategyBase<
61 typename Strategies::CellData<typename Strategies::PointType>>>>
63 typedef typename StrategyBaseType::HandleType
HandleType;
64 typedef ::GfxTL::NearestNeighbor<ScalarType>
NN;
74 std::vector<size_t>* points)
const;
78 std::vector<size_t>* points)
const;
83 std::vector<NN>* neighbors,
96 std::vector<NN>* neighbors,
103 std::vector<size_t>* points)
const;
107 std::vector<HandleType>* points)
const;
108 bool ShouldSubdivide(
const CellType* cell)
const;
Strategies::StrategyBase< BaseTree< AAKdCell< typename Strategies::PointType, typename Strategies::CellData< typename Strategies::PointType > > > > StrategyBaseType
::GfxTL::NearestNeighbor< ScalarType > NN
AAKdCell< Point, Base > ThisType
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
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)