39 #ifndef PCL_SEARCH_FLANN_SEARCH_H_
40 #define PCL_SEARCH_FLANN_SEARCH_H_
42 #include <pcl/search/search.h>
43 #include <pcl/common/time.h>
44 #include <pcl/point_representation.h>
48 template<
typename T>
class NNIndex;
49 template<
typename T>
struct L2;
50 template<
typename T>
struct L2_Simple;
51 template<
typename T>
class Matrix;
100 template<
typename Po
intT,
typename FlannDistance=flann::L2_Simple <
float> >
108 typedef boost::shared_ptr<FlannSearch<PointT, FlannDistance> >
Ptr;
109 typedef boost::shared_ptr<const FlannSearch<PointT, FlannDistance> >
ConstPtr;
117 typedef boost::shared_ptr<flann::Matrix <float> >
MatrixPtr;
120 typedef flann::NNIndex< FlannDistance >
Index;
121 typedef boost::shared_ptr<flann::NNIndex <FlannDistance > >
IndexPtr;
167 unsigned int max_leaf_size_;
273 nearestKSearch (
const PointT &point,
int k, std::vector<int> &k_indices, std::vector<float> &k_sqr_distances)
const;
285 std::vector< std::vector<int> >& k_indices, std::vector< std::vector<float> >& k_sqr_distances)
const;
299 std::vector<int> &k_indices, std::vector<float> &k_sqr_distances,
300 unsigned int max_nn = 0)
const;
311 radiusSearch (
const PointCloud& cloud,
const std::vector<int>& indices,
double radius, std::vector< std::vector<int> >& k_indices,
312 std::vector< std::vector<float> >& k_sqr_distances,
unsigned int max_nn=0)
const;
321 dim_ = point_representation->getNumberOfDimensions ();
372 #define PCL_INSTANTIATE_FlannSearch(T) template class PCL_EXPORTS pcl::search::FlannSearch<T>;
374 #endif // PCL_SEARCH_KDTREE_H_