Template Class SearchTreeFlann

Inheritance Relationships

Base Type

Class Documentation

template<typename BaseVecT>
class SearchTreeFlann : public lvr2::SearchTree<BaseVecT>

SearchClass for point data.

 This class uses the FLANN ( http://www.cs.ubc.ca/~mariusm/uploads/FLANN )
 library to implement a nearest neighbour search for point-data.

Public Functions

SearchTreeFlann(PointBufferPtr buffer)

Takes the point-data and initializes the underlying searchtree.

Parameters:

buffer – A PointBuffer point that holds the data.

virtual int kSearch(const BaseVecT &qp, int k, vector<size_t> &indices, vector<CoordT> &distances) const override

See interface documentation.

virtual int radiusSearch(const BaseVecT &qp, int k, float r, vector<size_t> &indices, vector<CoordT> &distances) const override

See interface documentation.

void kSearchMany(const BaseVecT *query, int n, int k, size_t *indices, CoordT *distances) const

Protected Attributes

unique_ptr<flann::Index<flann::L2_Simple<CoordT>>> m_tree

The FLANN search tree structure.

boost::shared_array<CoordT> m_data