27 #ifndef MPBLOCKS_DUBINS_KD_TREE_KNEAREST_H_
28 #define MPBLOCKS_DUBINS_KD_TREE_KNEAREST_H_
38 template <
typename Scalar>
51 typedef Eigen::Matrix<Scalar,3,1>
Point;
52 typedef std::priority_queue<Key_t,KeyVec,KeyCompare>
PQueue_t;
63 KNearest(
unsigned int k=1, Scalar radius=1 );
71 void reset(
int k, Scalar radius );
92 #endif // NEARESTNEIGHBOR_H_
Traits< Scalar >::Node Node_t
virtual bool shouldRecurse(const Point &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 t...
Interface for nearest node type searches.
KNearest(unsigned int k=1, Scalar radius=1)
unsigned int m_boxesEvaluated
std::priority_queue< Key_t, KeyVec, KeyCompare > PQueue_t
Key_t::LessThan KeyCompare
std::vector< Key_t > KeyVec
Traits< Scalar >::HyperRect HyperRect_t
unsigned int m_nodesEvaluated
virtual void evaluate(const Point &q, const Point &p, Node_t *n)
calculates Euclidean distance from q to p, and if its less than the current best replaces the current...
Distance< Scalar > Distance_t
Eigen::Matrix< Scalar, 3, 1 > Point