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

#include <BALL/VIEW/KERNEL/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
Constructors and Destructors

 LightSource ()
 LightSource (const LightSource &light_source)
virtual ~LightSource ()
Accessors

const Vector3getPosition () const
 Get position.
void setPosition (const Vector3 &position)
 Set position.
const Vector3getDirection () const
 Get the direction vector of the light.
void setDirection (const Vector3 &direction)
 Set the direction vector of the light.
const Vector3getAttenuation () const
 Get the attenuation parameters of the light.
void setAttenuation (const Vector3 &attenuation)
 Set the attenuation parameters of the light.
const AnglegetAngle () const
 Get the angle of the light cone.
void setAngle (const Angle &angle)
 Set the angle of the light cone.
float getIntensity () const
void setIntensity (float intensity)
const ColorRGBAgetColor () const
void setColor (const ColorRGBA &color)
Index getType () const
void setType (Types type)
void setRelativeToCamera (bool state)
 If set to true, the LightSource will move with the Camera.
bool isRelativeToCamera () const
 Test if a LightSource will move with the Camera.
LightSourceoperator= (const LightSource &light)
bool operator< (const LightSource &light) const
 needed for MSVC, dont use it otherwise!
Predicates

bool operator== (const LightSource &light_source) const

Protected Attributes

Vector3 position_
Vector3 direction_
Vector3 attenuation_
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:

Definition at line 46 of file stage.h.


Member Enumeration Documentation

Enumeration of different types of lights.

Enumerator:
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.

DIRECTIONAL 

Definition at line 51 of file stage.h.


Constructor & Destructor Documentation

BALL::VIEW::LightSource::LightSource (  ) 

Constructor

BALL::VIEW::LightSource::LightSource ( const LightSource light_source  ) 

Copy Constructor

virtual BALL::VIEW::LightSource::~LightSource (  )  [inline, virtual]

Destructor

Definition at line 84 of file stage.h.


Member Function Documentation

virtual void BALL::VIEW::LightSource::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [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 Angle& BALL::VIEW::LightSource::getAngle (  )  const [inline]

Get the angle of the light cone.

Definition at line 117 of file stage.h.

const Vector3& BALL::VIEW::LightSource::getAttenuation (  )  const [inline]

Get the attenuation parameters of the light.

Definition at line 108 of file stage.h.

const ColorRGBA& BALL::VIEW::LightSource::getColor (  )  const [inline]

Get the color of the light. The alpha channel of the color is ignored.

Definition at line 139 of file stage.h.

const Vector3& BALL::VIEW::LightSource::getDirection (  )  const [inline]

Get the direction vector of the light.

Definition at line 100 of file stage.h.

float BALL::VIEW::LightSource::getIntensity (  )  const [inline]

Get the light intensity. 0 is the minumum, 1 is the maximum.

Definition at line 127 of file stage.h.

const Vector3& BALL::VIEW::LightSource::getPosition (  )  const [inline]

Get position.

Definition at line 92 of file stage.h.

Index BALL::VIEW::LightSource::getType (  )  const [inline]

Get the type of the light.

See also:
Types

Definition at line 151 of file stage.h.

bool BALL::VIEW::LightSource::isRelativeToCamera (  )  const [inline]

Test if a LightSource will move with the Camera.

Definition at line 165 of file stage.h.

bool BALL::VIEW::LightSource::operator< ( const LightSource light  )  const

needed for MSVC, dont use it otherwise!

LightSource& BALL::VIEW::LightSource::operator= ( const LightSource light  ) 
bool BALL::VIEW::LightSource::operator== ( const LightSource light_source  )  const
void BALL::VIEW::LightSource::setAngle ( const Angle angle  )  [inline]

Set the angle of the light cone.

Definition at line 121 of file stage.h.

void BALL::VIEW::LightSource::setAttenuation ( const Vector3 attenuation  )  [inline]

Set the attenuation parameters of the light.

Definition at line 112 of file stage.h.

void BALL::VIEW::LightSource::setColor ( const ColorRGBA color  )  [inline]

Set the color of the light. The alpha channel of the color is ignored.

Definition at line 145 of file stage.h.

void BALL::VIEW::LightSource::setDirection ( const Vector3 direction  )  [inline]

Set the direction vector of the light.

Definition at line 104 of file stage.h.

void BALL::VIEW::LightSource::setIntensity ( float  intensity  )  [inline]

Set the intensity. 0 is the minumum, 1 is the maximum.

Definition at line 133 of file stage.h.

void BALL::VIEW::LightSource::setPosition ( const Vector3 position  )  [inline]

Set position.

Definition at line 96 of file stage.h.

void BALL::VIEW::LightSource::setRelativeToCamera ( bool  state  )  [inline]

If set to true, the LightSource will move with the Camera.

Definition at line 161 of file stage.h.

void BALL::VIEW::LightSource::setType ( Types  type  )  [inline]

Set the type of the light.

See also:
Types

Definition at line 157 of file stage.h.


Member Data Documentation

Definition at line 210 of file stage.h.

Definition at line 201 of file stage.h.

Definition at line 216 of file stage.h.

Definition at line 198 of file stage.h.

Definition at line 213 of file stage.h.

Definition at line 195 of file stage.h.

Definition at line 207 of file stage.h.

Definition at line 204 of file stage.h.

Definition at line 222 of file stage.h.

Definition at line 219 of file stage.h.

Generated by  doxygen 1.6.3