18#ifndef _KDTREE_KDTREE_H_
19#define _KDTREE_KDTREE_H_
37 static double getCoord(
const T& t,
size_t index);
46 static bool isCloserThan(
const T& a,
const T& b,
double distance);
55 static bool isCloserThan(
const T& a,
const T& b,
double distance);
67template <
typename T,
typename DistanceMethod = Eucl
ideanDistance<T>>
80 std::vector<T> findPointsWithinRadius(
const T& coord,
double radius)
const;
88 std::size_t countPointsWithinRadius(
const T& coord,
double radius)
const;
116template <
typename U, std::
size_t S>
std::shared_ptr< Node > m_root
std::size_t m_dimensionality
static bool isCloserThan(const T &a, const T &b, double distance)
static bool isCloserThan(const T &a, const T &b, double distance)
static std::size_t getDimensions(const std::array< U, S > &t)
static double getCoord(const std::array< U, S > &t, size_t index)
static double getCoord(const std::vector< U > &t, size_t index)
static std::size_t getDimensions(const std::vector< U > &t)
static double getCoord(const T &t, size_t index)
static std::size_t getDimensions(const T &t)