|
| KDTreeEigenMatrixAdaptor (const size_t 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. More...
|
|
| KDTreeEigenMatrixAdaptor (const self_t &)=delete |
|
void | query (const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq, const int=10) const |
|
|
const self_t & | derived () const |
|
self_t & | derived () |
|
size_t | 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 |
|
template<class MatrixType, int DIM = -1, class Distance = nanoflann::metric_L2, bool row_major = true>
struct nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major >
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:
Eigen::Matrix<num_t,Dynamic,Dynamic> mat;
typedef KDTreeEigenMatrixAdaptor< Eigen::Matrix<num_t,Dynamic,Dynamic> >
my_kd_tree_t; const int max_leaf = 10; my_kd_tree_t mat_index(mat, max_leaf
); mat_index.index->buildIndex(); mat_index.index->...
- Template Parameters
-
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. |