Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance > Struct Template Reference

Detailed Description

template<class MatrixType, int DIM = -1, class Distance = nanoflann::metric_L2>
struct nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >

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:

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->...
Template Parameters
DIMIf set to >0, it specifies a compile-time fixed dimensionality for the points in the data set, allowing more compiler optimizations.
DistanceThe distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc.

Definition at line 1307 of file nanoflann.hpp.

#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, IndexTypeindex_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...
 
 ~KDTreeEigenMatrixAdaptor ()
 
void query (const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq, const int=10) const
 Query for the num_closest closest points to a given point (entered as query_point[0:dim-1]). More...
 
Interface expected by KDTreeSingleIndexAdaptor
const self_tderived () const
 
self_tderived ()
 
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_tindex
 
const MatrixType & m_data_matrix
 

Private Member Functions

 KDTreeEigenMatrixAdaptor (const self_t &)
 Hidden copy constructor, to disallow copying this class (Not implemented) More...
 

Member Typedef Documentation

◆ index_t

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
typedef KDTreeSingleIndexAdaptor< metric_t,self_t,DIM,IndexType> nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::index_t

Definition at line 1313 of file nanoflann.hpp.

◆ IndexType

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
typedef MatrixType::Index nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::IndexType

Definition at line 1311 of file nanoflann.hpp.

◆ metric_t

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
typedef Distance::template traits<num_t,self_t>::distance_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::metric_t

Definition at line 1312 of file nanoflann.hpp.

◆ num_t

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
typedef MatrixType::Scalar nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::num_t

Definition at line 1310 of file nanoflann.hpp.

◆ self_t

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
typedef KDTreeEigenMatrixAdaptor<MatrixType,DIM,Distance> nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::self_t

Definition at line 1309 of file nanoflann.hpp.

Constructor & Destructor Documentation

◆ KDTreeEigenMatrixAdaptor() [1/2]

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::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 1318 of file nanoflann.hpp.

◆ KDTreeEigenMatrixAdaptor() [2/2]

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::KDTreeEigenMatrixAdaptor ( const self_t )
private

Hidden copy constructor, to disallow copying this class (Not implemented)

◆ ~KDTreeEigenMatrixAdaptor()

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::~KDTreeEigenMatrixAdaptor ( )
inline

Definition at line 1332 of file nanoflann.hpp.

Member Function Documentation

◆ derived() [1/2]

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
const self_t& nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::derived ( ) const
inline

Definition at line 1353 of file nanoflann.hpp.

◆ derived() [2/2]

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
self_t& nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::derived ( )
inline

Definition at line 1356 of file nanoflann.hpp.

◆ kdtree_distance()

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
num_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::kdtree_distance ( const num_t p1,
const IndexType  idx_p2,
IndexType  size 
) const
inline

◆ kdtree_get_bbox()

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
template<class BBOX >
bool nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::kdtree_get_bbox ( BBOX &  ) const
inline

Definition at line 1385 of file nanoflann.hpp.

◆ kdtree_get_point_count()

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
size_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::kdtree_get_point_count ( ) const
inline

Definition at line 1361 of file nanoflann.hpp.

◆ kdtree_get_pt()

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
num_t nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::kdtree_get_pt ( const IndexType  idx,
int  dim 
) const
inline

Definition at line 1377 of file nanoflann.hpp.

◆ query()

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
void nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::query ( const num_t query_point,
const size_t  num_closest,
IndexType out_indices,
num_t out_distances_sq,
const int  = 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.

Note
nChecks_IGNORED is ignored but kept for compatibility with the original FLANN interface.

Definition at line 1343 of file nanoflann.hpp.

References nanoflann::KNNResultSet< DistanceType, IndexType, CountType >::init().

Member Data Documentation

◆ index

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
index_t* nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::index

Definition at line 1315 of file nanoflann.hpp.

◆ m_data_matrix

template<class MatrixType , int DIM = -1, class Distance = nanoflann::metric_L2>
const MatrixType& nanoflann::KDTreeEigenMatrixAdaptor< MatrixType, DIM, Distance >::m_data_matrix

Definition at line 1336 of file nanoflann.hpp.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at lun oct 28 00:14:14 CET 2019