#include <IrradianceCache.h>
Public Member Functions | |
Node (float s, float cX, float cY, float cZ) | |
virtual | ~Node () |
void | addValue (const Vector3 &position, const Vector3 &normal, const Vector3 &color, float meanDistance, float minSize, float maxSize) |
void | getValue (const Vector3 &position, const Vector3 &normal, vector< IrradianceCache::Value * > &buffer, float maxError) |
unsigned int | getNumStoredValues () const |
unsigned int | getNumNodes () const |
float | getSize () const |
void | getNodeValues (vector< vector< IrradianceCache::Value * > * > &irValues) |
Protected Member Functions | |
void | allocate (unsigned int nodeIndex) |
bool | isAllocated (unsigned int nodeIndex) const |
unsigned int | selectSubnode (const Vector3 &position) const |
bool | necessaryToSearch (const Vector3 &position) const |
Protected Attributes | |
vector< IrradianceCache::Value * > | irradianceValues |
irradiance values stored in the node | |
Node * | subnodes [8] |
eight children or NULL | |
const Vector3 | center |
center of the node | |
const float | size |
legth of side |
Definition at line 252 of file IrradianceCache.h.
|
Definition at line 309 of file IrradianceCache.cc. References IrradianceCache::Node::subnodes. Referenced by IrradianceCache::Node::allocate(). |
|
Destructor. Definition at line 317 of file IrradianceCache.cc. References IrradianceCache::Node::irradianceValues. |
|
Stores irradiance value in the node or its sub-node
Definition at line 334 of file IrradianceCache.cc. References IrradianceCache::Node::addValue(), IrradianceCache::Node::allocate(), IrradianceCache::Node::irradianceValues, IrradianceCache::Node::isAllocated(), IrradianceCache::Node::selectSubnode(), IrradianceCache::Node::size, and IrradianceCache::Node::subnodes. Referenced by IrradianceCache::Node::addValue(). |
|
Allocates memory for the child at index nodeIndex.
Definition at line 205 of file IrradianceCache.cc. References IrradianceCache::Node::center, IrradianceCache::Node::Node(), IrradianceCache::Node::size, and IrradianceCache::Node::subnodes. Referenced by IrradianceCache::Node::addValue(). |
|
Returnes pointers to containers of irradiance values of the node all its sub-nodes.
Definition at line 412 of file IrradianceCache.cc. References IrradianceCache::Node::irradianceValues, IrradianceCache::Node::isAllocated(), and IrradianceCache::Node::subnodes. Referenced by IrradianceCache::getNextValuePointer(). |
|
Definition at line 403 of file IrradianceCache.cc. References IrradianceCache::Node::isAllocated(), and IrradianceCache::Node::subnodes. Referenced by IrradianceCache::getNumNodes(). |
|
Definition at line 391 of file IrradianceCache.cc. References IrradianceCache::Node::irradianceValues, IrradianceCache::Node::isAllocated(), and IrradianceCache::Node::subnodes. Referenced by IrradianceCache::getNumStoredValues(). |
|
Definition at line 373 of file IrradianceCache.h. Referenced by IrradianceCache::isInside(). |
|
In the node and all its sub-nodes finds irradiance values that are valid for given 3D point. Values are stored in the buffer container.
Definition at line 367 of file IrradianceCache.cc. References IrradianceCache::Node::irradianceValues. |
|
Checks whether the sub-node exists.
Definition at line 274 of file IrradianceCache.h. Referenced by IrradianceCache::Node::addValue(), IrradianceCache::Node::getNodeValues(), IrradianceCache::Node::getNumNodes(), and IrradianceCache::Node::getNumStoredValues(). |
|
Determines whether the node contains any irradiance value which has a valid domain interfering with the given 3D point.
Definition at line 302 of file IrradianceCache.cc. References IrradianceCache::Node::center, and IrradianceCache::Node::size. |
|
Having a 3D point determines in which sub-node the point lies.
Definition at line 256 of file IrradianceCache.cc. References IrradianceCache::Node::center. Referenced by IrradianceCache::Node::addValue(). |
|
center of the node
Definition at line 256 of file IrradianceCache.h. Referenced by IrradianceCache::Node::allocate(), IrradianceCache::Node::necessaryToSearch(), and IrradianceCache::Node::selectSubnode(). |
|
irradiance values stored in the node
Definition at line 254 of file IrradianceCache.h. Referenced by IrradianceCache::Node::addValue(), IrradianceCache::Node::getNodeValues(), IrradianceCache::Node::getNumStoredValues(), IrradianceCache::Node::getValue(), and IrradianceCache::Node::~Node(). |
|
legth of side
Definition at line 257 of file IrradianceCache.h. Referenced by IrradianceCache::Node::addValue(), IrradianceCache::Node::allocate(), and IrradianceCache::Node::necessaryToSearch(). |
|
eight children or NULL
Definition at line 255 of file IrradianceCache.h. Referenced by IrradianceCache::Node::addValue(), IrradianceCache::Node::allocate(), IrradianceCache::Node::getNodeValues(), IrradianceCache::Node::getNumNodes(), IrradianceCache::Node::getNumStoredValues(), and IrradianceCache::Node::Node(). |