52template <
class VectorOfVectorsType,
typename num_t = double,
int DIM = -1,
class Distance =
nanoflann::metric_L2,
53 typename IndexType =
size_t>
57 using metric_t =
typename Distance::template traits<num_t, self_t>::distance_t;
69 const int leaf_max_size = 10)
72 assert(mat.size() != 0 && mat[0].size() != 0);
73 const size_t dims = mat[0].size();
74 if (DIM > 0 &&
static_cast<int>(dims) != DIM)
75 throw std::runtime_error(
"Data set dimensionality does not match the 'DIM' template "
90 inline void query(
const num_t* query_point,
const size_t num_closest, IndexType* out_indices,
91 num_t* out_distances_sq)
const
94 resultSet.
init(out_indices, out_distances_sq);
Definition nanoflann.hpp:1226
bool findNeighbors(RESULTSET &result, const ElementType *vec, const SearchParameters &searchParams={}) const
Definition nanoflann.hpp:1353
Definition nanoflann.hpp:148
void init(IndexType *indices_, DistanceType *dists_)
Definition nanoflann.hpp:163
Definition KDTreeVectorOfVectorsAdaptor.h:55
nanoflann::KDTreeSingleIndexAdaptor< metric_t, self_t, DIM, IndexType > index_t
Definition KDTreeVectorOfVectorsAdaptor.h:58
void query(const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq) const
Definition KDTreeVectorOfVectorsAdaptor.h:90
num_t kdtree_get_pt(const size_t idx, const size_t dim) const
Definition KDTreeVectorOfVectorsAdaptor.h:108
size_t kdtree_get_point_count() const
Definition KDTreeVectorOfVectorsAdaptor.h:105
const self_t & derived() const
Definition KDTreeVectorOfVectorsAdaptor.h:101
const VectorOfVectorsType & m_data
Definition KDTreeVectorOfVectorsAdaptor.h:83
KDTreeVectorOfVectorsAdaptor< VectorOfVectorsType, num_t, DIM, Distance > self_t
Definition KDTreeVectorOfVectorsAdaptor.h:56
typename Distance::template traits< num_t, self_t >::distance_t metric_t
Definition KDTreeVectorOfVectorsAdaptor.h:57
self_t & derived()
Definition KDTreeVectorOfVectorsAdaptor.h:102
KDTreeVectorOfVectorsAdaptor(const size_t, const VectorOfVectorsType &mat, const int leaf_max_size=10)
Definition KDTreeVectorOfVectorsAdaptor.h:68
bool kdtree_get_bbox(BBOX &) const
Definition KDTreeVectorOfVectorsAdaptor.h:115
index_t * index
Definition KDTreeVectorOfVectorsAdaptor.h:64
~KDTreeVectorOfVectorsAdaptor()
Definition KDTreeVectorOfVectorsAdaptor.h:81
Definition nanoflann.hpp:618
Definition nanoflann.hpp:566