Open3D (C++ API)  0.17.0
Public Member Functions | Protected Types | Protected Attributes
open3d::geometry::KDTreeFlann Class Reference

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

#include <KDTreeFlann.h>

Public Member Functions

 KDTreeFlann ()
 Default Constructor. More...
 
 KDTreeFlann (const Eigen::MatrixXd &data)
 Parameterized Constructor. More...
 
 KDTreeFlann (const Geometry &geometry)
 Parameterized Constructor. More...
 
 KDTreeFlann (const pipelines::registration::Feature &feature)
 Parameterized Constructor. More...
 
 ~KDTreeFlann ()
 
 KDTreeFlann (const KDTreeFlann &)=delete
 
KDTreeFlannoperator= (const KDTreeFlann &)=delete
 
bool SetMatrixData (const Eigen::MatrixXd &data)
 
bool SetGeometry (const Geometry &geometry)
 
bool SetFeature (const pipelines::registration::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 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< Eigen::Map< const Eigen::MatrixXd > > data_interface_
 
std::unique_ptr< KDTree_tnanoflann_index_
 
size_t dimension_ = 0
 
size_t dataset_size_ = 0
 

Detailed Description

KDTree with FLANN for nearest neighbor search.

Member Typedef Documentation

◆ KDTree_t

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

Constructor & Destructor Documentation

◆ KDTreeFlann() [1/5]

open3d::geometry::KDTreeFlann::KDTreeFlann ( )

Default Constructor.

◆ KDTreeFlann() [2/5]

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

Parameterized Constructor.

Parameters
dataProvides set of data points for KDTree construction.

◆ KDTreeFlann() [3/5]

open3d::geometry::KDTreeFlann::KDTreeFlann ( const Geometry geometry)

Parameterized Constructor.

Parameters
geometryProvides geometry from which KDTree is constructed.

◆ KDTreeFlann() [4/5]

open3d::geometry::KDTreeFlann::KDTreeFlann ( const pipelines::registration::Feature feature)

Parameterized Constructor.

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

◆ ~KDTreeFlann()

open3d::geometry::KDTreeFlann::~KDTreeFlann ( )

◆ KDTreeFlann() [5/5]

open3d::geometry::KDTreeFlann::KDTreeFlann ( const KDTreeFlann )
delete

Member Function Documentation

◆ operator=()

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

◆ Search()

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

◆ SearchHybrid()

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

◆ SearchKNN()

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

◆ SearchRadius()

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

◆ SetFeature()

bool open3d::geometry::KDTreeFlann::SetFeature ( const pipelines::registration::Feature feature)

Sets the data for the KDTree from the feature data.

Parameters
featureSet of features for KDTree construction.

◆ SetGeometry()

bool open3d::geometry::KDTreeFlann::SetGeometry ( const Geometry geometry)

Sets the data for the KDTree from geometry.

Parameters
geometryGeometry for KDTree Construction.

◆ SetMatrixData()

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

Sets the data for the KDTree from a matrix.

Parameters
dataData points for KDTree Construction.

Field Documentation

◆ data_

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

◆ data_interface_

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

◆ dataset_size_

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

◆ dimension_

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

◆ nanoflann_index_

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

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