A nearest neighbors datastructure that uses linear search. More...
#include <hpp/fcl/knn/nearest_neighbors_linear.h>
Public Member Functions | |
NearestNeighborsLinear (void) | |
virtual | ~NearestNeighborsLinear (void) |
virtual void | clear (void) |
Clear the datastructure. More... | |
virtual void | add (const _T &data) |
Add an element to the datastructure. More... | |
virtual void | add (const std::vector< _T > &data) |
Add a vector of points. More... | |
virtual bool | remove (const _T &data) |
Remove an element from the datastructure. More... | |
virtual _T | nearest (const _T &data) const |
Get the nearest neighbor of a point. More... | |
virtual void | nearestK (const _T &data, std::size_t k, std::vector< _T > &nbh) const |
Get the k-nearest neighbors of a point. More... | |
virtual void | nearestR (const _T &data, double radius, std::vector< _T > &nbh) const |
Get the nearest neighbors of a point, within a specified radius. More... | |
virtual std::size_t | size (void) const |
Get the number of elements in the datastructure. More... | |
virtual void | list (std::vector< _T > &data) const |
Get all the elements in the datastructure. More... | |
![]() | |
NearestNeighbors (void) | |
virtual | ~NearestNeighbors (void) |
virtual void | setDistanceFunction (const DistanceFunction &distFun) |
Set the distance function to use. More... | |
const DistanceFunction & | getDistanceFunction (void) const |
Get the distance function used. More... | |
Protected Attributes | |
std::vector< _T > | data_ |
The data elements stored in this structure. More... | |
![]() | |
DistanceFunction | distFun_ |
The used distance function. More... | |
Additional Inherited Members | |
![]() | |
typedef boost::function < double(const _T &, const _T &)> | DistanceFunction |
The definition of a distance function. More... | |
A nearest neighbors datastructure that uses linear search.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Add an element to the datastructure.
Implements fcl::NearestNeighbors< _T >.
Reimplemented in fcl::NearestNeighborsSqrtApprox< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
Referenced by fcl::NearestNeighborsSqrtApprox< _T >::add().
|
inlinevirtual |
Add a vector of points.
Reimplemented from fcl::NearestNeighbors< _T >.
Reimplemented in fcl::NearestNeighborsSqrtApprox< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
|
inlinevirtual |
Clear the datastructure.
Implements fcl::NearestNeighbors< _T >.
Reimplemented in fcl::NearestNeighborsSqrtApprox< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
Referenced by fcl::NearestNeighborsSqrtApprox< _T >::clear().
|
inlinevirtual |
Get all the elements in the datastructure.
Implements fcl::NearestNeighbors< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
|
inlinevirtual |
Get the nearest neighbor of a point.
Implements fcl::NearestNeighbors< _T >.
Reimplemented in fcl::NearestNeighborsSqrtApprox< _T >.
References fcl::NearestNeighborsLinear< _T >::data_, fcl::distance(), and fcl::NearestNeighbors< _T >::distFun_.
|
inlinevirtual |
Get the k-nearest neighbors of a point.
Implements fcl::NearestNeighbors< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
|
inlinevirtual |
Get the nearest neighbors of a point, within a specified radius.
Implements fcl::NearestNeighbors< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
|
inlinevirtual |
Remove an element from the datastructure.
Implements fcl::NearestNeighbors< _T >.
Reimplemented in fcl::NearestNeighborsSqrtApprox< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
Referenced by fcl::NearestNeighborsSqrtApprox< _T >::remove().
|
inlinevirtual |
Get the number of elements in the datastructure.
Implements fcl::NearestNeighbors< _T >.
References fcl::NearestNeighborsLinear< _T >::data_.
Referenced by fcl::NearestNeighborsSqrtApprox< _T >::nearest(), and fcl::NearestNeighborsSqrtApprox< _T >::updateCheckCount().
|
protected |
The data elements stored in this structure.
Referenced by fcl::NearestNeighborsLinear< _T >::add(), fcl::NearestNeighborsLinear< _T >::clear(), fcl::NearestNeighborsLinear< _T >::list(), fcl::NearestNeighborsLinear< _T >::nearest(), fcl::NearestNeighborsLinear< _T >::nearestK(), fcl::NearestNeighborsLinear< _T >::nearestR(), fcl::NearestNeighborsLinear< _T >::remove(), and fcl::NearestNeighborsLinear< _T >::size().