Template Class KDTree

Nested Relationships

Nested Types

Class Documentation

template<class Id, int Dimensions, std::size_t BucketSize = 32, typename Scalar = double, typename StateSpace = Rn<Scalar, Dimensions>>
class KDTree

Public Types

using scalar_t = Scalar
using id_t = Id
using point_t = Eigen::Matrix<Scalar, Dimensions, 1>
using cref_t = const Eigen::Ref<const Eigen::Matrix<Scalar, Dimensions, 1>>&
using ref_t = Eigen::Ref<Eigen::Matrix<Scalar, Dimensions, 1>>
using state_space_t = StateSpace
using tree_t = KDTree<Id, Dimensions, BucketSize, Scalar, StateSpace>

Public Functions

inline StateSpace &getStateSpace()
KDTree() = default
inline void init_tree(int runtime_dimension = -1, const StateSpace &t_state_space = StateSpace())
inline size_t size() const
inline void addPoint(const point_t &x, const Id &id, bool autosplit = true)
inline void splitOutstanding()
inline std::vector<DistanceId> searchKnn(const point_t &x, std::size_t maxPoints) const
inline std::vector<DistanceId> searchBall(const point_t &x, Scalar maxRadius) const
inline std::vector<DistanceId> searchCapacityLimitedBall(const point_t &x, Scalar maxRadius, std::size_t maxPoints) const
inline DistanceId search(const point_t &x) const
inline void set_inactive(const point_t &x)
inline Searcher searcher() const

Public Members

int m_dimensions = Dimensions

Public Static Attributes

static const std::size_t bucketSize = BucketSize
struct DistanceId

Public Functions

inline bool operator<(const DistanceId &dp) const

Public Members

Scalar distance
Id id
class Searcher

Public Functions

inline Searcher(const tree_t &tree)
inline Searcher(const Searcher &searcher)
inline const std::vector<DistanceId> &search(const point_t &x, Scalar maxRadius, std::size_t maxPoints, const StateSpace &state_space)