Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

RobotFlow::KDNode< KDData > Class Template Reference

#include <KDNode.h>

Inheritance diagram for RobotFlow::KDNode< KDData >:

Inheritance graph
[legend]
Collaboration diagram for RobotFlow::KDNode< KDData >:

Collaboration graph
[legend]

template<class KDData>
class RobotFlow::KDNode< KDData >


Public Member Functions

 KDNode ()
 KDNode (int i_cutDim, KDData i_cutVal, KDData i_lowVal, KDData i_highVal, KDNode *i_lowChild, KDNode *i_highChild)
 KDNode (KDPoint< KDData > *i_dataPts, int *i_ptsIdx, int i_numPts, int i_dimSize)
 KDNode (KDData **i_dataPts, int *i_ptsIdx, int i_numPts, int i_dimSize)
 ~KDNode ()
KDNode< KDData > & operator= (const KDNode< KDData > &i_ref)
void printOn (std::ostream &out) const
void readFrom (std::istream &in)
void NNSearch (KDPoint< KDData > *i_qp, int i_maxNumNodes, int &io_numVisited, double i_maxErr, double io_bbDist, KDPQueue< double, int > *io_nnQueue)
void NNSearch (KDPoint< KDData > *i_qp, int i_maxNumNodes, int &io_numVisited, double i_maxErr, double io_bbDist, KDPQueue< double, KDPoint< KDData > > *io_nnQueue)
void ref ()
void unref ()
int unique ()
virtual void destroy ()
virtual void serialize (std::ostream &out) const
virtual void unserialize (std::istream &in)
virtual void doesNotUnderstand (std::string method)
virtual bool isNil () const
virtual void prettyPrint (std::ostream &out=std::cout) const
virtual ObjectRef clone ()
virtual std::string className () const

Static Public Member Functions

static ObjectRef newObject (const std::string &objType)
static int addObjectType (const std::string &objType, _ObjectFactory *factory)
static std::map< std::string,
_ObjectFactory * > & 
ObjectFactoryDictionary ()
static TypeMap< _ObjectFactory * > & TypeidDictionary ()

Protected Attributes

AtomicCounter ref_count

Private Member Functions

void readFromInternal (std::istream &in)
void readFromLeaf (std::istream &in)
void NNBucketSearch (KDPoint< KDData > *i_qp, int &io_numVisited, KDPQueue< double, int > *io_nnQueue)
void NNBucketSearch (KDPoint< KDData > *i_qp, int &io_numVisited, KDPQueue< double, KDPoint< KDData > > *io_nnQueue)
void NNNodeSearch (KDPoint< KDData > *i_qp, int i_maxNumNodes, int &io_numVisited, double i_maxErr, double io_bbDist, KDPQueue< double, int > *io_nnQueue)
void NNNodeSearch (KDPoint< KDData > *i_qp, int i_maxNumNodes, int &io_numVisited, double i_maxErr, double io_bbDist, KDPQueue< double, KDPoint< KDData > > *io_nnQueue)

Private Attributes

int m_cutDim
KDData m_cutVal
KDData m_cutBnds [2]
KDNodem_children [2]
int m_nPts
int m_dimSize
KDPoint< KDData > * m_bucket
int * m_bucketIdx

Friends

friend std::ostream & operator<< (std::ostream &out, const Object &obj)

Constructor & Destructor Documentation

template<class KDData>
RobotFlow::KDNode< KDData >::KDNode  )  [inline]
 

template<class KDData>
RobotFlow::KDNode< KDData >::KDNode int  i_cutDim,
KDData  i_cutVal,
KDData  i_lowVal,
KDData  i_highVal,
KDNode< KDData > *  i_lowChild,
KDNode< KDData > *  i_highChild
[inline]
 

template<class KDData>
RobotFlow::KDNode< KDData >::KDNode KDPoint< KDData > *  i_dataPts,
int *  i_ptsIdx,
int  i_numPts,
int  i_dimSize
[inline]
 

template<class KDData>
RobotFlow::KDNode< KDData >::KDNode KDData **  i_dataPts,
int *  i_ptsIdx,
int  i_numPts,
int  i_dimSize
[inline]
 

template<class KDData>
RobotFlow::KDNode< KDData >::~KDNode  )  [inline]
 


Member Function Documentation

template<class KDData>
void RobotFlow::KDNode< KDData >::NNBucketSearch KDPoint< KDData > *  i_qp,
int &  io_numVisited,
KDPQueue< double, KDPoint< KDData > > *  io_nnQueue
[inline, private]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::NNBucketSearch KDPoint< KDData > *  i_qp,
int &  io_numVisited,
KDPQueue< double, int > *  io_nnQueue
[inline, private]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::NNNodeSearch KDPoint< KDData > *  i_qp,
int  i_maxNumNodes,
int &  io_numVisited,
double  i_maxErr,
double  io_bbDist,
KDPQueue< double, KDPoint< KDData > > *  io_nnQueue
[inline, private]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::NNNodeSearch KDPoint< KDData > *  i_qp,
int  i_maxNumNodes,
int &  io_numVisited,
double  i_maxErr,
double  io_bbDist,
KDPQueue< double, int > *  io_nnQueue
[inline, private]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::NNSearch KDPoint< KDData > *  i_qp,
int  i_maxNumNodes,
int &  io_numVisited,
double  i_maxErr,
double  io_bbDist,
KDPQueue< double, KDPoint< KDData > > *  io_nnQueue
[inline]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::NNSearch KDPoint< KDData > *  i_qp,
int  i_maxNumNodes,
int &  io_numVisited,
double  i_maxErr,
double  io_bbDist,
KDPQueue< double, int > *  io_nnQueue
[inline]
 

template<class KDData>
KDNode<KDData>& RobotFlow::KDNode< KDData >::operator= const KDNode< KDData > &  i_ref  )  [inline]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::printOn std::ostream &  out  )  const [inline, virtual]
 

Implements FD::Object.

template<class KDData>
void RobotFlow::KDNode< KDData >::readFrom std::istream &  in  )  [inline, virtual]
 

Reimplemented from FD::Object.

template<class KDData>
void RobotFlow::KDNode< KDData >::readFromInternal std::istream &  in  )  [inline, private]
 

template<class KDData>
void RobotFlow::KDNode< KDData >::readFromLeaf std::istream &  in  )  [inline, private]
 


Field Documentation

template<class KDData>
KDPoint<KDData>* RobotFlow::KDNode< KDData >::m_bucket [private]
 

template<class KDData>
int* RobotFlow::KDNode< KDData >::m_bucketIdx [private]
 

template<class KDData>
KDNode* RobotFlow::KDNode< KDData >::m_children[2] [private]
 

template<class KDData>
KDData RobotFlow::KDNode< KDData >::m_cutBnds[2] [private]
 

template<class KDData>
int RobotFlow::KDNode< KDData >::m_cutDim [private]
 

template<class KDData>
KDData RobotFlow::KDNode< KDData >::m_cutVal [private]
 

template<class KDData>
int RobotFlow::KDNode< KDData >::m_dimSize [private]
 

template<class KDData>
int RobotFlow::KDNode< KDData >::m_nPts [private]
 


The documentation for this class was generated from the following file:
Generated on Wed Oct 5 14:36:28 2005 for RobotFlow by  doxygen 1.4.4