16 std::vector<float> pt = {x, y, z};
26 const std::size_t num_results = 1;
27 std::vector<float> query_pt = {x, y, z};
30 std::vector<std::size_t> ret_indexes(num_results);
31 std::vector<float> out_dists_sqr(num_results);
35 resultSet.
init(&ret_indexes[0], &out_dists_sqr[0]);
36 kdTree->index->findNeighbors(resultSet, &query_pt[0]);
37 return ret_indexes[0];
44 std::vector<float> query_pt = {x, y, z};
47 std::vector<std::size_t> ret_indexes(k);
48 std::vector<float> out_dists_sqr(k);
52 resultSet.
init(&ret_indexes[0], &out_dists_sqr[0]);
53 kdTree->index->findNeighbors(resultSet, &query_pt[0]);
62 std::vector<float> query_pt = {x, y, z};
64 std::vector<nanoflann::ResultItem<std::size_t, float>> matches;
69 const std::size_t nMatches =
kdTree->index->radiusSearch(&query_pt[0], search_radius, matches, params);
71 std::vector<std::size_t> ret_indexes(nMatches);
72 for (std::size_t i = 0; i < nMatches; i++)
73 ret_indexes[i] = matches[i].first;
std::size_t knnQuery(float x, float y, float z)
Definition KDTree.cpp:22
std::vector< std::size_t > radiusSearch(float x, float y, float z, float search_radius)
Definition KDTree.cpp:58
void buildIndex()
Definition KDTree.cpp:20
void addDatasetItem(float x, float y, float z=0.f)
Definition KDTree.cpp:14
KDTree()
Definition KDTree.cpp:4
~KDTree()
Definition KDTree.cpp:9
myVectors dataset
Definition KDTree.h:45
std::unique_ptr< myKDTree > kdTree
Definition KDTree.h:46
Definition nanoflann.hpp:148
void init(IndexType *indices_, DistanceType *dists_)
Definition nanoflann.hpp:163
Definition AirAbsorptionFilter.cpp:2
Definition nanoflann.hpp:631
bool sorted
Definition nanoflann.hpp:635