#include <LightArray.h>
Public Member Functions | |
LightArray (unsigned cache=0) | |
virtual | ~LightArray () |
bool | isSet (ESGint i) const |
bool | isOn (ESGint i) const |
bool | isAnyOn (void) const |
void | turnLightOn (ESGint i) |
void | turnLightOff (ESGint i) |
void | turnAllOn (void) |
void | turnAllOff (void) |
void | turnOn (ESGbitmask m) |
ESGbitmask | getOnMask (void) const |
ESGbitmask | getSetMask (void) const |
void | clear (void) |
Light & | light (ESGint i) |
void | setEmittance (ESGint i, Emittance *e) |
Emittance * | getEmittance (ESGint i) |
void | setTransformation (ESGint i, const Matrix4 &m) |
Matrix4 * | getTransformation (ESGint i) |
void | setGeometry (ESGint i, Geometry *g) |
Geometry * | getGeometry (ESGint i) |
void | setOID (ESGint i, SceneGraphObject::OID oid) |
SceneGraphObject::OID | getOID (ESGint i) const |
bool | emitPhoton (Vector3 &o, Vector3 &d, Color3f &p, ESGint i) const |
const BlockingObj * | getBlockingObject (unsigned cache, ESGint light) const |
bool | setBlockingObj (unsigned cache, ESGint light, SceneGraphObject *pObj, const Matrix4 *pMat) |
Static Public Attributes | |
static const ESGint | MAX_LIGHTS = 8 |
number of supported lights | |
static const ESGint | LIGHT0 |
index of first light | |
static const ESGint | LIGHT1 |
index of second light | |
static const ESGint | LIGHT2 |
index of third light | |
static const ESGint | LIGHT3 |
index of fourth light | |
static const ESGint | LIGHT4 |
index of fifth light | |
static const ESGint | LIGHT5 |
index of sixth light | |
static const ESGint | LIGHT6 |
index of seventh light | |
static const ESGint | LIGHT7 |
index of eighth light | |
Protected Attributes | |
Light | _lightArray [MAX_LIGHTS] |
array of pointers to lights | |
ESGbitmask | _set |
which lights are set | |
ESGbitmask | _on |
which lights are turned on | |
BlockingObj(* | _blockingObjCache )[MAX_LIGHTS] |
cache of blocking objects for each light | |
unsigned | _numCaches |
size of each cache | |
Friends | |
class | LightsExplorer |
Classes | |
struct | BlockingObj |
struct | Light |
Definition at line 17 of file LightArray.h.
|
Constructor
Definition at line 75 of file LightArray.h. |
|
Destructor Definition at line 87 of file LightArray.h. |
|
Clears the container, forgets all references to light sources Definition at line 155 of file LightArray.h. |
|
Tries to stochastically emit photon from light surface. Output parameters are valid only if the method returns true.
Definition at line 247 of file LightArray.h. References ENV_HAVE_NORMAL, ENV_HAVE_SURFACE_POINT, ENV_WANT_NORMAL, ENV_WANT_NOTHING, ENV_WANT_SURFACE_POINT, Emittance::fitToGeometry(), Emittance::haveDirection(), Emittance::intensity(), LightArray::Light::pEmittance, LightArray::Light::pGeometry, Geometry::randomSample(), Emittance::setBeamDirection(), and Emittance::stochasticEmission(). |
|
Each light source can remember, which objects are blocking its visibility from some point in space. This method returns these blocking objects.
Definition at line 282 of file LightArray.h. |
|
Definition at line 184 of file LightArray.h. |
|
Definition at line 217 of file LightArray.h. |
|
Definition at line 233 of file LightArray.h. |
|
Definition at line 145 of file LightArray.h. |
|
Definition at line 150 of file LightArray.h. |
|
Definition at line 201 of file LightArray.h. |
|
Definition at line 109 of file LightArray.h. |
|
Definition at line 103 of file LightArray.h. |
|
Definition at line 97 of file LightArray.h. |
|
Definition at line 167 of file LightArray.h. |
|
Each light source can remember, which objects are blocking its visibility from some point in space. This method allows to associate these blocking objects with the light source.
Definition at line 299 of file LightArray.h. |
|
Sets the light emittance
Definition at line 175 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |
|
Sets geometry of the light
Definition at line 209 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |
|
Sets OID attribute of the light
Definition at line 225 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |
|
Sets transformation matrix of the light
Definition at line 192 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |
|
Turns all light off Definition at line 133 of file LightArray.h. |
|
Turns all lights on Definition at line 128 of file LightArray.h. |
|
Turns the light off
Definition at line 123 of file LightArray.h. |
|
Turns the light on
Definition at line 116 of file LightArray.h. |
|
Turns on the lights indexed by bitmask
Definition at line 140 of file LightArray.h. |
|
Definition at line 18 of file LightArray.h. |
|
cache of blocking objects for each light
Definition at line 66 of file LightArray.h. |
|
array of pointers to lights
Definition at line 63 of file LightArray.h. |
|
size of each cache
Definition at line 67 of file LightArray.h. |
|
which lights are turned on
Definition at line 65 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |
|
which lights are set
Definition at line 64 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |
|
index of first light
Definition at line 22 of file LightArray.h. |
|
index of second light
Definition at line 23 of file LightArray.h. |
|
index of third light
Definition at line 24 of file LightArray.h. |
|
index of fourth light
Definition at line 25 of file LightArray.h. |
|
index of fifth light
Definition at line 26 of file LightArray.h. |
|
index of sixth light
Definition at line 27 of file LightArray.h. |
|
index of seventh light
Definition at line 28 of file LightArray.h. |
|
index of eighth light
Definition at line 29 of file LightArray.h. |
|
number of supported lights
Definition at line 21 of file LightArray.h. Referenced by LightsExplorer::_process_leaf(). |