Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound 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 Wed Mar 5 18:23:25 2003 for QGLViewer by doxygen1.3-rc3