MRPT  2.0.0
List of all members | Public Types | Public Member Functions | Public Attributes
mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM > Struct Template Reference

Detailed Description

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
struct mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >

Internal structure with the KD-tree representation (mainly used to avoid copying pointers with the = operator)

Definition at line 724 of file KDTreeCapable.h.

Inheritance diagram for mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >:

Public Types

using kdtree_index_t = nanoflann::KDTreeSingleIndexAdaptor< metric_t, Derived, _DIM >
 

Public Member Functions

 TKDTreeDataHolder ()=default
 
 TKDTreeDataHolder (const TKDTreeDataHolder &)
 Copy constructor: It actually does NOT copy the kd-tree, a new object will be created if required! More...
 
TKDTreeDataHolderoperator= (const TKDTreeDataHolder &o) noexcept
 Copy operator: It actually does NOT copy the kd-tree, a new object will be created if required! More...
 
void clear () noexcept
 Free memory (if allocated) More...
 

Public Attributes

std::unique_ptr< kdtree_index_tindex
 nullptr or the up-to-date index More...
 
size_t m_dim = _DIM
 Dimensionality. More...
 
size_t m_num_points = 0
 

Member Typedef Documentation

◆ kdtree_index_t

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
using mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::kdtree_index_t = nanoflann::KDTreeSingleIndexAdaptor<metric_t, Derived, _DIM>

Definition at line 743 of file KDTreeCapable.h.

Constructor & Destructor Documentation

◆ TKDTreeDataHolder() [1/2]

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::TKDTreeDataHolder ( )
inlinedefault

◆ TKDTreeDataHolder() [2/2]

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::TKDTreeDataHolder ( const TKDTreeDataHolder< _DIM > &  )
inline

Copy constructor: It actually does NOT copy the kd-tree, a new object will be created if required!

Definition at line 729 of file KDTreeCapable.h.

Member Function Documentation

◆ clear()

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
void mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::clear ( )
inlinenoexcept

Free memory (if allocated)

Definition at line 741 of file KDTreeCapable.h.

Referenced by mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< 3 >::operator=(), mrpt::math::KDTreeCapable< CFeatureList >::rebuild_kdTree_2D(), and mrpt::math::KDTreeCapable< CFeatureList >::rebuild_kdTree_3D().

Here is the caller graph for this function:

◆ operator=()

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
TKDTreeDataHolder& mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::operator= ( const TKDTreeDataHolder< _DIM > &  o)
inlinenoexcept

Copy operator: It actually does NOT copy the kd-tree, a new object will be created if required!

Definition at line 734 of file KDTreeCapable.h.

Member Data Documentation

◆ index

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
std::unique_ptr<kdtree_index_t> mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::index

◆ m_dim

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
size_t mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::m_dim = _DIM

◆ m_num_points

template<class Derived, typename num_t = float, typename metric_t = nanoflann::L2_Simple_Adaptor<num_t, Derived>>
template<int _DIM = -1>
size_t mrpt::math::KDTreeCapable< Derived, num_t, metric_t >::TKDTreeDataHolder< _DIM >::m_num_points = 0



Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020