CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

iLight Struct Reference
[Lighting]

The iLight interface is the SCF interface for the csLight class. More...

#include <light.h>

Inheritance diagram for iLight:

iBase csLight::Light List of all members.

Public Methods

virtual csLight * GetPrivateObject ()=0
 Get private pointer to light object. UGLY. More...

virtual const char * GetLightID ()=0
 Get the id of this light. This is a 16-byte MD5. More...

virtual iObject * QueryObject ()=0
 Get the iObject for this light. More...

virtual const csVector3 & GetCenter ()=0
 Get the position of this light. More...

virtual void SetCenter (const csVector3 &pos)=0
 Set the position of this light. More...

virtual iSector * GetSector ()=0
 Get the sector for this light. More...

virtual void SetSector (iSector *sector)=0
 Set the sector for this light. More...

virtual float GetRadius ()=0
 Get the radius. More...

virtual float GetSquaredRadius ()=0
 Get the squared radius. More...

virtual float GetInverseRadius ()=0
 Get the inverse radius. More...

virtual void SetRadius (float r)=0
 Set the radius. More...

virtual const csColor & GetColor ()=0
 Get the color of this light. More...

virtual void SetColor (const csColor &col)=0
 Set the color of this light. More...

virtual bool IsDynamic () const=0
 Return true if this light is pseudo-dynamic. More...

virtual int GetAttenuation ()=0
 Return current attenuation mode. More...

virtual void SetAttenuation (int a)=0
 Set attenuation mode. More...

virtual iCrossHalo * CreateCrossHalo (float intensity, float cross)=0
 Create a cross halo for this light. More...

virtual iNovaHalo * CreateNovaHalo (int seed, int num_spokes, float roundness)=0
 Create a nova halo for this light. More...

virtual iFlareHalo * CreateFlareHalo ()=0
 Create a flare halo for this light. More...

virtual float GetBrightnessAtDistance (float d)=0
 Get the brightness of a light at a given distance. More...

virtual csFlags & GetFlags ()=0
 Get flags for this light. More...

virtual void SetLightCallback (iLightCallback *cb)=0
 Set the light callback. More...

virtual void RemoveLightCallback (iLightCallback *cb)=0
 Remove a light callback. More...

virtual int GetLightCallbackCount () const=0
 Get the number of light callbacks. More...

virtual iLightCallback * GetLightCallback (int idx) const=0
 Get the specified light callback. More...

virtual uint32 GetLightNumber () const=0
 Return a number that changes when the light changes (color, or position). More...


Detailed Description

The iLight interface is the SCF interface for the csLight class.

First some terminology about all the several types of lights that Crystal Space supports:

Note that static and pseudo-dynamic lights are represented by the same csStatLight class.

Definition at line 151 of file iengine/light.h.


Member Function Documentation

virtual iCrossHalo* iLight::CreateCrossHalo (  float    intensity,
float    cross
)  [pure virtual]
 

Create a cross halo for this light.

Implemented in csLight::Light.

virtual iFlareHalo* iLight::CreateFlareHalo (    )  [pure virtual]
 

Create a flare halo for this light.

Implemented in csLight::Light.

virtual iNovaHalo* iLight::CreateNovaHalo (  int    seed,
int    num_spokes,
float    roundness
)  [pure virtual]
 

Create a nova halo for this light.

Implemented in csLight::Light.

virtual int iLight::GetAttenuation (    )  [pure virtual]
 

Return current attenuation mode.

Implemented in csLight::Light.

virtual float iLight::GetBrightnessAtDistance (  float    d )  [pure virtual]
 

Get the brightness of a light at a given distance.

Implemented in csLight::Light.

virtual const csVector3& iLight::GetCenter (    )  [pure virtual]
 

Get the position of this light.

Implemented in csLight::Light.

virtual const csColor& iLight::GetColor (    )  [pure virtual]
 

Get the color of this light.

Implemented in csLight::Light.

virtual csFlags& iLight::GetFlags (    )  [pure virtual]
 

Get flags for this light.

Supported flags:

Implemented in csLight::Light.

virtual float iLight::GetInverseRadius (    )  [pure virtual]
 

Get the inverse radius.

Implemented in csLight::Light.

virtual iLightCallback* iLight::GetLightCallback (  int    idx )  const [pure virtual]
 

Get the specified light callback.

Implemented in csLight::Light.

virtual int iLight::GetLightCallbackCount (    )  const [pure virtual]
 

Get the number of light callbacks.

Implemented in csLight::Light.

virtual const char* iLight::GetLightID (    )  [pure virtual]
 

Get the id of this light. This is a 16-byte MD5.

Implemented in csLight::Light.

virtual uint32 iLight::GetLightNumber (    )  const [pure virtual]
 

Return a number that changes when the light changes (color, or position).

Implemented in csLight::Light.

virtual csLight* iLight::GetPrivateObject (    )  [pure virtual]
 

Get private pointer to light object. UGLY.

Implemented in csLight::Light.

virtual float iLight::GetRadius (    )  [pure virtual]
 

Get the radius.

Implemented in csLight::Light.

virtual iSector* iLight::GetSector (    )  [pure virtual]
 

Get the sector for this light.

Implemented in csLight::Light.

virtual float iLight::GetSquaredRadius (    )  [pure virtual]
 

Get the squared radius.

Implemented in csLight::Light.

virtual bool iLight::IsDynamic (    )  const [pure virtual]
 

Return true if this light is pseudo-dynamic.

Implemented in csLight::Light.

virtual iObject* iLight::QueryObject (    )  [pure virtual]
 

Get the iObject for this light.

Implemented in csLight::Light.

virtual void iLight::RemoveLightCallback (  iLightCallback *    cb )  [pure virtual]
 

Remove a light callback.

Implemented in csLight::Light.

virtual void iLight::SetAttenuation (  int    a )  [pure virtual]
 

Set attenuation mode.

The following values are possible (default is CS_ATTN_LINEAR):

Implemented in csLight::Light.

virtual void iLight::SetCenter (  const csVector3 &    pos )  [pure virtual]
 

Set the position of this light.

Implemented in csLight::Light.

virtual void iLight::SetColor (  const csColor &    col )  [pure virtual]
 

Set the color of this light.

Implemented in csLight::Light.

virtual void iLight::SetLightCallback (  iLightCallback *    cb )  [pure virtual]
 

Set the light callback.

This will call IncRef() on the callback So make sure you call DecRef() to release your own reference.

Implemented in csLight::Light.

virtual void iLight::SetRadius (  float    r )  [pure virtual]
 

Set the radius.

Implemented in csLight::Light.

virtual void iLight::SetSector (  iSector *    sector )  [pure virtual]
 

Set the sector for this light.

Implemented in csLight::Light.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.14