/* -*- C++ -*-
* directionallight.h
* $Id: directionallight.h,v 1.2 2000/07/21 22:31:43 ghali Exp $
*/
#ifndef DIRECTIONALLIGHT_H
#define DIRECTIONALLIGHT_H
#include <iostream.h>
#include <GL/glut.h>
#include "../geom/point3d.h"
#include "../other/color.h"
#include "light.h"
namespace MSG {
class DirectionalLight : public Light {
public:
Point3d position; // a directional light is identified by
// a position as a reference point with
// respect to the origin
GLfloat Lposition[4];
public:
DirectionalLight(const Point3d& _position,
const Color& _ambient = Color::defaultAmbientLight,
const Color& _diffuse = Color::defaultDiffuseLight,
const Color& _specular = Color::defaultSpecularLight);
void issueGLcommands();
virtual void render(std::vector<ActiveLight*>* &activelights,
std::vector<TransformGroup*> transforms);
virtual bool handleEvent(Event* event); // true = event was handled
friend ostream& operator<<( ostream& out,
const DirectionalLight& directionallight );
};
}
#endif