#include <nanoflann.hpp>
Public Types | |
typedef KDTreeEigenMatrixAdaptor < MatrixType, DIM, Distance > | self_t |
typedef MatrixType::Scalar | num_t |
typedef MatrixType::Index | IndexType |
typedef Distance::template traits< num_t, self_t > ::distance_t | metric_t |
typedef KDTreeSingleIndexAdaptor < metric_t, self_t, DIM, IndexType > | index_t |
Public Member Functions | |
KDTreeEigenMatrixAdaptor (const int dimensionality, const MatrixType &mat, const int leaf_max_size=10) | |
The kd-tree index for the user to call its methods as usual with any other FLANN index. More... | |
void | query (const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq, const int=10) const |
Interface expected by KDTreeSingleIndexAdaptor | |
const self_t & | derived () const |
self_t & | derived () |
size_t | kdtree_get_point_count () const |
num_t | kdtree_distance (const num_t *p1, const IndexType idx_p2, IndexType size) const |
num_t | kdtree_get_pt (const IndexType idx, int dim) const |
template<class BBOX > | |
bool | kdtree_get_bbox (BBOX &) const |
Public Attributes | |
index_t * | index |
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. Each row 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. |
|
inline |
The kd-tree index for the user to call its methods as usual with any other FLANN index.
Constructor: takes a const ref to the matrix object with the data points
|
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.