Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

CLightSource Class Reference

#include <CLightSource.h>

List of all members.

Public Types

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

Public Methods

 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 &   light
 

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   rfIntensity = 50.0,
float   rfExponent = 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

CV3D CLightSource::m_Direction [private]
 

LightSourceType CLightSource::m_LightSourceType [private]
 

LightStatus CLightSource::m_LightStatus [private]
 

CP3D CLightSource::m_Point [private]
 

float CLightSource::m_arfColor[3] [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 at Thu Oct 4 17:17:29 2001 for QGLViewer by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001