Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Types | Public Member Functions | Public Attributes
mrpt::vision::CFeatureListKDTree< FEAT > Class Template Reference

Detailed Description

template<typename FEAT>
class mrpt::vision::CFeatureListKDTree< FEAT >

Helper class: KD-tree search class for vector<KeyPoint>: Call mark_as_outdated() to force rebuilding the kd-tree after modifying the linked feature list.

Template Parameters
FEATCan be cv::KeyPoint or mrpt::vision::TSimpleFeature

Definition at line 324 of file TSimpleFeature.h.

#include <mrpt/vision/TSimpleFeature.h>

Inheritance diagram for mrpt::vision::CFeatureListKDTree< FEAT >:
Inheritance graph

Public Types

using self_t = KDTreeCapable< CFeatureListKDTree< FEAT >, float, nanoflann::L2_Simple_Adaptor< float, CFeatureListKDTree< FEAT > > >
 

Public Member Functions

void mark_as_outdated ()
 
 CFeatureListKDTree (const std::vector< FEAT > &data)
 
const CFeatureListKDTree< FEAT > & derived () const
 CRTP helper method. More...
 
CFeatureListKDTree< FEAT > & derived ()
 CRTP helper method. More...
 
Methods that MUST be implemented by children classes of

KDTreeCapable

size_t kdtree_get_point_count () const
 Must return the number of data points. More...
 
float kdtree_get_pt (const size_t idx, int dim) const
 Returns the dim'th component of the idx'th point in the class: More...
 
float kdtree_distance (const float *p1, const size_t idx_p2, size_t size) const
 Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: More...
 
template<typename BBOX >
bool kdtree_get_bbox (BBOX &bb) const
 

Public Attributes

const std::vector< FEAT > & m_data
 
TKDTreeSearchParams kdtree_search_params
 Parameters to tune the ANN searches. More...
 

Public utility methods to query the KD-tree

size_t kdTreeClosestPoint2D (float x0, float y0, float &out_x, float &out_y, float &out_dist_sqr) const
 KD Tree-based search for the closest point (only ONE) to some given 2D coordinates. More...
 
size_t kdTreeClosestPoint2D (float x0, float y0, float &out_dist_sqr) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
size_t kdTreeClosestPoint2D (const TPoint2D &p0, TPoint2D &pOut, float &outDistSqr) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
float kdTreeClosestPoint2DsqrError (float x0, float y0) const
 Like kdTreeClosestPoint2D, but just return the square error from some point to its closest neighbor. More...
 
float kdTreeClosestPoint2DsqrError (const TPoint2D &p0) const
 
void kdTreeTwoClosestPoint2D (float x0, float y0, float &out_x1, float &out_y1, float &out_x2, float &out_y2, float &out_dist_sqr1, float &out_dist_sqr2) const
 KD Tree-based search for the TWO closest point to some given 2D coordinates. More...
 
void kdTreeTwoClosestPoint2D (const TPoint2D &p0, TPoint2D &pOut1, TPoint2D &pOut2, float &outDistSqr1, float &outDistSqr2) const
 
std::vector< size_t > kdTreeNClosestPoint2D (float x0, float y0, size_t knn, std::vector< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_dist_sqr) const
 KD Tree-based search for the N closest point to some given 2D coordinates. More...
 
std::vector< size_t > kdTreeNClosestPoint2D (const TPoint2D &p0, size_t N, std::vector< TPoint2D > &pOut, std::vector< float > &outDistSqr) const
 
void kdTreeNClosestPoint2DIdx (float x0, float y0, size_t knn, std::vector< size_t > &out_idx, std::vector< float > &out_dist_sqr) const
 KD Tree-based search for the N closest point to some given 2D coordinates and returns their indexes. More...
 
void kdTreeNClosestPoint2DIdx (const TPoint2D &p0, size_t N, std::vector< size_t > &outIdx, std::vector< float > &outDistSqr) const
 
size_t kdTreeClosestPoint3D (float x0, float y0, float z0, float &out_x, float &out_y, float &out_z, float &out_dist_sqr) const
 KD Tree-based search for the closest point (only ONE) to some given 3D coordinates. More...
 
