#include <kdtree.h>
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 |
Private Member Functions | |
void | privateLookup (u_int nodeNum, const Point &p, const LookupProc &process, float &maxDistSquared) const |
Private Attributes | |
KdNode * | nodes |
NodeData * | nodeData |
u_int | nNodes |
u_int | nextFreeNode |
Definition at line 48 of file kdtree.h.
void KdTree< NodeData, LookupProc >::recursiveBuild | ( | u_int | nodeNum, | |
int | start, | |||
int | end, | |||
vector< const NodeData * > & | buildNodes | |||
) | [inline] |
Definition at line 93 of file kdtree.h.
References KdNode::hasLeftChild, KdNode::init(), KdNode::initLeaf(), BBox::MaximumExtent(), KdTree< NodeData, LookupProc >::nextFreeNode, KdTree< NodeData, LookupProc >::nodeData, KdTree< NodeData, LookupProc >::nodes, KdNode::rightChild, and Union().
void KdTree< NodeData, LookupProc >::Lookup | ( | const Point & | p, | |
const LookupProc & | process, | |||
float & | maxDistSquared | |||
) | const [inline] |
Definition at line 127 of file kdtree.h.
References KdTree< NodeData, LookupProc >::privateLookup().
Referenced by ExPhotonIntegrator::estimateE(), ExPhotonIntegrator::Li(), PhotonIntegrator::LPhoton(), and ExPhotonIntegrator::LPhoton().
void KdTree< NodeData, LookupProc >::privateLookup | ( | u_int | nodeNum, | |
const Point & | p, | |||
const LookupProc & | process, | |||
float & | maxDistSquared | |||
) | const [inline, private] |
Definition at line 133 of file kdtree.h.
References DistanceSquared(), KdNode::hasLeftChild, KdTree< NodeData, LookupProc >::nNodes, KdTree< NodeData, LookupProc >::nodeData, KdTree< NodeData, LookupProc >::nodes, KdNode::rightChild, KdNode::splitAxis, and KdNode::splitPos.
Referenced by KdTree< NodeData, LookupProc >::Lookup().
Definition at line 65 of file kdtree.h.
Referenced by KdTree< NodeData, LookupProc >::privateLookup(), KdTree< NodeData, LookupProc >::recursiveBuild(), and KdTree< Photon, PhotonProcess >::~KdTree().
NodeData* KdTree< NodeData, LookupProc >::nodeData [private] |
Definition at line 66 of file kdtree.h.
Referenced by KdTree< NodeData, LookupProc >::privateLookup(), KdTree< NodeData, LookupProc >::recursiveBuild(), and KdTree< Photon, PhotonProcess >::~KdTree().
Definition at line 67 of file kdtree.h.
Referenced by KdTree< NodeData, LookupProc >::privateLookup().
u_int KdTree< NodeData, LookupProc >::nextFreeNode [private] |
Definition at line 67 of file kdtree.h.
Referenced by KdTree< NodeData, LookupProc >::recursiveBuild().