Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

CLightSource Class Reference

#include <CLightSource.h>

List of all members.

Public Types

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
 

Enumeration values:
DIRECTIONAL 
POINT 
CONE 
CONE_DIFFUSE 

enum CLightSource::LightStatus
 

Enumeration values:
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 Tue Oct 21 02:15:02 2003 for QGLViewer by doxygen 1.3.4