#include <CornellBox.h>
Inheritance diagram for CornellBox:
Public Member Functions | |
CornellBox (const SDS &proto) | |
void | addMirrorSphere (float radius=0.32) |
void | addCrystalicSphere (float radius=0.32) |
void | addSphereFlake (unsigned factor, float radius=0.32) |
SceneGraphObject::OID | appendModel (Parser &parser, const Matrix4 *m=NULL) |
SceneGraphObject::OID | appendObject (SceneGraphObject *primitive) |
SceneGraphObject::OID | appendLight (LightSource *light) |
void | build (void) |
bool | haveLight (void) const |
Group * | root (void) |
virtual void | __debug (void) |
Protected Member Functions | |
void | _build_walls () |
void | _build_lights () |
void | _create_sf_object_set (Vector3[9]) |
void | _build_sphere_flake (unsigned, const Vector4 &, const Vector4 &, Vector3[9]) |
Protected Attributes | |
SceneGraphObject::OID | _lastOID |
Group | _sceneGraph |
bool | _haveLight |
Static Protected Attributes | |
static const int | _upperLeftNear = 1 |
static const int | _upperLeftFar = 0 |
static const int | _upperRightFar = 3 |
static const int | _upperRightNear = 2 |
static const int | _lowerLeftFar = 5 |
static const int | _lowerLeftNear = 4 |
static const int | _lowerRightNear = 7 |
static const int | _lowerRightFar = 6 |
static const float | _lightScale = .35 |
static const Vector3 | _box [8] |
Definition at line 15 of file CornellBox.h.
|
Definition at line 248 of file CornellBox.cc. References CornellBox::_build_lights(), and CornellBox::_build_walls(). |
|
Used only for debugging. Definition at line 63 of file Scene.cc. References Scene::_sceneGraph. |
|
Definition at line 119 of file CornellBox.cc. References CornellBox::_box, Scene::_lastOID, CornellBox::_lightScale, CornellBox::_upperLeftNear, CornellBox::_upperRightFar, CornellBox::_upperRightNear, Scene::appendLight(), and KB_CORNER. Referenced by CornellBox::CornellBox(). |
|
Definition at line 184 of file CornellBox.cc. References Scene::_lastOID, and Scene::appendObject(). Referenced by CornellBox::addSphereFlake(). |
|
Definition at line 34 of file CornellBox.cc. References CornellBox::_box, Scene::_lastOID, CornellBox::_lowerLeftFar, CornellBox::_lowerLeftNear, CornellBox::_lowerRightFar, CornellBox::_lowerRightNear, CornellBox::_upperLeftFar, CornellBox::_upperLeftNear, CornellBox::_upperRightFar, CornellBox::_upperRightNear, and Scene::appendObject(). Referenced by CornellBox::CornellBox(). |
|
Definition at line 155 of file CornellBox.cc. Referenced by CornellBox::addSphereFlake(). |
|
Adds crystalic sphere to the box.
Definition at line 269 of file CornellBox.cc. References Scene::_lastOID, Scene::appendObject(), and KB_CORNER. |
|
Adds mirror sphere to the box.
Definition at line 257 of file CornellBox.cc. References Scene::_lastOID, Scene::appendObject(), and KB_CORNER. |
|
Adds "spehere flake to the box. See also SphereFlake class.
Definition at line 282 of file CornellBox.cc. References CornellBox::_build_sphere_flake(), and CornellBox::_create_sf_object_set(). |
|
Appends a light source to the scene.
Definition at line 53 of file Scene.cc. References Scene::_haveLight, Scene::_lastOID, and Scene::_sceneGraph. Referenced by CornellBox::_build_lights(), SphereFlake::_create_lights(), and FractalMount::_create_lights(). |
|
Appends model to the scene.
Definition at line 7 of file Scene.cc. References Scene::_lastOID, and Scene::_sceneGraph. |
|
Appends single object to the scene.
Definition at line 32 of file Scene.cc. References Scene::_lastOID, and Scene::_sceneGraph. Referenced by CornellBox::_build_sphere_flake(), CornellBox::_build_walls(), SphereFlake::_create_spheres(), FractalMount::_create_spheres(), CornellBox::addCrystalicSphere(), CornellBox::addMirrorSphere(), and SphereFlake::SphereFlake(). |
|
Prepares the scene for manipulation. There is no guarantee that the scene is realy created until the build() method is called. After the build() call the scene is created. Nevertheless, you _can_ still append additional primitives and/or models. Definition at line 65 of file Scene.h. Referenced by FractalMount::FractalMount(), and SphereFlake::SphereFlake(). |
|
|
|
|
Initial value: { Vector3(-KB_CORNER, KB_CORNER,-KB_CORNER), Vector3(-KB_CORNER, KB_CORNER, KB_CORNER), Vector3( KB_CORNER, KB_CORNER, KB_CORNER), Vector3( KB_CORNER, KB_CORNER,-KB_CORNER), Vector3(-KB_CORNER,-KB_CORNER, KB_CORNER), Vector3(-KB_CORNER,-KB_CORNER,-KB_CORNER), Vector3( KB_CORNER,-KB_CORNER,-KB_CORNER), Vector3( KB_CORNER,-KB_CORNER, KB_CORNER) } Definition at line 26 of file CornellBox.h. Referenced by CornellBox::_build_lights(), and CornellBox::_build_walls(). |
|
Definition at line 22 of file Scene.h. Referenced by Scene::appendLight(). |
|
|
Definition at line 25 of file CornellBox.h. Referenced by CornellBox::_build_lights(). |
|
Definition at line 21 of file CornellBox.h. Referenced by CornellBox::_build_walls(). |
|
Definition at line 22 of file CornellBox.h. Referenced by CornellBox::_build_walls(). |
|
Definition at line 24 of file CornellBox.h. Referenced by CornellBox::_build_walls(). |
|
Definition at line 23 of file CornellBox.h. Referenced by CornellBox::_build_walls(). |
|
Definition at line 21 of file Scene.h. Referenced by Scene::__debug(), Scene::appendLight(), Scene::appendModel(), and Scene::appendObject(). |
|
Definition at line 18 of file CornellBox.h. Referenced by CornellBox::_build_walls(). |
|
Definition at line 17 of file CornellBox.h. Referenced by CornellBox::_build_lights(), and CornellBox::_build_walls(). |
|
Definition at line 19 of file CornellBox.h. Referenced by CornellBox::_build_lights(), and CornellBox::_build_walls(). |
|
Definition at line 20 of file CornellBox.h. Referenced by CornellBox::_build_lights(), and CornellBox::_build_walls(). |