#include <nanoflann.hpp>
Public Types | |
typedef KDTreeSingleIndexAdaptor < metric_t, self_t, DIM, IndexType > | index_t |
typedef Distance::template traits< num_t, self_t > ::distance_t | metric_t |
typedef MatrixType::Scalar | num_t |
typedef KDTreeEigenMatrixAdaptor < MatrixType, DIM, Distance, IndexType > | self_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. | |
void | query (const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq, const int nChecks_IGNORED=10) const |
~KDTreeEigenMatrixAdaptor () | |
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 size_t idx_p2, size_t size) const |
num_t | kdtree_get_pt (const size_t idx, int dim) const |
template<class BBOX > | |
bool | kdtree_get_bbox (BBOX &bb) const |
Public Attributes | |
index_t * | index |
const MatrixType & | m_data_matrix |
Private Member Functions | |
KDTreeEigenMatrixAdaptor (const self_t &) |
A simple 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:
Eigen::Matrix<num_t,Dynamic,Dynamic> mat; // Fill out "mat"... typedef KDTreeEigenMatrixAdaptor< Eigen::Matrix<num_t,Dynamic,Dynamic> > my_kd_tree_t; const int max_leaf = 10; my_kd_tree_t mat_index(dimdim, mat, max_leaf ); mat_index.index->buildIndex(); mat_index.index->...
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. |
IndexType | The type for indices in the KD-tree index (typically, size_t of int) |
Definition at line 1369 of file nanoflann.hpp.
typedef KDTreeSingleIndexAdaptor< metric_t,self_t,DIM,IndexType> nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::index_t |
Definition at line 1374 of file nanoflann.hpp.
typedef Distance::template traits<num_t,self_t>::distance_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::metric_t |
Definition at line 1373 of file nanoflann.hpp.
typedef MatrixType::Scalar nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::num_t |
Definition at line 1372 of file nanoflann.hpp.
typedef KDTreeEigenMatrixAdaptor<MatrixType,DIM,Distance,IndexType> nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::self_t |
Definition at line 1371 of file nanoflann.hpp.
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::KDTreeEigenMatrixAdaptor | ( | const int | dimensionality, |
const MatrixType & | mat, | ||
const int | leaf_max_size = 10 |
||
) | [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
Definition at line 1379 of file nanoflann.hpp.
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::KDTreeEigenMatrixAdaptor | ( | const self_t & | ) | [private] |
Hidden copy constructor, to disallow copying this class (Not implemented)
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::~KDTreeEigenMatrixAdaptor | ( | ) | [inline] |
Definition at line 1392 of file nanoflann.hpp.
const self_t& nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::derived | ( | ) | const [inline] |
Definition at line 1413 of file nanoflann.hpp.
self_t& nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::derived | ( | ) | [inline] |
Definition at line 1416 of file nanoflann.hpp.
num_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::kdtree_distance | ( | const num_t * | p1, |
const size_t | idx_p2, | ||
size_t | size | ||
) | const [inline] |
Definition at line 1426 of file nanoflann.hpp.
bool nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::kdtree_get_bbox | ( | BBOX & | bb | ) | const [inline] |
Definition at line 1445 of file nanoflann.hpp.
size_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::kdtree_get_point_count | ( | ) | const [inline] |
Definition at line 1421 of file nanoflann.hpp.
num_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::kdtree_get_pt | ( | const size_t | idx, |
int | dim | ||
) | const [inline] |
Definition at line 1437 of file nanoflann.hpp.
void nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::query | ( | const num_t * | query_point, |
const size_t | num_closest, | ||
IndexType * | out_indices, | ||
num_t * | out_distances_sq, | ||
const int | nChecks_IGNORED = 10 |
||
) | const [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.
Definition at line 1403 of file nanoflann.hpp.
index_t* nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::index |
Definition at line 1376 of file nanoflann.hpp.
const MatrixType& nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, IndexType >::m_data_matrix |
Definition at line 1396 of file nanoflann.hpp.