Wrapper class for nearest neighbor data structures in the FLANN library. More...
#include <ompl/datastructures/NearestNeighborsFLANN.h>

Public Member Functions | |
| NearestNeighborsFLANN (std::shared_ptr< flann::IndexParams > params) | |
| void | clear () override |
| Clear the datastructure. | |
| bool | reportsSortedResults () const override |
| Return true if the solutions reported by this data structure are sorted, when calling nearestK / nearestR. | |
| void | setDistanceFunction (const typename NearestNeighbors< _T >::DistanceFunction &distFun) override |
| void | add (const _T &data) override |
| Add an element to the datastructure. | |
| void | add (const std::vector< _T > &data) override |
| Add a vector of points. | |
| bool | remove (const _T &data) override |
| Remove an element from the datastructure. | |
| _T | nearest (const _T &data) const override |
| Get the nearest neighbor of a point. | |
| void | nearestK (const _T &data, std::size_t k, std::vector< _T > &nbh) const override |
| Return the k nearest neighbors in sorted order if searchParams_.sorted==true (the default). | |
| void | nearestR (const _T &data, double radius, std::vector< _T > &nbh) const override |
Return the nearest neighbors within distance radius in sorted order if searchParams_.sorted==true (the default). | |
| std::size_t | size () const override |
| Get the number of elements in the datastructure. | |
| void | list (std::vector< _T > &data) const override |
| Get all the elements in the datastructure. | |
| virtual void | setIndexParams (const std::shared_ptr< flann::IndexParams > ¶ms) |
| Set the FLANN index parameters. | |
| virtual const std::shared_ptr< flann::IndexParams > & | getIndexParams () const |
| Get the FLANN parameters used to build the current index. | |
| virtual void | setSearchParams (const flann::SearchParams &searchParams) |
| Set the FLANN parameters to be used during nearest neighbor searches. | |
| flann::SearchParams & | getSearchParams () |
| Get the FLANN parameters used during nearest neighbor searches. | |
| const flann::SearchParams & | getSearchParams () const |
| Get the FLANN parameters used during nearest neighbor searches. | |
| unsigned int | getContainerSize () const |
| Public Member Functions inherited from ompl::NearestNeighbors< _T > | |
| virtual void | setDistanceFunction (const DistanceFunction &distFun) |
| Set the distance function to use. | |
| const DistanceFunction & | getDistanceFunction () const |
| Get the distance function used. | |
Protected Member Functions | |
| void | createIndex (const flann::Matrix< _T > &mat) |
| Internal function to construct nearest neighbor data structure with initial elements stored in mat. | |
| void | rebuildIndex (unsigned int capacity=0) |
| Rebuild the nearest neighbor data structure (necessary when changing the distance function or index parameters). | |
| void | createIndex (const flann::Matrix< double > &mat) |
Protected Attributes | |
| std::vector< _T > | data_ |
| vector of data stored in FLANN's index. FLANN only indexes references, so we need store the original data. | |
| flann::Index< _Dist > * | index_ |
| The FLANN index (the actual index type depends on params_). | |
| std::shared_ptr< flann::IndexParams > | params_ |
| The FLANN index parameters. This contains both the type of index and the parameters for that type. | |
| flann::SearchParams | searchParams_ |
| The parameters used to seach for nearest neighbors. | |
| unsigned int | dimension_ |
| If each element has an array-like structure that is exposed to FLANN, then the dimension_ needs to be set to the length of this array. | |
| Protected Attributes inherited from ompl::NearestNeighbors< _T > | |
| DistanceFunction | distFun_ |
| The used distance function. | |
Additional Inherited Members | |
| Public Types inherited from ompl::NearestNeighbors< _T > | |
| using | DistanceFunction = std::function<double(const _T &, const _T &)> |
| The definition of a distance function. | |
Detailed Description
class ompl::NearestNeighborsFLANN< _T, _Dist >
Wrapper class for nearest neighbor data structures in the FLANN library.
See: M. Muja and D.G. Lowe, "Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration", in International Conference on Computer Vision Theory and Applications (VISAPP'09), 2009. https://github.com/mariusmuja/flann
Definition at line 87 of file NearestNeighborsFLANN.h.
Constructor & Destructor Documentation
◆ NearestNeighborsFLANN()
|
inline |
Definition at line 90 of file NearestNeighborsFLANN.h.
◆ ~NearestNeighborsFLANN()
|
inlineoverride |
Definition at line 95 of file NearestNeighborsFLANN.h.
Member Function Documentation
◆ add() [1/2]
|
inlineoverridevirtual |
Add an element to the datastructure.
Implements ompl::NearestNeighbors< _T >.
Definition at line 122 of file NearestNeighborsFLANN.h.
◆ add() [2/2]
|
inlineoverridevirtual |
Add a vector of points.
Reimplemented from ompl::NearestNeighbors< _T >.
Definition at line 137 of file NearestNeighborsFLANN.h.
◆ clear()
|
inlineoverridevirtual |
Clear the datastructure.
Implements ompl::NearestNeighbors< _T >.
Definition at line 101 of file NearestNeighborsFLANN.h.
◆ createIndex() [1/2]
|
inlineprotected |
Internal function to construct nearest neighbor data structure with initial elements stored in mat.
Definition at line 283 of file NearestNeighborsFLANN.h.
◆ createIndex() [2/2]
|
inlineprotected |
Definition at line 325 of file NearestNeighborsFLANN.h.
◆ getContainerSize()
|
inline |
Definition at line 275 of file NearestNeighborsFLANN.h.
◆ getIndexParams()
|
inlinevirtual |
Get the FLANN parameters used to build the current index.
Definition at line 249 of file NearestNeighborsFLANN.h.
◆ getSearchParams() [1/2]
|
inline |
Get the FLANN parameters used during nearest neighbor searches.
Definition at line 263 of file NearestNeighborsFLANN.h.
◆ getSearchParams() [2/2]
|
inline |
Get the FLANN parameters used during nearest neighbor searches.
Definition at line 270 of file NearestNeighborsFLANN.h.
◆ list()
|
inlineoverridevirtual |
Get all the elements in the datastructure.
Implements ompl::NearestNeighbors< _T >.
Definition at line 223 of file NearestNeighborsFLANN.h.
◆ nearest()
|
inlineoverridevirtual |
Get the nearest neighbor of a point.
Implements ompl::NearestNeighbors< _T >.
Definition at line 178 of file NearestNeighborsFLANN.h.
◆ nearestK()
|
inlineoverridevirtual |
Return the k nearest neighbors in sorted order if searchParams_.sorted==true (the default).
Implements ompl::NearestNeighbors< _T >.
Definition at line 193 of file NearestNeighborsFLANN.h.
◆ nearestR()
|
inlineoverridevirtual |
Return the nearest neighbors within distance radius in sorted order if searchParams_.sorted==true (the default).
Implements ompl::NearestNeighbors< _T >.
Definition at line 206 of file NearestNeighborsFLANN.h.
◆ rebuildIndex()
|
inlineprotected |
Rebuild the nearest neighbor data structure (necessary when changing the distance function or index parameters).
Definition at line 291 of file NearestNeighborsFLANN.h.
◆ remove()
|
inlineoverridevirtual |
Remove an element from the datastructure.
Implements ompl::NearestNeighbors< _T >.
Definition at line 161 of file NearestNeighborsFLANN.h.
◆ reportsSortedResults()
|
inlineoverridevirtual |
Return true if the solutions reported by this data structure are sorted, when calling nearestK / nearestR.
Implements ompl::NearestNeighbors< _T >.
Definition at line 111 of file NearestNeighborsFLANN.h.
◆ setDistanceFunction()
|
inlineoverride |
Definition at line 116 of file NearestNeighborsFLANN.h.
◆ setIndexParams()
|
inlinevirtual |
Set the FLANN index parameters.
The parameters determine the type of nearest neighbor data structure to be constructed.
Definition at line 242 of file NearestNeighborsFLANN.h.
◆ setSearchParams()
|
inlinevirtual |
Set the FLANN parameters to be used during nearest neighbor searches.
Definition at line 256 of file NearestNeighborsFLANN.h.
◆ size()
|
inlineoverridevirtual |
Get the number of elements in the datastructure.
Implements ompl::NearestNeighbors< _T >.
Definition at line 218 of file NearestNeighborsFLANN.h.
Member Data Documentation
◆ data_
|
protected |
vector of data stored in FLANN's index. FLANN only indexes references, so we need store the original data.
Definition at line 306 of file NearestNeighborsFLANN.h.
◆ dimension_
|
protected |
If each element has an array-like structure that is exposed to FLANN, then the dimension_ needs to be set to the length of this array.
Definition at line 321 of file NearestNeighborsFLANN.h.
◆ index_
|
protected |
The FLANN index (the actual index type depends on params_).
Definition at line 309 of file NearestNeighborsFLANN.h.
◆ params_
|
protected |
The FLANN index parameters. This contains both the type of index and the parameters for that type.
Definition at line 313 of file NearestNeighborsFLANN.h.
◆ searchParams_
|
mutableprotected |
The parameters used to seach for nearest neighbors.
Definition at line 316 of file NearestNeighborsFLANN.h.
The documentation for this class was generated from the following file:
- ompl/datastructures/NearestNeighborsFLANN.h