#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(). |
1.4.6