Public Member Functions | Protected Attributes | Private Types | List of all members
lvr2::SearchTreeFlann< BaseVecT > Class Template Reference

SearchClass for point data. More...

#include <SearchTreeFlann.hpp>

Inheritance diagram for lvr2::SearchTreeFlann< BaseVecT >:
Inheritance graph
[legend]

Public Member Functions

virtual int kSearch (const BaseVecT &qp, int k, vector< size_t > &indices, vector< CoordT > &distances) const override
 See interface documentation. More...
 
void kSearchMany (const BaseVecT *query, int n, int k, size_t *indices, CoordT *distances) const
 
virtual void radiusSearch (const BaseVecT &qp, CoordT r, vector< size_t > &indices) const override
 See interface documentation. More...
 
 SearchTreeFlann (PointBufferPtr buffer)
 Takes the point-data and initializes the underlying searchtree. More...
 
- Public Member Functions inherited from lvr2::SearchTree< BaseVecT >
virtual int kSearch (const BaseVecT &qp, int k, std::vector< size_t > &indices) const
 Like the other overload, but ignoring the distances vector. More...
 
virtual int kSearch (const BaseVecT &qp, int k, std::vector< size_t > &indices, std::vector< CoordT > &distances) const =0
 This function performs a k-next-neighbor search on the data that was given in the constructor. More...
 
virtual void radiusSearch (const BaseVecT &qp, CoordT r, std::vector< size_t > &indices) const =0
 Returns all points within the radius r of qp. More...
 
virtual ~SearchTree ()=default
 

Protected Attributes

boost::shared_array< CoordTm_data
 
unique_ptr< flann::Index< flann::L2_Simple< CoordT > > > m_tree
 The FLANN search tree structure. More...
 
- Protected Attributes inherited from lvr2::SearchTree< BaseVecT >
int m_kd
 The number of tangent planes used for distance determination. More...
 
int m_ki
 The number of neighbors used for normal interpolation. More...
 

Private Types

using CoordT = typename BaseVecT::CoordType
 

Detailed Description

template<typename BaseVecT>
class lvr2::SearchTreeFlann< 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.

Definition at line 60 of file SearchTreeFlann.hpp.

Member Typedef Documentation

◆ CoordT

template<typename BaseVecT >
using lvr2::SearchTreeFlann< BaseVecT >::CoordT = typename BaseVecT::CoordType
private

Definition at line 63 of file SearchTreeFlann.hpp.

Constructor & Destructor Documentation

◆ SearchTreeFlann()

template<typename BaseVecT >
lvr2::SearchTreeFlann< BaseVecT >::SearchTreeFlann ( PointBufferPtr  buffer)

Takes the point-data and initializes the underlying searchtree.

Parameters
bufferA PointBuffer point that holds the data.

Member Function Documentation

◆ kSearch()

template<typename BaseVecT >
virtual int lvr2::SearchTreeFlann< BaseVecT >::kSearch ( const BaseVecT &  qp,
int  k,
vector< size_t > &  indices,
vector< CoordT > &  distances 
) const
overridevirtual

See interface documentation.

◆ kSearchMany()

template<typename BaseVecT >
void lvr2::SearchTreeFlann< BaseVecT >::kSearchMany ( const BaseVecT *  query,
int  n,
int  k,
size_t *  indices,
CoordT distances 
) const

◆ radiusSearch()

template<typename BaseVecT >
virtual void lvr2::SearchTreeFlann< BaseVecT >::radiusSearch ( const BaseVecT &  qp,
CoordT  r,
vector< size_t > &  indices 
) const
overridevirtual

See interface documentation.

Member Data Documentation

◆ m_data

template<typename BaseVecT >
boost::shared_array<CoordT> lvr2::SearchTreeFlann< BaseVecT >::m_data
protected

Definition at line 102 of file SearchTreeFlann.hpp.

◆ m_tree

template<typename BaseVecT >
unique_ptr<flann::Index<flann::L2_Simple<CoordT> > > lvr2::SearchTreeFlann< BaseVecT >::m_tree
protected

The FLANN search tree structure.

Definition at line 100 of file SearchTreeFlann.hpp.


The documentation for this class was generated from the following file:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:27