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:


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 

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


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.

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

Get the attenuation parameters of the light.

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

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

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

Get the direction vector of the light.

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

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

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

Get position.

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

Get the type of the light.

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

Test if a LightSource will move with the Camera.

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.

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

Set the attenuation parameters of the light.

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

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

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

Set the direction vector of the light.

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

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

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

Set position.

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

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

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

Set the type of the light.

See also:
Types

Member Data Documentation