size_t kdTreeClosestPoint3D (float x0, float y0, float z0, float &out_dist_sqr) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
size_t kdTreeClosestPoint3D (const TPoint3D &p0, TPoint3D &pOut, float &outDistSqr) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void kdTreeNClosestPoint3D (float x0, float y0, float z0, size_t knn, std::vector< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_z, std::vector< float > &out_dist_sqr) const
 KD Tree-based search for the N closest points to some given 3D coordinates. More...
 
void kdTreeNClosestPoint3D (const TPoint3D &p0, size_t N, std::vector< TPoint3D > &pOut, std::vector< float > &outDistSqr) const
 
void kdTreeNClosestPoint3DWithIdx (float x0, float y0, float z0, size_t knn, std::vector< float > &out_x, std::vector< float > &out_y, std::vector< float > &out_z, std::vector< size_t > &out_idx, std::vector< float > &out_dist_sqr) const
 KD Tree-based search for the N closest points to some given 3D coordinates. More...
 
size_t kdTreeRadiusSearch3D (const float x0, const float y0, const float z0, const float maxRadiusSqr, std::vector< std::pair< size_t, float >> &out_indices_dist) const
 KD Tree-based search for all the points within a given radius of some 3D point. More...
 
size_t kdTreeRadiusSearch2D (const float x0, const float y0, const float maxRadiusSqr, std::vector< std::pair< size_t, float >> &out_indices_dist) const
 KD Tree-based search for all the points within a given radius of some 2D point. More...
 
void kdTreeNClosestPoint3DIdx (float x0, float y0, float z0, size_t knn, std::vector< size_t > &out_idx, std::vector< float > &out_dist_sqr) const
 KD Tree-based search for the N closest point to some given 3D coordinates and returns their indexes. More...
 
void kdTreeNClosestPoint3DIdx (const TPoint3D &p0, size_t N, std::vector< size_t > &outIdx, std::vector< float > &outDistSqr) const
 
TKDTreeDataHolder< 2 > m_kdtree2d_data
 
TKDTreeDataHolder< 3 > m_kdtree3d_data
 
TKDTreeDataHolder m_kdtreeNd_data
 
bool m_kdtree_is_uptodate
 whether the KD tree needs to be rebuilt or not. More...
 
void kdtree_mark_as_outdated () const
 To be called by child classes when KD tree data changes. More...
 
void rebuild_kdTree_2D () const
 Rebuild, if needed the KD-tree for 2D (nDims=2), 3D (nDims=3), ... More...
 
void rebuild_kdTree_3D () const
 Rebuild, if needed the KD-tree for 2D (nDims=2), 3D (nDims=3), ... More...
 

Member Typedef Documentation

◆ self_t

Definition at line 83 of file KDTreeCapable.h.

Constructor & Destructor Documentation

◆ CFeatureListKDTree()

template<typename FEAT >
mrpt::vision::CFeatureListKDTree< FEAT >::CFeatureListKDTree ( const std::vector< FEAT > &  data)
inline

Definition at line 335 of file TSimpleFeature.h.

Member Function Documentation

◆ derived() [1/2]

CFeatureListKDTree< FEAT > & mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::derived
inlineinherited

CRTP helper method.

Definition at line 94 of file KDTreeCapable.h.

◆ derived() [2/2]

const CFeatureListKDTree< FEAT > & mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::derived
inlineinherited

CRTP helper method.

Definition at line 89 of file KDTreeCapable.h.

◆ kdtree_distance()

template<typename FEAT >
float mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_distance ( const float *  p1,
const size_t  idx_p2,
size_t  size 
) const
inline

Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class:

Definition at line 354 of file TSimpleFeature.h.

References ASSERTDEB_, mrpt::vision::CFeatureListKDTree< FEAT >::m_data, and MRPT_UNUSED_PARAM.

◆ kdtree_get_bbox()

template<typename FEAT >
template<typename BBOX >
bool mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_get_bbox ( BBOX &  bb) const
inline

Definition at line 372 of file TSimpleFeature.h.

References MRPT_UNUSED_PARAM.

◆ kdtree_get_point_count()

