CLightSource Class Reference

#include <CLightSource.h>

List of all members.

Public Types

 ON
 OFF
 DIRECTIONAL
 POINT
 CONE
 CONE_DIFFUSE
enum  LightStatus { ON, OFF }
enum  LightSourceType { DIRECTIONAL, POINT, CONE, CONE_DIFFUSE }

Public Member Functions

 CLightSource ()
 CLightSource (const CLightSource &)
 CLightSource (LightSourceType nType)
 CLightSource (const CV3D &direction, float rfIntensity=1.0)
 CLightSource (const CP3D &point, float rfIntensity=1.0)
 CLightSource (const CP3D &point, const CV3D &direction, float rfAngle, float rfIntensity=1.0)
 CLightSource (const CP3D &point, const CV3D &direction, float rfAngle, float rfExponent=50.0, float rfIntensity=1.0)
virtual ~CLightSource ()
LightSourceType getType () const
LightStatus getStatus () const
const float * getColor () const
const CP3DgetPosition () const
CV3D getDirection (const CP3D &point) const
const CV3DgetDirection () const
CV3D getDirectionToLight () const
float getIntensity () const
float getIntensity (const CP3D &point) const
float getExponent () const
float getAngle () const
float getConstantAttenuation () const
float getLinearAttenuation () const
float getQuadraticAttenuation () const
void setType (LightSourceType nType)
int setStatus (LightStatus status)
int setPosition (const CP3D &point)
int setDirection (const CV3D &direction)
int setAngle (float rfAngle)
int setExponent (float rfExponent)
int setIntensity (float rfIntensity)
void setColor (float rfRed, float rfGreen, float rfBlue)
void setConstantAttenuation (float rfValue)
void setLinearAttenuation (float rfValue)
void setQuadraticAttenuation (float rfValue)

Private Attributes

LightSourceType m_LightSourceType
LightStatus m_LightStatus
CP3D m_Point
CV3D m_Direction
float m_arfColor [3]
float m_rfIntensity
float m_rfAngle
float m_rfExponent
float m_rfConstantAttenuation
float m_rfLinearAttenuation
float m_rfQuadraticAttenuation


Detailed Description

This class defines a light source with different attributes like type, color, ...

Author:
Michael Meissner, Michael Guthe


Member Enumeration Documentation

enum CLightSource::LightSourceType

Enumerator:
DIRECTIONAL 
POINT 
CONE 
CONE_DIFFUSE 

enum CLightSource::LightStatus

Enumerator:
ON 
OFF 


Constructor & Destructor Documentation

CLightSource::CLightSource (  )  [inline]

Default constructor. Default type is a point light source which is switched on and emits white color light on full intensity.

CLightSource::CLightSource ( const CLightSource  ) 

Copy Constructor.

CLightSource::CLightSource ( LightSourceType  nType  ) 

Constructor defining the type.

CLightSource::CLightSource ( const CV3D direction,
float  rfIntensity = 1.0 
)

Constructor defining a directional lightsource.

CLightSource::CLightSource ( const CP3D point,
float  rfIntensity = 1.0 
)

Constructor defining a point lightsource.

CLightSource::CLightSource ( const CP3D point,
const CV3D direction,
float  rfAngle,
float  rfIntensity = 1.0 
)

Constructor defining a cone lightsource.

CLightSource::CLightSource ( const CP3D point,
const CV3D direction,
float  rfAngle,
float  rfExponent = 50.0,
float  rfIntensity = 1.0 
)

Constructor defining a diffuse cone lightsource.

virtual CLightSource::~CLightSource (  )  [inline, virtual]


Member Function Documentation

float CLightSource::getAngle (  )  const [inline]

Returns the opening angle of the light.

const float* CLightSource::getColor (  )  const [inline]

Returns the color of the light.

float CLightSource::getConstantAttenuation (  )  const [inline]

Returns the const attenuation.

const CV3D& CLightSource::getDirection (  )  const [inline]

Returns the direction of the light.

CV3D CLightSource::getDirection ( const CP3D point  )  const

Returns the light direction at the given point.

CV3D CLightSource::getDirectionToLight (  )  const [inline]

Returns the inverse direction of the light.

float CLightSource::getExponent (  )  const [inline]

Returns the exponent of the intensity distribution of the light (used for cone light sources with diffuse light distribution properties). .

float CLightSource::getIntensity ( const CP3D point  )  const

Returns the light intensity at the given point.

float CLightSource::getIntensity (  )  const [inline]

Returns the intensity of the light.

float CLightSource::getLinearAttenuation (  )  const [inline]

Returns the linear attenuation.

const CP3D& CLightSource::getPosition (  )  const [inline]

Returns the position of the light.

float CLightSource::getQuadraticAttenuation (  )  const [inline]

Returns the quadratic attenuation.

LightStatus CLightSource::getStatus (  )  const [inline]

Returns the status of the light.

LightSourceType CLightSource::getType (  )  const [inline]

Returns the type of the lightsource.

int CLightSource::setAngle ( float  rfAngle  ) 

Sets the opening angle of the light.

void CLightSource::setColor ( float  rfRed,
float  rfGreen,
float  rfBlue 
)

Sets the color of the light source.

void CLightSource::setConstantAttenuation ( float  rfValue  )  [inline]

Sets the const attenuation.

int CLightSource::setDirection ( const CV3D direction  ) 

Sets the direction of the light.

int CLightSource::setExponent ( float  rfExponent  ) 

Sets the exponent of the intensity distribution of the light (used for cone light sources with diffuse light distribution properties). .

int CLightSource::setIntensity ( float  rfIntensity  ) 

Sets the intensity of the light.

void CLightSource::setLinearAttenuation ( float  rfValue  )  [inline]

Sets the linear attenuation.

int CLightSource::setPosition ( const CP3D point  ) 

Sets the position of the light.

void CLightSource::setQuadraticAttenuation ( float  rfValue  )  [inline]

Sets the quadratic attenuation.

int CLightSource::setStatus ( LightStatus  status  )  [inline]

Sets the position of the light.

void CLightSource::setType ( LightSourceType  nType  )  [inline]

Sets the type of the lightsource.


Member Data Documentation

float CLightSource::m_arfColor[3] [private]

CV3D CLightSource::m_Direction [private]

LightSourceType CLightSource::m_LightSourceType [private]

LightStatus CLightSource::m_LightStatus [private]

CP3D CLightSource::m_Point [private]

float CLightSource::m_rfAngle [private]

float CLightSource::m_rfConstantAttenuation [private]

float CLightSource::m_rfExponent [private]

float CLightSource::m_rfIntensity [private]

float CLightSource::m_rfLinearAttenuation [private]

float CLightSource::m_rfQuadraticAttenuation [private]


The documentation for this class was generated from the following files:
Generated on Mon Jul 10 12:45:59 2006 for QGLViewer by  doxygen 1.4.7