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

RayGina::CORE::RlsGroup Class Reference

The Abstract base class for all light sources in rayGina. More...

#include <RlsGroup.hxx>

Inheritance diagram for RayGina::CORE::RlsGroup:

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

Public Member Functions

 RlsGroup ()
 create a empty light set
virtual ~RlsGroup ()
 deletes the light set
virtual const RStatus addLightSource (RlsBase *newLightSource)
 adds a light source to the group
virtual const RBool isEmpty () const
 returns true if there are no light sources in the set, otherwise false
virtual void IlluminateRay (RRenderCom *)
virtual void IlluminatePoint (RRenderCom *)
 illiminates a point in space
virtual const RUInt32 size () const
virtual RlsBasegetEntry (const RUInt32 index)
virtual const RStatus setEntry (const RUInt32 index, RlsBase *newEntry)
virtual const RExtensiongetInstanceExtension () const

Static Public Member Functions

RExtension__getExtension ()

Static Private Member Functions

RObject_createInstance ()
const RStatus _initialize (RatStaticContainer *attributes)

Private Attributes

RList< RlsBase * > _lightlist

Static Private Attributes

RExtension _extensionData
RatStaticContainer_attributes

Detailed Description

The Abstract base class for all light sources in rayGina.

This abstract class provides the interface to be implemented by a light source object.

Author:
rayGina::CORE Developers

Definition at line 15 of file RlsGroup.hxx.


Constructor & Destructor Documentation

RlsGroup::RlsGroup  ) 
 

create a empty light set

Definition at line 19 of file RlsGroup.cxx.

RlsGroup::~RlsGroup  )  [virtual]
 

deletes the light set

Definition at line 20 of file RlsGroup.cxx.


Member Function Documentation

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

RObject functions

Definition at line 83 of file RlsGroup.hxx.

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

Definition at line 23 of file RlsGroup.hxx.

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

Definition at line 27 of file RlsGroup.hxx.

const RStatus RlsGroup::addLightSource RlsBase newLightSource  )  [virtual]
 

adds a light source to the group

Definition at line 21 of file RlsGroup.cxx.

virtual RlsBase* RayGina::CORE::RlsGroup::getEntry const RUInt32  index  )  [inline, virtual]
 

Definition at line 48 of file RlsGroup.hxx.

virtual const RExtension* RayGina::CORE::RlsGroup::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 86 of file RlsGroup.hxx.

void RlsGroup::IlluminatePoint RRenderCom  )  [virtual]
 

illiminates a point in space

Implements RayGina::CORE::RlsBase.

Definition at line 36 of file RlsGroup.cxx.

void RlsGroup::IlluminateRay RRenderCom  )  [virtual]
 

illuminates a point on a surface described by the given ray the ray MUST contain a valid intersection

Implements RayGina::CORE::RlsBase.

Definition at line 29 of file RlsGroup.cxx.

const RBool RlsGroup::isEmpty  )  const [virtual]
 

returns true if there are no light sources in the set, otherwise false

Definition at line 26 of file RlsGroup.cxx.

virtual const RStatus RayGina::CORE::RlsGroup::setEntry const RUInt32  index,
RlsBase newEntry
[inline, virtual]
 

Definition at line 62 of file RlsGroup.hxx.

virtual const RUInt32 RayGina::CORE::RlsGroup::size  )  const [inline, virtual]
 

Definition at line 44 of file RlsGroup.hxx.


Member Data Documentation

RatStaticContainer* RayGina::CORE::RlsGroup::_attributes [static, private]
 

Definition at line 21 of file RlsGroup.hxx.

RExtension RlsGroup::_extensionData [static, private]
 

Initial value:

 RExtension(RExtension::SUPERCLASSID_LIGHT,
                                                                                                                                RExtension::CLASSID_CORE_RLS_GROUP,
                                                                                                                                1,
                                                                                                                                1,
                                                                                                                                "Group light",
                                                                                                                                "RlsGroup",
                                                                                                                                "rayGina::CORE::Team",
                                                                                                                                "core@raygina.de",
                                                                                                                                "www.raygina.de",
                                                                                                                                RlsGroup::_createInstance,
                                                                                                                                RlsGroup::_initialize
)

Definition at line 6 of file RlsGroup.cxx.

RList<RlsBase*> RayGina::CORE::RlsGroup::_lightlist [private]
 

Definition at line 17 of file RlsGroup.hxx.


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