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 45 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 50 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 83 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 116 of file stage.h.

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

Get the attenuation parameters of the light.

Definition at line 107 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 138 of file stage.h.

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

Get the direction vector of the light.

Definition at line 99 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 126 of file stage.h.

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

Get position.

Definition at line 91 of file stage.h.

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

Get the type of the light.

See also:
Types

Definition at line 150 of file stage.h.

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

Test if a LightSource will move with the Camera.

Definition at line 164 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 120 of file stage.h.

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

Set the attenuation parameters of the light.

Definition at line 111 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 144 of file stage.h.

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

Set the direction vector of the light.

Definition at line 103 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 132 of file stage.h.

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

Set position.

Definition at line 95 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 160 of file stage.h.

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

Set the type of the light.

See also:
Types

Definition at line 156 of file stage.h.


Member Data Documentation

Definition at line 209 of file stage.h.

Definition at line 200 of file stage.h.

Definition at line 215 of file stage.h.

Definition at line 197 of file stage.h.

Definition at line 212 of file stage.h.

Definition at line 194 of file stage.h.

Definition at line 206 of file stage.h.

Definition at line 203 of file stage.h.

Definition at line 221 of file stage.h.

Definition at line 218 of file stage.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3