8#include <gtsam_points/ann/nearest_neighbor_search.hpp>
13template <
class T,
class DataSource,
typename _DistanceType>
16template <
typename Distance,
class DatasetAdaptor,
int DIM,
typename IndexType>
21namespace gtsam_points {
38 IntensityKdTree(
const Eigen::Vector4d* points,
const double* intensities,
int num_points,
double intensity_scale = 1.0);
41 inline size_t kdtree_get_point_count()
const {
return num_points; }
42 inline double kdtree_get_pt(
const size_t idx,
const size_t dim)
const {
44 return points[idx][dim];
46 return intensities[idx] * intensity_scale;
51 bool kdtree_get_bbox(BBox&)
const {
60 double max_sq_dist = std::numeric_limits<double>::max())
const override;
64 const double* intensities;
65 const Eigen::Vector4d* points;
66 const double intensity_scale;
70 std::unique_ptr<Index> index;
Definition intensity_kdtree.hpp:17
Definition intensity_kdtree.hpp:14
KdTree on intensity augmented coordinates. This class concatenates point coordinates (x,...
Definition intensity_kdtree.hpp:27
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
k-nearest neighbor search
IntensityKdTree(const Eigen::Vector4d *points, const double *intensities, int num_points, double intensity_scale=1.0)
Constructor.
Nearest neighbor search interface.
Definition nearest_neighbor_search.hpp:16