Main Page   Namespace List   Class Hierarchy   Compound List   File List   Header Files   Namespace Members   Compound Members   File Members   Related Pages  

/msg/src/nodes/light.h

This is the verbatim text of the light.h include file.
/* -*- C++ -*-
 * light.h
 * $Id: light.h,v 1.2 2000/07/21 22:31:44 ghali Exp $
 */

#ifndef LIGHT_H
#define LIGHT_H

#include <iostream.h>
#include <GL/glut.h>
#include "../geom/point3d.h"
#include "../other/color.h"
#include "group.h"

namespace MSG {

  class Light : public Group {
  public:

    Color ambient;
    Color diffuse;
    Color specular;

    GLfloat Lambient[4];
    GLfloat Ldiffuse[4];
    GLfloat Lspecular[4];

  public:
    Light(const Color&   _ambient  = Color::defaultAmbientLight,
          const Color&   _diffuse  = Color::defaultDiffuseLight,
          const Color&   _specular = Color::defaultSpecularLight);

    virtual void render(std::vector<ActiveLight*>* &activelights,
                        std::vector<TransformGroup*> transforms) = 0;
    virtual bool handleEvent(Event* event) = 0;

    // friend ostream& operator<<( ostream& out, const PointLight& pointlight );
  };
}
#endif

Generated at Sat Jul 22 00:32:15 2000 for MSG by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999