![]() |
nanoflann
C++ header-only ANN library
|
#include <nanoflann.hpp>
Public Types | |
using | self_t = KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major > |
using | num_t = typename MatrixType::Scalar |
using | IndexType = typename MatrixType::Index |
using | metric_t = typename Distance::template traits< num_t, self_t, IndexType >::distance_t |
using | index_t = KDTreeSingleIndexAdaptor< metric_t, self_t, row_major ? MatrixType::ColsAtCompileTime :MatrixType::RowsAtCompileTime, IndexType > |
using | Offset = typename index_t::Offset |
using | Size = typename index_t::Size |
using | Dimension = typename index_t::Dimension |
Public Member Functions | |
KDTreeEigenMatrixAdaptor (const Dimension dimensionality, const std::reference_wrapper< const MatrixType > &mat, const int leaf_max_size=10) | |
Constructor: takes a const ref to the matrix object with the data points. | |
KDTreeEigenMatrixAdaptor (const self_t &)=delete | |
void | query (const num_t *query_point, const Size num_closest, IndexType *out_indices, num_t *out_distances) const |
Interface expected by KDTreeSingleIndexAdaptor | |
const self_t & | derived () const |
self_t & | derived () |
Size | kdtree_get_point_count () const |
num_t | kdtree_get_pt (const IndexType idx, size_t dim) const |
template<class BBOX > | |
bool | kdtree_get_bbox (BBOX &) const |
Public Attributes | |
index_t * | index_ |
const std::reference_wrapper< const MatrixType > | m_data_matrix |
An L2-metric KD-tree adaptor for working with data directly stored in an Eigen Matrix, without duplicating the data storage. You can select whether a row or column in the matrix represents a point in the state space.
Example of usage:
DIM | If set to >0, it specifies a compile-time fixed dimensionality for the points in the data set, allowing more compiler optimizations. |
Distance | The distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc. |
row_major | If set to true the rows of the matrix are used as the points, if set to false the columns of the matrix are used as the points. |
using nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major >::Offset = typename index_t::Offset |
The kd-tree index for the user to call its methods as usual with any other FLANN index.
|
delete |
Deleted copy constructor
|
inline |
Query for the num_closest closest points to a given point (entered as query_point[0:dim-1]). Note that this is a short-cut method for index->findNeighbors(). The user can also call index->... methods as desired.