#include <kdtree.h>
Public Member Functions | |
KdTree (const vector< NodeData > &data) | |
~KdTree () | |
template<typename LookupProc > | |
void | Lookup (const Point &p, LookupProc &process, float &maxDistSquared) const |
Private Member Functions | |
void | recursiveBuild (uint32_t nodeNum, int start, int end, const NodeData **buildNodes) |
template<typename LookupProc > | |
void | privateLookup (uint32_t nodeNum, const Point &p, LookupProc &process, float &maxDistSquared) const |
Private Attributes | |
KdNode * | nodes |
NodeData * | nodeData |
uint32_t | nNodes |
uint32_t | nextFreeNode |
Definition at line 55 of file kdtree.h.
Definition at line 92 of file kdtree.h.
References KdTree< NodeData >::nextFreeNode, KdTree< NodeData >::nNodes, KdTree< NodeData >::nodeData, KdTree< NodeData >::nodes, and KdTree< NodeData >::recursiveBuild().
void KdTree< NodeData >::Lookup | ( | const Point & | p, | |
LookupProc & | process, | |||
float & | maxDistSquared | |||
) | const [inline] |
Definition at line 143 of file kdtree.h.
References KdTree< NodeData >::privateLookup().
Referenced by EPhoton(), IrregIsotropicBRDF::f(), PhotonIntegrator::Li(), and LPhoton().
void KdTree< NodeData >::privateLookup | ( | uint32_t | nodeNum, | |
const Point & | p, | |||
LookupProc & | process, | |||
float & | maxDistSquared | |||
) | const [inline, private] |
Definition at line 150 of file kdtree.h.
References DistanceSquared(), KdNode::hasLeftChild, KdTree< NodeData >::nNodes, KdTree< NodeData >::nodeData, KdTree< NodeData >::nodes, KdNode::rightChild, KdNode::splitAxis, and KdNode::splitPos.
Referenced by KdTree< NodeData >::Lookup().
void KdTree< NodeData >::recursiveBuild | ( | uint32_t | nodeNum, | |
int | start, | |||
int | end, | |||
const NodeData ** | buildNodes | |||
) | [inline, private] |
Definition at line 106 of file kdtree.h.
References KdNode::hasLeftChild, KdNode::init(), KdNode::initLeaf(), BBox::MaximumExtent(), KdTree< NodeData >::nextFreeNode, KdTree< NodeData >::nodeData, KdTree< NodeData >::nodes, KdNode::rightChild, and Union().
Referenced by KdTree< NodeData >::KdTree().
uint32_t KdTree< NodeData >::nextFreeNode [private] |
Definition at line 75 of file kdtree.h.
Referenced by KdTree< NodeData >::KdTree(), and KdTree< NodeData >::recursiveBuild().
Definition at line 75 of file kdtree.h.
Referenced by KdTree< NodeData >::KdTree(), and KdTree< NodeData >::privateLookup().
Definition at line 74 of file kdtree.h.
Referenced by KdTree< NodeData >::KdTree(), KdTree< NodeData >::privateLookup(), KdTree< NodeData >::recursiveBuild(), and KdTree< RadiancePhoton >::~KdTree().
Definition at line 73 of file kdtree.h.
Referenced by KdTree< NodeData >::KdTree(), KdTree< NodeData >::privateLookup(), KdTree< NodeData >::recursiveBuild(), and KdTree< RadiancePhoton >::~KdTree().