Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

RayGina::CORE::Scene Class Reference

#include <Scene.hxx>

Inheritance diagram for RayGina::CORE::Scene:

RayGina::CORE::RObject List of all members.

Public Member Functions

virtual const RExtensiongetInstanceExtension () const
 Scene ()
virtual ~Scene ()
virtual const RStatus setImage (RimBase *newImage)
 set the image in which will be rendered. The image should contain the correct size for the result image and will be deleted automaticly.
virtual RimBasegetImage () const
 return the a pointer to the result image(can be zero).
const RStatus setCamera (RcmBase *new_Camera)
 sets the camera for the scene, the camera previouly used will NOT be deleted!!!!
RcmBasegetCamera () const
 returns the actual camera from the scene (NULL if no camera)
const RStatus addObject (RobBase *new_object)
 adds a objects to the scene
const RStatus addLightSource (RlsBase *new_light)
 adds a objects to the scene
RobGroupgetObjects () const
 returns all objects of the scene as RobGroup
RobAcceleratorgetAccelerationStructure () const
 returns the acceleartion structure of the scene
const RStatus setAccelerationStructure (RobAccelerator *newAcc, bool deleteCurrent=false)
 sets the acceleartion structure of the scene
RsmBasegetImageSampler () const
 returns the image sampler of the scene
const RStatus setImageSampler (RsmBase *newSampler)
 sets the image sampler of the scene
RvsBasegetStartVolumeShader () const
 returns the start volume shader for the scene
const RStatus setStartVolumeShader (RvsBase *newVolumeShader)
 sets the volume shader for the scene to start with
RlsGroupgetLightSet () const
 returns all objects of the scene as RobGroup
const RUInt32 getNumberOfLights () const
 return the number of lights in the scene
RnvBasegetEnvironment () const
 returns all objects of the scene as RobGroup
const RStatus setEnvironment (RnvBase *newEnvironment)
 returns all objects of the scene as RobGroup
RRenderComgetRenderCom (const unsigned int threadNum)
 returns a pointer to the actual rendercom
const RStatus startRender ()
const RStatus endRender ()
const RStatus render ()
 start the rendering of the scene
const RStatus mainLoop ()
 waits for the rendering to finish
const RStatus initRender ()
const RStatus renderLoop ()
const RUInt32 getNumOfThreads () const
bool intersect (RRay *ray)
bool occlude (RRay *ray)

Static Public Member Functions

RExtension__getExtension ()

Static Private Member Functions

RObject_createInstance ()
const RStatus _setImageAttr (RObject *myScene, RObject *image)
RObject_getImageAttr (const RObject *myScene, RRenderCom *)
const RStatus _setCameraAttr (RObject *myScene, RObject *image)
RObject_getCameraAttr (const RObject *myScene, RRenderCom *)
const RStatus _setImageSamplerAttr (RObject *myScene, RObject *image)
RObject_getImageSamplerAttr (const RObject *myScene, RRenderCom *)
const RStatus _setLightAttr (RObject *myScene, RObject *light, const RUInt32 index)
RObject_getLightAttr (const RObject *myScene, const RUInt32 index, RRenderCom *)
const RStatus _setLightSizeAttr (RObject *myScene, const RUInt32 newSize)
const RUInt32 _getLightSizeAttr (const RObject *myScene)
const RStatus _setObjectsAttr (RObject *myScene, RObject *object, const RUInt32 index)
RObject_getObjectsAttr (const RObject *myScene, const RUInt32 index, RRenderCom *)
const RStatus _setObjectsSizeAttr (RObject *myScene, const RUInt32 newSize)
const RUInt32 _getObjectsSizeAttr (const RObject *myScene)
const RStatus _initialize (RatStaticContainer *attributes)

Private Attributes

RTime _start_time
 start time
RTime _end_time
 finish time
RTime _length
 scene length
RTime _frame_length
 length of one frame
RTime _motion_blur_time
 how long is the shutter open?
unsigned int _start_frame
 start frame
unsigned int _end_frame
 last frame
bool _motion_blur
 if true motion blur is activated
