lux::KdTree< NodeData, LookupProc > Class Template Reference

#include <kdtree.h>

Inheritance diagram for lux::KdTree< NodeData, LookupProc >:
[legend]
Collaboration diagram for lux::KdTree< NodeData, LookupProc >:
[legend]

List of all members.

Public Member Functions

 KdTree (const vector< NodeData > &data)
 ~KdTree ()
void recursiveBuild (u_int nodeNum, int start, int end, vector< const NodeData * > &buildNodes)
void Lookup (const Point &p, const LookupProc &process, float &maxDistSquared) const
NodeData * getNodeData ()

Private Member Functions

void privateLookup (u_int nodeNum, const Point &p, const LookupProc &process, float &maxDistSquared) const

Private Attributes

KdNodenodes
NodeData * nodeData
u_int nNodes
u_int nextFreeNode

Detailed Description

template<class NodeData, class LookupProc>
class lux::KdTree< NodeData, LookupProc >

Definition at line 55 of file kdtree.h.


Constructor & Destructor Documentation

template<class NodeData, class LookupProc >
lux::KdTree< NodeData, LookupProc >::KdTree ( const vector< NodeData > &  data  )  [inline]

Definition at line 90 of file kdtree.h.

template<class NodeData, class LookupProc>
lux::KdTree< NodeData, LookupProc >::~KdTree (  )  [inline]

Definition at line 59 of file kdtree.h.


Member Function Documentation

template<class NodeData, class LookupProc>
NodeData* lux::KdTree< NodeData, LookupProc >::getNodeData (  )  [inline]

Definition at line 67 of file kdtree.h.

Referenced by lux::RadiancePhotonMap::save(), and lux::LightPhotonMap::save().

template<class NodeData , class LookupProc>
void lux::KdTree< NodeData, LookupProc >::Lookup ( const Point p,
const LookupProc &  process,
float &  maxDistSquared 
) const [inline]
template<class NodeData , class LookupProc>
void lux::KdTree< NodeData, LookupProc >::privateLookup ( u_int  nodeNum,
const Point p,
const LookupProc &  process,
float &  maxDistSquared 
) const [inline, private]
template<class NodeData, class LookupProc >
void lux::KdTree< NodeData, LookupProc >::recursiveBuild ( u_int  nodeNum,
int  start,
int  end,
vector< const NodeData * > &  buildNodes 
) [inline]

Member Data Documentation

template<class NodeData, class LookupProc>
u_int lux::KdTree< NodeData, LookupProc >::nextFreeNode [private]

Definition at line 76 of file kdtree.h.

Referenced by lux::KdTree< NodeData, LookupProc >::recursiveBuild().

template<class NodeData, class LookupProc>
u_int lux::KdTree< NodeData, LookupProc >::nNodes [private]

Definition at line 76 of file kdtree.h.

Referenced by lux::KdTree< NodeData, LookupProc >::privateLookup().

template<class NodeData, class LookupProc>
NodeData* lux::KdTree< NodeData, LookupProc >::nodeData [private]
template<class NodeData, class LookupProc>
KdNode* lux::KdTree< NodeData, LookupProc >::nodes [private]

The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208