cheshirekow  v0.1.0
mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator > Class Template Reference

#include <mpblocks/kd_tree/euclidean/KNearest.h>

Inheritance diagram for mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >:
mpblocks::kd_tree::NearestSearchIface< Traits >

Public Types

typedef Allocator< Key_tAllocator_t
 
typedef Distance< TraitsDistance_t
 
typedef Traits::Format_t Format_t
 
typedef HyperRect< TraitsHyperRect_t
 
typedef Key< TraitsKey_t
 
typedef Key_t::Compare KeyCompare_t
 
typedef Traits::Node Node_t
 
typedef Eigen::Matrix
< Format_t, Traits::NDim, 1 > 
Point_t
 
typedef std::set< Key_t,
KeyCompare_t, Allocator_t
PQueue_t
 
- Public Types inherited from mpblocks::kd_tree::NearestSearchIface< Traits >
typedef Traits::Format_t Format_t
 
typedef Traits::HyperRect HyperRect_t
 
typedef Traits::Node Node_t
 
typedef Vector_t Point_t
 
typedef Eigen::Matrix
< Format_t, Traits::NDim, 1 > 
Vector_t
 

Public Member Functions

virtual void evaluate (const Point_t &q, const Point_t &p, Node_t *n)
 calculates Euclidean distance from q to p, and if its less than the current best replaces the current best node with n More...
 
 KNearest (unsigned int k=1)
 
void reset ()
 
void reset (int k)
 
const PQueue_tresult ()
 
virtual bool shouldRecurse (const Point_t &q, const HyperRect_t &r)
 evaluate the Euclidean distance from q to it's closest point in r and if that distance is less than the current best distance, return true More...
 
virtual ~KNearest ()
 
- Public Member Functions inherited from mpblocks::kd_tree::NearestSearchIface< Traits >
virtual ~NearestSearchIface ()
 just ensure virtualness More...
 

Protected Attributes

Distance_t m_dist2Fn
 
unsigned int m_k
 
PQueue_t m_queue
 

Detailed Description

template<class Traits, template< class > class Allocator = std::allocator>
class mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >

Definition at line 39 of file KNearest.h.

Member Typedef Documentation

template<class Traits , template< class > class Allocator = std::allocator>
typedef Allocator<Key_t> mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::Allocator_t

Definition at line 50 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef Distance<Traits> mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::Distance_t

Definition at line 46 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef Traits::Format_t mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::Format_t

Definition at line 43 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef HyperRect<Traits> mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::HyperRect_t

Definition at line 47 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef Key<Traits> mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::Key_t

Definition at line 48 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef Key_t::Compare mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::KeyCompare_t

Definition at line 49 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef Traits::Node mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::Node_t

Definition at line 44 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef Eigen::Matrix<Format_t,Traits::NDim,1> mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::Point_t

Definition at line 52 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
typedef std::set<Key_t,KeyCompare_t,Allocator_t> mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::PQueue_t

Definition at line 53 of file KNearest.h.

Constructor & Destructor Documentation

template<class Traits , template< class > class Allocator>
mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::KNearest ( unsigned int  k = 1)

Definition at line 37 of file KNearest.hpp.

template<class Traits , template< class > class Allocator = std::allocator>
virtual mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::~KNearest ( )
inlinevirtual

Definition at line 63 of file KNearest.h.

Member Function Documentation

template<class Traits , template< class > class Allocator>
void mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::evaluate ( const Point_t q,
const Point_t p,
Node_t n 
)
virtual

calculates Euclidean distance from q to p, and if its less than the current best replaces the current best node with n

Implements mpblocks::kd_tree::NearestSearchIface< Traits >.

Definition at line 70 of file KNearest.hpp.

template<class Traits , template< class > class Allocator>
void mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::reset ( )

Definition at line 44 of file KNearest.hpp.

template<class Traits , template< class > class Allocator>
void mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::reset ( int  k)

Definition at line 51 of file KNearest.hpp.

template<class Traits , template< class > class Allocator>
const KNearest< Traits, Allocator >::PQueue_t & mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::result ( )

Definition at line 61 of file KNearest.hpp.

template<class Traits , template< class > class Allocator>
bool mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::shouldRecurse ( const Point_t q,
const HyperRect_t r 
)
virtual

evaluate the Euclidean distance from q to it's closest point in r and if that distance is less than the current best distance, return true

Implements mpblocks::kd_tree::NearestSearchIface< Traits >.

Definition at line 87 of file KNearest.hpp.

Member Data Documentation

template<class Traits , template< class > class Allocator = std::allocator>
Distance_t mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::m_dist2Fn
protected

Definition at line 58 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
unsigned int mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::m_k
protected

Definition at line 56 of file KNearest.h.

template<class Traits , template< class > class Allocator = std::allocator>
PQueue_t mpblocks::kd_tree::euclidean::KNearest< Traits, Allocator >::m_queue
protected

Definition at line 57 of file KNearest.h.


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