Source: raytracer/lightsource.h
|
|
|
|
/* *************************************************************************
lightsource.h - description
-------------------
begin : Wed Oct 16 2002
copyright : (C) 2002 by Micha Riser
email : mriser@gmx.net
************************************************************************* */
/* *************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
************************************************************************* */
#ifndef LIGHTSOURCE_H
#define LIGHTSOURCE_H
#include "transformatable.h"
#include "vector.h"
#include "lightray.h"
#include "colour.h"
#include "cameraray.h"
/**Superclass for all light sources.
*@author Micha Riser
*/
class LightSource: public Transformatable {
public: // Constructors and destructor
LightSource(Vector3 location): Transformatable(location) {}
public: // Public methods
Vector3 location() {return translation;}
// Pure virtual methods
virtual LightRay shineTo(const Vector3& to, InsideList* l) const = 0;
virtual Colour3 enlight(const CameraRay& cray, const Texture* t, InsideList* l) const = 0;
};
#endif
| Generated by: micha@laptop on Thu Oct 24 20:25:24 2002, using kdoc 2.0a53. |