Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

VIEW::LightSource Class Reference
[Setup of the Stage, Camera and LightSources]

Light source is mainly used for Renderer classes (e.g. More...

#include <stage.h>

List of all members.

Public Types

enum  Types { AMBIENT = 0, POSITIONAL, DIRECTIONAL }
 Enumeration of different types of lights. More...

Public Member Functions

virtual void dump (std::ostream &s=std::cout, Size depth=0) const throw ()
 Internal value dump.
Constructors and Destructors
 LightSource () throw ()
 Constructor.
 LightSource (const LightSource &light_source) throw ()
 Copy Constructor.
virtual ~LightSource () throw ()
 Destructor.
Accessors
const Vector3getPosition () const throw ()
 Get position.
void setPosition (const Vector3 &position) throw ()
 Set position.
const Vector3getDirection () const throw ()
 Get the direction vector of the light.
void setDirection (const Vector3 &direction) throw ()
 Set the direction vector of the light.
const AnglegetAngle () const throw ()
 Get the angle of the light cone.
void setAngle (const Angle &angle) throw ()
 Set the angle of the light cone.
float getIntensity () const throw ()
 Get the light intensity.
void setIntensity (float intensity) throw ()
 Set the intensity.
const ColorRGBAgetColor () const throw ()
 Get the color of the light.
void setColor (const ColorRGBA &color) throw ()
 Set the color of the light.
Index getType () const throw ()
 Get the type of the light.
void setType (Types type) throw ()
 Set the type of the light.
void setRelativeToCamera (bool state) throw ()
 If set to true, the LightSource will move with the Camera.
bool isRelativeToCamera () const throw ()
 Test if a LightSource will move with the Camera.
LightSourceoperator= (const LightSource &light) throw ()
bool operator< (const LightSource &light) const throw ()
 needed for MSVC, dont use it otherwise!
Predicates
bool operator== (const LightSource &light_source) const throw ()

Protected Attributes

Vector3 position_
Vector3 direction_
Vector3 r_position_
Vector3 r_direction_
Angle angle_
float intensity_
ColorRGBA color_
Index type_
bool relative_


Detailed Description

Light source is mainly used for Renderer classes (e.g.

OpenGL and POVRay). Currently we support ambient, positional and directional light sources. The Position and direction of lights can be stored twofold:


Member Enumeration Documentation

enum VIEW::LightSource::Types
 

Enumeration of different types of lights.

Enumeration values:
AMBIENT  Ambient light doesn't come from any particular direction.

All the objects in the scene will be lit up by the ambient light.

POSITIONAL  Diffuse light is created the light source and is reflected off the surface of any object in the scene.

Any surface of an object that the light hits directly will be very bright, and areas the light barely gets to will be darker.


Member Function Documentation

virtual void VIEW::LightSource::dump std::ostream &  s = std::cout,
Size  depth = 0
const throw () [virtual]
 

Internal value dump.

Dump the current state of this instance to the output ostream s with dumping depth depth.

Parameters:
s output stream
depth the dumping depth

const ColorRGBA& VIEW::LightSource::getColor  )  const throw ()
 

Get the color of the light.

The alpha channel of the color is ignored.

float VIEW::LightSource::getIntensity  )  const throw ()
 

Get the light intensity.

0 is the minumum, 1 is the maximum.

Index VIEW::LightSource::getType  )  const throw ()
 

Get the type of the light.

See also:
Types

void VIEW::LightSource::setColor const ColorRGBA color  )  throw ()
 

Set the color of the light.

The alpha channel of the color is ignored.

void VIEW::LightSource::setIntensity float  intensity  )  throw ()
 

Set the intensity.

0 is the minumum, 1 is the maximum.

void VIEW::LightSource::setType Types  type  )  throw ()
 

Set the type of the light.

See also:
Types