41 #ifndef PCL_KDTREE_KDTREE_FLANN_H_
42 #define PCL_KDTREE_KDTREE_FLANN_H_
44 #include <pcl/kdtree/kdtree.h>
51 template <
typename T>
class Index;
57 template <
typename T>
class PointRepresentation;
65 template <
typename Po
intT,
typename Dist = ::flann::L2_Simple<
float> >
86 typedef boost::shared_ptr<KdTreeFLANN<PointT> >
Ptr;
87 typedef boost::shared_ptr<const KdTreeFLANN<PointT> >
ConstPtr;
108 flann_index_ = k.flann_index_;
110 index_mapping_ = k.index_mapping_;
111 identity_mapping_ = k.identity_mapping_;
113 total_nr_points_ = k.total_nr_points_;
114 param_k_ = k.param_k_;
115 param_radius_ = k.param_radius_;
161 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances)
const;
181 std::vector<float> &k_sqr_distances,
unsigned int max_nn = 0)
const;
193 convertCloudToArray (
const PointCloud &cloud);
201 convertCloudToArray (
const PointCloud &cloud,
const std::vector<int> &indices);
206 getName ()
const {
return (
"KdTreeFLANN"); }
209 boost::shared_ptr<FLANNIndex> flann_index_;
215 std::vector<int> index_mapping_;
218 bool identity_mapping_;
224 int total_nr_points_;
227 boost::shared_ptr<flann::SearchParams> param_k_;
230 boost::shared_ptr<flann::SearchParams> param_radius_;
234 #ifdef PCL_NO_PRECOMPILE
235 #include <pcl/kdtree/impl/kdtree_flann.hpp>