Loading...
Searching...
No Matches
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major > Struct Template Reference
nanoflann C++ library for KD-trees » KD-tree classes and adaptors

`#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
using | Offset = typename index_t::Offset
| The kd-tree index for the user to call its methods as usual with any other FLANN index.
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, const unsigned int n_thread_build=1)
| 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 noexcept
self_t & | derived () noexcept
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

## Detailed Description

template<class MatrixType, int32_t 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,Eigen::Dynamic,Eigen::Dynamic> mat;
// Fill out "mat"...
using my_kd_tree_t = nanoflann::KDTreeEigenMatrixAdaptor<
Eigen::Matrix<num_t,Dynamic,Dynamic>>;
const int max_leaf = 10;
my_kd_tree_t mat_index(mat, max_leaf);
mat_index.index->...
nanoflann::KDTreeEigenMatrixAdaptor
Definition nanoflann.hpp:2707

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.

## Member Typedef Documentation

## index_t

template<class MatrixType, int32_t DIM = -1, class Distance = nanoflann::metric_L2, bool row_major = true>

using nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major >::index_t

Initial value:
KDTreeSingleIndexAdaptor<
metric_t, self_t, row_major ? MatrixType::ColsAtCompileTime : MatrixType::RowsAtCompileTime,
IndexType>
nanoflann::KDTreeSingleIndexAdaptor
Definition nanoflann.hpp:1609

## Constructor & Destructor Documentation

## KDTreeEigenMatrixAdaptor()

template<class MatrixType, int32_t DIM = -1, class Distance = nanoflann::metric_L2, bool row_major = true>

nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major >::KDTreeEigenMatrixAdaptor | ( | const self_t & |  | ) |

delete

Deleted copy constructor

## Member Function Documentation

## query()

template<class MatrixType, int32_t DIM = -1, class Distance = nanoflann::metric_L2, bool row_major = true>

void nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance, row_major >::query | ( | const num_t * | query_point,
|  | const Size | num_closest,
|  | IndexType * | out_indices,
|  | num_t * | out_distances ) 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.

Note
  If L2 norms are used, all returned distances are actually squared distances.

The documentation for this struct was generated from the following file:

- include/nanoflann.hpp