00001
00002
00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019
00020
00021 #ifndef IGCOLOR_H
00022 #define IGCOLOR_H
00023
00024 #include <fstream.h>
00025 #include <GL/glut.h>
00026
00027 class IGColor {
00028 private:
00030 double red;
00032 double green;
00034 double blue;
00035
00037 double Clamp(double v) const;
00038 public:
00041 IGColor(double gray=0.0);
00043 IGColor(double r, double g, double b);
00044 IGColor(const IGColor& C);
00045 ~IGColor();
00046 void SetColor(void) const;
00047 IGColor& operator=(const IGColor& C);
00049 double Red(void) const { return red; }
00051 double& Red(void) { return red; }
00053 double Green(void) const { return green; }
00055 double& Green(void) { return green; }
00057 double Blue(void) const { return blue; }
00059 double& Blue(void) { return blue; }
00060
00063 friend istream& operator>>(istream& in, IGColor& C);
00066 friend ostream& operator<<(ostream& out, const IGColor& C);
00067 };
00068
00069 #endif