#include <octree.h>
Public Member Functions | |
Octree (const BBox &b, int md=16) | |
void | Add (const NodeData &dataItem, const BBox &dataBound) |
void | Lookup (const Point &p, const LookupProc &process) |
Private Member Functions | |
void | addPrivate (OctNode< NodeData > *node, const BBox &nodeBound, const NodeData &dataItem, const BBox &dataBound, float diag2, int depth=0) |
void | lookupPrivate (OctNode< NodeData > *node, const BBox &nodeBound, const Point &P, const LookupProc &process) |
Private Attributes | |
int | maxDepth |
BBox | bound |
OctNode< NodeData > | root |
Definition at line 45 of file octree.h.
lux::Octree< NodeData, LookupProc >::Octree | ( | const BBox & | b, | |
int | md = 16 | |||
) | [inline] |
void lux::Octree< NodeData, LookupProc >::Add | ( | const NodeData & | dataItem, | |
const BBox & | dataBound | |||
) | [inline] |
void lux::Octree< NodeData, LookupProc >::addPrivate | ( | OctNode< NodeData > * | node, | |
const BBox & | nodeBound, | |||
const NodeData & | dataItem, | |||
const BBox & | dataBound, | |||
float | diag2, | |||
int | depth = 0 | |||
) | [inline, private] |
Definition at line 74 of file octree.h.
References lux::OctNode< NodeData >::children, lux::OctNode< NodeData >::data, lux::DistanceSquared(), lux::Octree< NodeData, LookupProc >::maxDepth, lux::BBox::pMax, lux::BBox::pMin, lux::Point::x, lux::Point::y, and lux::Point::z.
Referenced by lux::Octree< IrradianceSample, IrradProcess >::Add().
void lux::Octree< NodeData, LookupProc >::Lookup | ( | const Point & | p, | |
const LookupProc & | process | |||
) | [inline] |
Definition at line 56 of file octree.h.
Referenced by lux::IrradianceCache::InterpolateIrradiance().
void lux::Octree< NodeData, LookupProc >::lookupPrivate | ( | OctNode< NodeData > * | node, | |
const BBox & | nodeBound, | |||
const Point & | P, | |||
const LookupProc & | process | |||
) | [inline, private] |
Definition at line 128 of file octree.h.
References lux::OctNode< NodeData >::children, lux::OctNode< NodeData >::data, lux::BBox::pMax, lux::BBox::pMin, lux::Point::x, lux::Point::y, and lux::Point::z.
Referenced by lux::Octree< IrradianceSample, IrradProcess >::Lookup().
BBox lux::Octree< NodeData, LookupProc >::bound [private] |
Definition at line 69 of file octree.h.
Referenced by lux::Octree< IrradianceSample, IrradProcess >::Add(), and lux::Octree< IrradianceSample, IrradProcess >::Lookup().
int lux::Octree< NodeData, LookupProc >::maxDepth [private] |
Definition at line 68 of file octree.h.
Referenced by lux::Octree< NodeData, LookupProc >::addPrivate(), and lux::Octree< IrradianceSample, IrradProcess >::Octree().
OctNode<NodeData> lux::Octree< NodeData, LookupProc >::root [private] |
Definition at line 70 of file octree.h.
Referenced by lux::Octree< IrradianceSample, IrradProcess >::Add(), and lux::Octree< IrradianceSample, IrradProcess >::Lookup().