template<typename FEAT >
size_t mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_get_point_count ( ) const
inline

Must return the number of data points.

Definition at line 341 of file TSimpleFeature.h.

References mrpt::vision::CFeatureListKDTree< FEAT >::m_data.

◆ kdtree_get_pt()

template<typename FEAT >
float mrpt::vision::CFeatureListKDTree< FEAT >::kdtree_get_pt ( const size_t  idx,
int  dim 
) const
inline

Returns the dim'th component of the idx'th point in the class:

Definition at line 343 of file TSimpleFeature.h.

References ASSERTDEB_, and mrpt::vision::CFeatureListKDTree< FEAT >::m_data.

◆ kdtree_mark_as_outdated()

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdtree_mark_as_outdated
inlineprotectedinherited

To be called by child classes when KD tree data changes.

Definition at line 732 of file KDTreeCapable.h.

◆ kdTreeClosestPoint2D() [1/3]

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint2D ( const TPoint2D p0,
TPoint2D pOut,
float &  outDistSqr 
) const
inlineinherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 178 of file KDTreeCapable.h.

◆ kdTreeClosestPoint2D() [2/3]

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint2D ( float  x0,
float  y0,
float &  out_dist_sqr 
) const
inlineinherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 154 of file KDTreeCapable.h.

◆ kdTreeClosestPoint2D() [3/3]

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint2D ( float  x0,
float  y0,
float &  out_x,
float &  out_y,
float &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the closest point (only ONE) to some given 2D coordinates.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 3D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
out_xThe X coordinate of the found closest correspondence.
out_yThe Y coordinate of the found closest correspondence.
out_dist_sqrThe square distance between the query and the returned point.
Returns
The index of the closest point in the map array.
See also
kdTreeClosestPoint3D, kdTreeTwoClosestPoint2D

Definition at line 125 of file KDTreeCapable.h.

◆ kdTreeClosestPoint2DsqrError() [1/2]

float mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint2DsqrError ( const TPoint2D p0) const
inlineinherited

Definition at line 200 of file KDTreeCapable.h.

◆ kdTreeClosestPoint2DsqrError() [2/2]

float mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint2DsqrError ( float  x0,
float  y0 
) const
inlineinherited

Like kdTreeClosestPoint2D, but just return the square error from some point to its closest neighbor.

Definition at line 193 of file KDTreeCapable.h.

◆ kdTreeClosestPoint3D() [1/3]

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint3D ( const TPoint3D p0,
TPoint3D pOut,
float &  outDistSqr 
) const
inlineinherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 464 of file KDTreeCapable.h.

◆ kdTreeClosestPoint3D() [2/3]

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint3D ( float  x0,
float  y0,
float  z0,
float &  out_dist_sqr 
) const
inlineinherited

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 439 of file KDTreeCapable.h.

◆ kdTreeClosestPoint3D() [3/3]

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeClosestPoint3D ( float  x0,
float  y0,
float  z0,
float &  out_x,
float &  out_y,
float &  out_z,
float &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the closest point (only ONE) to some given 3D coordinates.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 2D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
z0The Z coordinate of the query.
out_xThe X coordinate of the found closest correspondence.
out_yThe Y coordinate of the found closest correspondence.
out_zThe Z coordinate of the found closest correspondence.
out_dist_sqrThe square distance between the query and the returned point.
Returns
The index of the closest point in the map array.
See also
kdTreeClosestPoint2D

Definition at line 408 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint2D() [1/2]

std::vector<size_t> mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint2D ( const TPoint2D p0,
size_t  N,
std::vector< TPoint2D > &  pOut,
std::vector< float > &  outDistSqr 
) const
inlineinherited

Definition at line 325 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint2D() [2/2]

std::vector<size_t> mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint2D ( float  x0,
float  y0,
size_t  knn,
std::vector< float > &  out_x,
std::vector< float > &  out_y,
std::vector< float > &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the N closest point to some given 2D coordinates.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 3D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
NThe number of closest points to search.
out_xThe vector containing the X coordinates of the correspondences.
out_yThe vector containing the Y coordinates of the correspondences.
out_dist_sqrThe vector containing the square distance between the query and the returned points.
Returns
The list of indices
See also
kdTreeClosestPoint2D
kdTreeTwoClosestPoint2D

Definition at line 293 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint2DIdx() [1/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint2DIdx ( const TPoint2D p0,
size_t  N,
std::vector< size_t > &  outIdx,
std::vector< float > &  outDistSqr 
) const
inlineinherited

Definition at line 380 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint2DIdx() [2/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint2DIdx ( float  x0,
float  y0,
size_t  knn,
std::vector< size_t > &  out_idx,
std::vector< float > &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the N closest point to some given 2D coordinates and returns their indexes.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 3D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
NThe number of closest points to search.
out_idxThe indexes of the found closest correspondence.
out_dist_sqrThe square distance between the query and the returned point.
See also
kdTreeClosestPoint2D

Definition at line 358 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint3D() [1/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint3D ( const TPoint3D p0,
size_t  N,
std::vector< TPoint3D > &  pOut,
std::vector< float > &  outDistSqr 
) const
inlineinherited

Definition at line 592 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint3D() [2/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint3D ( float  x0,
float  y0,
float  z0,
size_t  knn,
std::vector< float > &  out_x,
std::vector< float > &  out_y,
std::vector< float > &  out_z,
std::vector< float > &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the N closest points to some given 3D coordinates.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 2D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
z0The Z coordinate of the query.
NThe number of closest points to search.
out_xThe vector containing the X coordinates of the correspondences.
out_yThe vector containing the Y coordinates of the correspondences.
out_zThe vector containing the Z coordinates of the correspondences.
out_dist_sqrThe vector containing the square distance between the query and the returned points.
See also
kdTreeNClosestPoint2D

Definition at line 499 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint3DIdx() [1/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint3DIdx ( const TPoint3D p0,
size_t  N,
std::vector< size_t > &  outIdx,
std::vector< float > &  outDistSqr 
) const
inlineinherited

Definition at line 719 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint3DIdx() [2/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint3DIdx ( float  x0,
float  y0,
float  z0,
size_t  knn,
std::vector< size_t > &  out_idx,
std::vector< float > &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the N closest point to some given 3D coordinates and returns their indexes.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 2D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
z0The Z coordinate of the query.
NThe number of closest points to search.
out_idxThe indexes of the found closest correspondence.
out_dist_sqrThe square distance between the query and the returned point.
See also
kdTreeClosestPoint2D, kdTreeRadiusSearch3D

Definition at line 696 of file KDTreeCapable.h.

◆ kdTreeNClosestPoint3DWithIdx()

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeNClosestPoint3DWithIdx ( float  x0,
float  y0,
float  z0,
size_t  knn,
std::vector< float > &  out_x,
std::vector< float > &  out_y,
std::vector< float > &  out_z,
std::vector< size_t > &  out_idx,
std::vector< float > &  out_dist_sqr 
) const
inlineinherited

KD Tree-based search for the N closest points to some given 3D coordinates.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 2D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
z0The Z coordinate of the query.
NThe number of closest points to search.
out_xThe vector containing the X coordinates of the correspondences.
out_yThe vector containing the Y coordinates of the correspondences.
out_zThe vector containing the Z coordinates of the correspondences.
out_idxThe vector containing the indexes of the correspondences.
out_dist_sqrThe vector containing the square distance between the query and the returned points.
See also
kdTreeNClosestPoint2D

Definition at line 557 of file KDTreeCapable.h.

◆ kdTreeRadiusSearch2D()

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeRadiusSearch2D ( const float  x0,
const float  y0,
const float  maxRadiusSqr,
std::vector< std::pair< size_t, float >> &  out_indices_dist 
) const
inlineinherited

KD Tree-based search for all the points within a given radius of some 2D point.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 3D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
maxRadiusSqrThe square of the desired search radius.
out_indices_distThe output list, with pairs of indeces/squared distances for the found correspondences.
Returns
Number of found points.
See also
kdTreeRadiusSearch3D, kdTreeNClosestPoint2DIdx

Definition at line 661 of file KDTreeCapable.h.

◆ kdTreeRadiusSearch3D()

size_t mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeRadiusSearch3D ( const float  x0,
const float  y0,
const float  z0,
const float  maxRadiusSqr,
std::vector< std::pair< size_t, float >> &  out_indices_dist 
) const
inlineinherited

KD Tree-based search for all the points within a given radius of some 3D point.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 2D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
z0The Z coordinate of the query.
maxRadiusSqrThe square of the desired search radius.
out_indices_distThe output list, with pairs of indeces/squared distances for the found correspondences.
Returns
Number of found points.
See also
kdTreeRadiusSearch2D, kdTreeNClosestPoint3DIdx

Definition at line 626 of file KDTreeCapable.h.

◆ kdTreeTwoClosestPoint2D() [1/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeTwoClosestPoint2D ( const TPoint2D p0,
TPoint2D pOut1,
TPoint2D pOut2,
float &  outDistSqr1,
float &  outDistSqr2 
) const
inlineinherited

Definition at line 259 of file KDTreeCapable.h.

◆ kdTreeTwoClosestPoint2D() [2/2]

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdTreeTwoClosestPoint2D ( float  x0,
float  y0,
float &  out_x1,
float &  out_y1,
float &  out_x2,
float &  out_y2,
float &  out_dist_sqr1,
float &  out_dist_sqr2 
) const
inlineinherited

KD Tree-based search for the TWO closest point to some given 2D coordinates.

This method automatically build the "m_kdtree_data" structure when:

  • It is called for the first time
  • The map has changed
  • The KD-tree was build for 3D.
Parameters
x0The X coordinate of the query.
y0The Y coordinate of the query.
out_x1The X coordinate of the first correspondence.
out_y1The Y coordinate of the first correspondence.
out_x2The X coordinate of the second correspondence.
out_y2The Y coordinate of the second correspondence.
out_dist_sqr1The square distance between the query and the first returned point.
out_dist_sqr2The square distance between the query and the second returned point.
See also
kdTreeClosestPoint2D

Definition at line 226 of file KDTreeCapable.h.

◆ mark_as_outdated()

template<typename FEAT >
void mrpt::vision::CFeatureListKDTree< FEAT >::mark_as_outdated ( )
inline

◆ rebuild_kdTree_2D()

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::rebuild_kdTree_2D
inlineprivateinherited

Rebuild, if needed the KD-tree for 2D (nDims=2), 3D (nDims=3), ...

asking the child class for the data points.

Definition at line 779 of file KDTreeCapable.h.

◆ rebuild_kdTree_3D()

void mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::rebuild_kdTree_3D
inlineprivateinherited

Rebuild, if needed the KD-tree for 2D (nDims=2), 3D (nDims=3), ...

asking the child class for the data points.

Definition at line 813 of file KDTreeCapable.h.

Member Data Documentation

◆ kdtree_search_params

TKDTreeSearchParams mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::kdtree_search_params
inherited

Parameters to tune the ANN searches.

Definition at line 103 of file KDTreeCapable.h.

◆ m_data

template<typename FEAT >
const std::vector<FEAT>& mrpt::vision::CFeatureListKDTree< FEAT >::m_data

◆ m_kdtree2d_data

TKDTreeDataHolder<2> mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::m_kdtree2d_data
mutableprivateinherited

Definition at line 771 of file KDTreeCapable.h.

◆ m_kdtree3d_data

TKDTreeDataHolder<3> mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::m_kdtree3d_data
mutableprivateinherited

Definition at line 772 of file KDTreeCapable.h.

◆ m_kdtree_is_uptodate

bool mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::m_kdtree_is_uptodate
mutableprivateinherited

whether the KD tree needs to be rebuilt or not.

Definition at line 775 of file KDTreeCapable.h.

◆ m_kdtreeNd_data

TKDTreeDataHolder mrpt::math::KDTreeCapable< CFeatureListKDTree< FEAT > , float , nanoflann::L2_Simple_Adaptor<float , CFeatureListKDTree< FEAT > > >::m_kdtreeNd_data
mutableprivateinherited

Definition at line 773 of file KDTreeCapable.h.




Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST