#include <octree.h>
Public Member Functions | |
Octree (const BBox &b, int md=16) | |
void | Add (const NodeData &dataItem, const BBox &dataBound) |
template<typename LookupProc > | |
void | Lookup (const Point &p, LookupProc &process) |
Private Member Functions | |
void | addPrivate (OctNode< NodeData > *node, const BBox &nodeBound, const NodeData &dataItem, const BBox &dataBound, float diag2, int depth=0) |
template<typename LookupProc > | |
bool | lookupPrivate (OctNode< NodeData > *node, const BBox &nodeBound, const Point &P, LookupProc &process) |
Private Attributes | |
int | maxDepth |
BBox | bound |
OctNode< NodeData > | root |
Definition at line 50 of file octree.h.
void Octree< NodeData >::Add | ( | const NodeData & | dataItem, | |
const BBox & | dataBound | |||
) | [inline] |
Definition at line 55 of file octree.h.
Referenced by IrradianceCacheIntegrator::indirectLo(), and SurfacePointTask::Run().
void Octree< NodeData >::addPrivate | ( | OctNode< NodeData > * | node, | |
const BBox & | nodeBound, | |||
const NodeData & | dataItem, | |||
const BBox & | dataBound, | |||
float | diag2, | |||
int | depth = 0 | |||
) | [inline, private] |
Definition at line 95 of file octree.h.
References OctNode< NodeData >::children, OctNode< NodeData >::data, DistanceSquared(), Octree< NodeData >::maxDepth, octreeChildBound(), BBox::pMax, BBox::pMin, Point::x, Point::y, and Point::z.
Referenced by Octree< SurfacePoint >::Add().
void Octree< NodeData >::Lookup | ( | const Point & | p, | |
LookupProc & | process | |||
) | [inline] |
Definition at line 59 of file octree.h.
Referenced by IrradianceCacheIntegrator::interpolateE(), and SurfacePointTask::Run().
bool Octree< NodeData >::lookupPrivate | ( | OctNode< NodeData > * | node, | |
const BBox & | nodeBound, | |||
const Point & | P, | |||
LookupProc & | process | |||
) | [inline, private] |
Definition at line 130 of file octree.h.
References OctNode< NodeData >::children, OctNode< NodeData >::data, octreeChildBound(), BBox::pMax, BBox::pMin, Point::x, Point::y, and Point::z.
Referenced by Octree< SurfacePoint >::Lookup().
Definition at line 74 of file octree.h.
Referenced by Octree< SurfacePoint >::Add(), and Octree< SurfacePoint >::Lookup().
Definition at line 73 of file octree.h.
Referenced by Octree< NodeData >::addPrivate().
Definition at line 75 of file octree.h.
Referenced by Octree< SurfacePoint >::Add(), and Octree< SurfacePoint >::Lookup().