/* -*- 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