RimBase_target_image
 where we save the calculated colors ;-)
RRect _render_rect
 the rectangle with will be rendered(it is not necessity that this rect is equal to the size of the image)
RcmBase_camera
 the camera for the scene
RobGroup_objects
 the objects in a scene
RobAccelerator_accStructure
 used for speeding up ray-tracing
RRenderCom_rendercom
 the RRenderCom for shader communication and light caching
RlsGroup_lightset
 the light sources for the scene
RsmBase_sampler
 the light sources for the scene
RnvBase_environment
 the light sources for the scene
RvsBase_startVolumeShader
 the start volume for the scene
RspBase_rsp
RspFinishedRects_finishedRectsList
RtList _renderthreads
RUInt32 _numOfThreads

Static Private Attributes

RExtension _extensionData
RatStaticContainer_attributes = NULL

Friends

class rayGina

Constructor & Destructor Documentation

Scene::Scene  ) 
 

Definition at line 37 of file Scene.cxx.

Scene::~Scene  )  [virtual]
 

Definition at line 40 of file Scene.cxx.


Member Function Documentation

RExtension* RayGina::CORE::Scene::__getExtension  )  [inline, static]
 

Definition at line 159 of file Scene.hxx.

RObject* RayGina::CORE::Scene::_createInstance  )  [inline, static, private]
 

Definition at line 85 of file Scene.hxx.

RObject * Scene::_getCameraAttr const RObject myScene,
RRenderCom
[static, private]
 

Definition at line 32 of file Scene.cxx.

RObject* RayGina::CORE::Scene::_getImageAttr const RObject myScene,
RRenderCom
[inline, static, private]
 

Definition at line 94 of file Scene.hxx.

RObject* RayGina::CORE::Scene::_getImageSamplerAttr const RObject myScene,
RRenderCom
[inline, static, private]
 

Definition at line 108 of file Scene.hxx.

RObject* RayGina::CORE::Scene::_getLightAttr const RObject myScene,
const RUInt32  index,
RRenderCom
[inline, static, private]
 

Definition at line 116 of file Scene.hxx.

const RUInt32 RayGina::CORE::Scene::_getLightSizeAttr const RObject myScene  )  [inline, static, private]
 

Definition at line 125 of file Scene.hxx.

RObject* RayGina::CORE::Scene::_getObjectsAttr const RObject myScene,
const RUInt32  index,
RRenderCom
[inline, static, private]
 

Definition at line 134 of file Scene.hxx.

const RUInt32 RayGina::CORE::Scene::_getObjectsSizeAttr const RObject myScene  )  [inline, static, private]
 

Definition at line 142 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_initialize RatStaticContainer attributes  )  [inline, static, private]
 

Definition at line 146 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setCameraAttr RObject myScene,
RObject image
[inline, static, private]
 

Definition at line 98 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setImageAttr RObject myScene,
RObject image
[inline, static, private]
 

Definition at line 89 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setImageSamplerAttr RObject myScene,
RObject image
[inline, static, private]
 

Definition at line 104 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setLightAttr RObject myScene,
RObject light,
const RUInt32  index
[inline, static, private]
 

Definition at line 112 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setLightSizeAttr RObject myScene,
const RUInt32  newSize
[inline, static, private]
 

Definition at line 120 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setObjectsAttr RObject myScene,
RObject object,
const RUInt32  index
[inline, static, private]
 

Definition at line 130 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::_setObjectsSizeAttr RObject myScene,
const RUInt32  newSize
[inline, static, private]
 

Definition at line 138 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::addLightSource RlsBase new_light  )  [inline]
 

adds a objects to the scene

Definition at line 187 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::addObject RobBase new_object  )  [inline]
 

adds a objects to the scene

Definition at line 182 of file Scene.hxx.

const RStatus Scene::endRender  ) 
 

notifies the scene that rendering is finished returns true if an error occured (why????)

Definition at line 110 of file Scene.cxx.

RobAccelerator* RayGina::CORE::Scene::getAccelerationStructure  )  const [inline]
 

returns the acceleartion structure of the scene

Definition at line 196 of file Scene.hxx.

