#ifndef _LIGHT_H #define _LIGHT_H // // ============================================================ // // Light.h // // ============================================================ // // // Copyright (C) 1997 // // Professor Kenneth I. Joy // Computer Science Department // University of California // Davis, CA 95616 // // Permission is granted to use at your own risk and // distribute this software in source and binary forms // provided the above copyright notice and this paragraph // are preserved on all copies. This software is provided // "as is" with no express or implied warranty. // // // ============================================================ // #include "Point.h" #include "Color.h" #include "Transformation.h" class Light { private : // Position of the Light Source Point _position ; // Color of the source Color _diffuse ; public: // Constructors Light() ; Light ( const Point&, const Color& = White ) ; // Copy Constructor Light ( const Light & ) ; // Destructor ; virtual ~Light() ; // Assignment Light& operator= ( const Light & ) ; // Output friend ostream& operator<< ( ostream&, const Light& ) ; ostream& output ( ostream& ) const ; // Access Functions Point position() const { return _position ; } Color diffuse() const { return _diffuse ; } ; void set_position ( const Point& p ) { _position = p ; } ; void set_diffuse ( const Color& d ) { _diffuse = d ; } ; void GL() const ; } ; #endif