ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::geometry::KDTreeFlann Class Reference

KDTree with FLANN for nearest neighbor search. More...

#include <ecvKDTreeFlann.h>

Public Member Functions

 KDTreeFlann ()
 Default Constructor. More...
 
 KDTreeFlann (const Eigen::MatrixXd &data)
 Parameterized Constructor. More...
 
 KDTreeFlann (const ccHObject &geometry)
 Parameterized Constructor. More...
 
 KDTreeFlann (const utility::Feature &feature)
 Parameterized Constructor. More...
 
 ~KDTreeFlann ()
 
 KDTreeFlann (const KDTreeFlann &)=delete
 
KDTreeFlannoperator= (const KDTreeFlann &)=delete
 
bool SetMatrixData (const Eigen::MatrixXd &data)
 
bool SetGeometry (const ccHObject &geometry)
 
bool SetFeature (const utility::Feature &feature)
 
template<typename T >
int Search (const T &query, const KDTreeSearchParam &param, std::vector< int > &indices, std::vector< double > &distance2) const
 
template<typename T >
int Query (const std::vector< T > &queries, const KDTreeSearchParam &param, std::vector< std::vector< int >> &indices, std::vector< std::vector< double >> &distance2) const
 
template<typename T >
int SearchKNN (const T &query, int knn, std::vector< int > &indices, std::vector< double > &distance2) const
 
template<typename T >
int SearchRadius (const T &query, double radius, std::vector< int > &indices, std::vector< double > &distance2) const
 
template<typename T >
int SearchHybrid (const T &query, double radius, int max_nn, std::vector< int > &indices, std::vector< double > &distance2) const
 

Protected Types

using KDTree_t = nanoflann::KDTreeEigenMatrixAdaptor< Eigen::Map< const Eigen::MatrixXd >, -1, nanoflann::metric_L2, false >
 

Protected Attributes

std::vector< double > data_
 
std::unique_ptr< KDTree_tnanoflann_index_
 
std::unique_ptr< Eigen::Map< const Eigen::MatrixXd > > data_interface_
 
size_t dimension_ = 0
 
size_t dataset_size_ = 0
 

Detailed Description

KDTree with FLANN for nearest neighbor search.

Definition at line 33 of file ecvKDTreeFlann.h.

Member Typedef Documentation

◆ KDTree_t

using cloudViewer::geometry::KDTreeFlann::KDTree_t = nanoflann::KDTreeEigenMatrixAdaptor< Eigen::Map<const Eigen::MatrixXd>, -1, nanoflann::metric_L2, false>
protected

Definition at line 205 of file ecvKDTreeFlann.h.

Constructor & Destructor Documentation

◆ KDTreeFlann() [1/5]

cloudViewer::geometry::KDTreeFlann::KDTreeFlann ( )

Default Constructor.

◆ KDTreeFlann() [2/5]

cloudViewer::geometry::KDTreeFlann::KDTreeFlann ( const Eigen::MatrixXd &  data)

Parameterized Constructor.

Parameters
dataProvides set of data points for KDTree construction.

◆ KDTreeFlann() [3/5]

cloudViewer::geometry::KDTreeFlann::KDTreeFlann ( const ccHObject geometry)

Parameterized Constructor.

Parameters
geometryProvides geometry from which KDTree is constructed.

◆ KDTreeFlann() [4/5]

cloudViewer::geometry::KDTreeFlann::KDTreeFlann ( const utility::Feature feature)

Parameterized Constructor.

Parameters
featureProvides a set of features from which the KDTree is constructed.

◆ ~KDTreeFlann()

cloudViewer::geometry::KDTreeFlann::~KDTreeFlann ( )

◆ KDTreeFlann() [5/5]

cloudViewer::geometry::KDTreeFlann::KDTreeFlann ( const KDTreeFlann )
delete

Member Function Documentation

◆ operator=()

KDTreeFlann& cloudViewer::geometry::KDTreeFlann::operator= ( const KDTreeFlann )
delete

◆ Query()

template<typename T >
int cloudViewer::geometry::KDTreeFlann::Query ( const std::vector< T > &  queries,
const KDTreeSearchParam param,
std::vector< std::vector< int >> &  indices,
std::vector< std::vector< double >> &  distance2 
) const
inline

Definition at line 94 of file ecvKDTreeFlann.h.

References LogWarning.

Referenced by cloudViewer::geometry::pybind_kdtreeflann().

◆ Search()

template<typename T >
int cloudViewer::geometry::KDTreeFlann::Search ( const T &  query,
const KDTreeSearchParam param,
std::vector< int > &  indices,
std::vector< double > &  distance2 
) const
inline

◆ SearchHybrid()

template<typename T >
int cloudViewer::geometry::KDTreeFlann::SearchHybrid ( const T &  query,
double  radius,
int  max_nn,
std::vector< int > &  indices,
std::vector< double > &  distance2 
) const
inline

◆ SearchKNN()

template<typename T >
int cloudViewer::geometry::KDTreeFlann::SearchKNN ( const T &  query,
int  knn,
std::vector< int > &  indices,
std::vector< double > &  distance2 
) const
inline

◆ SearchRadius()

template<typename T >
int cloudViewer::geometry::KDTreeFlann::SearchRadius ( const T &  query,
double  radius,
std::vector< int > &  indices,
std::vector< double > &  distance2 
) const
inline

◆ SetFeature()

bool cloudViewer::geometry::KDTreeFlann::SetFeature ( const utility::Feature feature)

Sets the data for the KDTree from the feature data.

Parameters
featureSet of features for KDTree construction.

Referenced by cloudViewer::geometry::pybind_kdtreeflann().

◆ SetGeometry()

bool cloudViewer::geometry::KDTreeFlann::SetGeometry ( const ccHObject geometry)

◆ SetMatrixData()

bool cloudViewer::geometry::KDTreeFlann::SetMatrixData ( const Eigen::MatrixXd &  data)

Sets the data for the KDTree from a matrix.

Parameters
dataData points for KDTree Construction.

Referenced by cloudViewer::geometry::pybind_kdtreeflann().

Member Data Documentation

◆ data_

std::vector<double> cloudViewer::geometry::KDTreeFlann::data_
protected

Definition at line 211 of file ecvKDTreeFlann.h.

◆ data_interface_

std::unique_ptr<Eigen::Map<const Eigen::MatrixXd> > cloudViewer::geometry::KDTreeFlann::data_interface_
protected

Definition at line 213 of file ecvKDTreeFlann.h.

◆ dataset_size_

size_t cloudViewer::geometry::KDTreeFlann::dataset_size_ = 0
protected

Definition at line 215 of file ecvKDTreeFlann.h.

◆ dimension_

size_t cloudViewer::geometry::KDTreeFlann::dimension_ = 0
protected

Definition at line 214 of file ecvKDTreeFlann.h.

◆ nanoflann_index_

std::unique_ptr<KDTree_t> cloudViewer::geometry::KDTreeFlann::nanoflann_index_
protected

Definition at line 212 of file ecvKDTreeFlann.h.


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