RcmBase* RayGina::CORE::Scene::getCamera  )  const [inline]
 

returns the actual camera from the scene (NULL if no camera)

Definition at line 177 of file Scene.hxx.

RnvBase* RayGina::CORE::Scene::getEnvironment  )  const [inline]
 

returns all objects of the scene as RobGroup

Definition at line 237 of file Scene.hxx.

RimBase * Scene::getImage  )  const [virtual]
 

return the a pointer to the result image(can be zero).

Definition at line 63 of file Scene.cxx.

RsmBase* RayGina::CORE::Scene::getImageSampler  )  const [inline]
 

returns the image sampler of the scene

Definition at line 207 of file Scene.hxx.

virtual const RExtension* RayGina::CORE::Scene::getInstanceExtension  )  const [inline, virtual]
 

returns the RExtension for the instance If it returns NULL this instance is not able to act as an extension

Implements RayGina::CORE::RObject.

Definition at line 156 of file Scene.hxx.

RlsGroup* RayGina::CORE::Scene::getLightSet  )  const [inline]
 

returns all objects of the scene as RobGroup

Definition at line 227 of file Scene.hxx.

const RUInt32 RayGina::CORE::Scene::getNumberOfLights  )  const [inline]
 

return the number of lights in the scene

Definition at line 232 of file Scene.hxx.

const RUInt32 RayGina::CORE::Scene::getNumOfThreads  )  const [inline]
 

Definition at line 262 of file Scene.hxx.

RobGroup* RayGina::CORE::Scene::getObjects  )  const [inline]
 

returns all objects of the scene as RobGroup

Definition at line 192 of file Scene.hxx.

RRenderCom * Scene::getRenderCom const unsigned int  threadNum  ) 
 

returns a pointer to the actual rendercom

Definition at line 70 of file Scene.cxx.

RvsBase* RayGina::CORE::Scene::getStartVolumeShader  )  const [inline]
 

returns the start volume shader for the scene

Definition at line 217 of file Scene.hxx.

const RStatus Scene::initRender  ) 
 

Definition at line 114 of file Scene.cxx.

bool RayGina::CORE::Scene::intersect RRay ray  )  [inline]
 

Definition at line 268 of file Scene.hxx.

const RStatus Scene::mainLoop  ) 
 

waits for the rendering to finish

Definition at line 215 of file Scene.cxx.

bool RayGina::CORE::Scene::occlude RRay ray  )  [inline]
 

Definition at line 271 of file Scene.hxx.

const RStatus Scene::render  ) 
 

start the rendering of the scene

Definition at line 130 of file Scene.cxx.

const RStatus Scene::renderLoop  ) 
 

Definition at line 160 of file Scene.cxx.

const RStatus RayGina::CORE::Scene::setAccelerationStructure RobAccelerator newAcc,
bool  deleteCurrent = false
[inline]
 

sets the acceleartion structure of the scene

Definition at line 200 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::setCamera RcmBase new_Camera  )  [inline]
 

sets the camera for the scene, the camera previouly used will NOT be deleted!!!!

Definition at line 171 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::setEnvironment RnvBase newEnvironment  )  [inline]
 

returns all objects of the scene as RobGroup

Definition at line 241 of file Scene.hxx.

const RStatus Scene::setImage RimBase newImage  )  [virtual]
 

set the image in which will be rendered. The image should contain the correct size for the result image and will be deleted automaticly.

Definition at line 48 of file Scene.cxx.

const RStatus RayGina::CORE::Scene::setImageSampler RsmBase newSampler  )  [inline]
 

sets the image sampler of the scene

Definition at line 211 of file Scene.hxx.

const RStatus RayGina::CORE::Scene::setStartVolumeShader RvsBase newVolumeShader  )  [inline]
 

sets the volume shader for the scene to start with

Definition at line 221 of file Scene.hxx.

const RStatus Scene::startRender  ) 
 

notifies the scene that rendering is about to begin returns true if an error occured and rendering can not be proceeded

Definition at line 74 of file Scene.cxx.


Friends And Related Function Documentation

