10#include <gtsam_points/ann/nearest_neighbor_search.hpp>
12namespace gtsam_points {
14template <
typename Po
intCloud,
typename Projection>
16struct AxisAlignedProjection;
23 using Index = UnsafeKdTree<KdTree, AxisAlignedProjection>;
25 KdTree(
const Eigen::Vector4d* points,
int num_points,
int build_num_threads = 1);
39 double max_sq_dist = std::numeric_limits<double>::max())
const override;
55 std::vector<size_t>& indices,
56 std::vector<double>& sq_dists,
57 int max_num_neighbors = std::numeric_limits<int>::max())
const override;
61 const Eigen::Vector4d* points;
65 std::unique_ptr<Index> index;
KdTree-based nearest neighbor search.
Definition kdtree.hpp:21
virtual size_t radius_search(const double *pt, double radius, std::vector< size_t > &indices, std::vector< double > &sq_dists, int max_num_neighbors=std::numeric_limits< int >::max()) const override
Radius search.
virtual size_t knn_search(const double *pt, size_t k, size_t *k_indices, double *k_sq_dists, double max_sq_dist=std::numeric_limits< double >::max()) const override
Find k nearest neighbors.
Nearest neighbor search interface.
Definition nearest_neighbor_search.hpp:16