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

Abstract interface for storing and searching through a set of points. Query functions for nearest neighbour searches are defined. More...

#include <SearchTree.hpp>

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

Public Member Functions

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

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::SearchTree< BaseVecT >

Abstract interface for storing and searching through a set of points. Query functions for nearest neighbour searches are defined.

Definition at line 50 of file SearchTree.hpp.

Member Typedef Documentation

◆ CoordT

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

Definition at line 53 of file SearchTree.hpp.

Constructor & Destructor Documentation

◆ ~SearchTree()

template<typename BaseVecT >
virtual lvr2::SearchTree< BaseVecT >::~SearchTree ( )
virtualdefault

Member Function Documentation

◆ kSearch() [1/2]

template<typename BaseVecT >
virtual int lvr2::SearchTree< BaseVecT >::kSearch ( const BaseVecT &  qp,
int  k,
std::vector< size_t > &  indices 
) const
virtual

Like the other overload, but ignoring the distances vector.

◆ kSearch() [2/2]

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

This function performs a k-next-neighbor search on the data that was given in the constructor.

Parameters
qpThe query point.
kThe number of neighbours that should be searched.
indicesA vector that stores the indices for the neighbours within the dataset.
distancesA vector that stores the distances for the neighbours that are found.
Returns
The number of neighbours found

◆ radiusSearch()

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

Returns all points within the radius r of qp.

Parameters
qpThe query point.
rRadius.
indicesA vector that will be filled with the indices of the points that were found.

Member Data Documentation

◆ m_kd

template<typename BaseVecT >
int lvr2::SearchTree< BaseVecT >::m_kd
protected

The number of tangent planes used for distance determination.

Definition at line 127 of file SearchTree.hpp.

◆ m_ki

template<typename BaseVecT >
int lvr2::SearchTree< BaseVecT >::m_ki
protected

The number of neighbors used for normal interpolation.

Definition at line 124 of file SearchTree.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