friend class rayGina [friend]
 

Definition at line 24 of file Scene.hxx.


Member Data Documentation

RobAccelerator* RayGina::CORE::Scene::_accStructure [private]
 

used for speeding up ray-tracing

Definition at line 58 of file Scene.hxx.

RatStaticContainer * Scene::_attributes = NULL [static, private]
 

Definition at line 18 of file Scene.cxx.

RcmBase* RayGina::CORE::Scene::_camera [private]
 

the camera for the scene

Definition at line 52 of file Scene.hxx.

unsigned int RayGina::CORE::Scene::_end_frame [private]
 

last frame

Definition at line 40 of file Scene.hxx.

RTime RayGina::CORE::Scene::_end_time [private]
 

finish time

Definition at line 29 of file Scene.hxx.

RnvBase* RayGina::CORE::Scene::_environment [private]
 

the light sources for the scene

Definition at line 70 of file Scene.hxx.

RExtension Scene::_extensionData [static, private]
 

Initial value:

 RExtension(RExtension::SUPERCLASSID_SCENE,
                                                                                                                                RExtension::CLASSID_CORE_SCENE,
                                                                                                                                1,
                                                                                                                                1,
                                                                                                                                "Scene",
                                                                                                                                "Scene",
                                                                                                                                "rayGina::CORE::Team",
                                                                                                                                "core@raygina.de",
                                                                                                                                "www.raygina.de",
                                                                                                                                Scene::_createInstance,
                                                                                                                                Scene::_initialize)

Definition at line 20 of file Scene.cxx.

RspFinishedRects* RayGina::CORE::Scene::_finishedRectsList [private]
 

Definition at line 76 of file Scene.hxx.

RTime RayGina::CORE::Scene::_frame_length [private]
 

length of one frame

Definition at line 33 of file Scene.hxx.

RTime RayGina::CORE::Scene::_length [private]
 

scene length

Definition at line 31 of file Scene.hxx.

RlsGroup* RayGina::CORE::Scene::_lightset [private]
 

the light sources for the scene

Definition at line 64 of file Scene.hxx.

bool RayGina::CORE::Scene::_motion_blur [private]
 

if true motion blur is activated

Definition at line 43 of file Scene.hxx.

RTime RayGina::CORE::Scene::_motion_blur_time [private]
 

how long is the shutter open?

Definition at line 35 of file Scene.hxx.

RUInt32 RayGina::CORE::Scene::_numOfThreads [private]
 

Definition at line 78 of file Scene.hxx.

RobGroup* RayGina::CORE::Scene::_objects [private]
 

the objects in a scene

Definition at line 55 of file Scene.hxx.

RRect RayGina::CORE::Scene::_render_rect [private]
 

the rectangle with will be rendered(it is not necessity that this rect is equal to the size of the image)

Definition at line 49 of file Scene.hxx.

RRenderCom* RayGina::CORE::Scene::_rendercom [private]
 

the RRenderCom for shader communication and light caching

Definition at line 61 of file Scene.hxx.

RtList RayGina::CORE::Scene::_renderthreads [private]
 

Definition at line 77 of file Scene.hxx.

RspBase* RayGina::CORE::Scene::_rsp [private]
 

Definition at line 75 of file Scene.hxx.

RsmBase* RayGina::CORE::Scene::_sampler [private]
 

the light sources for the scene

Definition at line 67 of file Scene.hxx.

unsigned int RayGina::CORE::Scene::_start_frame [private]
 

start frame

Definition at line 38 of file Scene.hxx.

RTime RayGina::CORE::Scene::_start_time [private]
 

start time

Definition at line 27 of file Scene.hxx.

RvsBase* RayGina::CORE::Scene::_startVolumeShader [private]
 

the start volume for the scene

Definition at line 73 of file Scene.hxx.

RimBase* RayGina::CORE::Scene::_target_image [private]
 

where we save the calculated colors ;-)

Definition at line 46 of file Scene.hxx.


The documentation for this class was generated from the following files:
Generated on Sun Dec 2 17:01:12 2007 for rayGina by  doxygen 1.3.9.1