| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Color.h

Go to the documentation of this file.
00001 // $Id: Color.h,v 1.3 2003/04/16 17:50:35 sponce Exp $
00002 #ifndef VISSVC_COLOR_H 
00003 #define VISSVC_COLOR_H 1
00004 
00005 // Include files
00006 
00019 class Color {
00020 public:
00022   Color (); 
00023   Color (float R, float G, float B); 
00024   Color (float R, float G, float B, float A); 
00025   Color (const float [4]);
00026 
00027   const float* value() const;
00028   const float red () const;
00029   const float green () const;
00030   const float blue () const;
00031   const float alpha () const;
00032 
00033   bool isValid() const;
00034   bool operator== (const Color& c) const;
00035   bool operator!= (const Color& c) const;
00036 
00037 protected:
00038   float vec[4];
00039 };
00040 
00041 inline Color::Color () {
00042   vec[0] = 2;
00043   vec[1] = 2;
00044   vec[2] = 2;
00045   vec[3] = 2;
00046 }
00047 
00048 inline Color::Color (float R, float G, float B) {
00049   vec[0] = R;
00050   vec[1] = G;
00051   vec[2] = B;
00052   vec[3] = 0;
00053 }
00054 
00055 inline Color::Color (float R, float G, float B, float A) {
00056   vec[0] = R;
00057   vec[1] = G;
00058   vec[2] = B;
00059   vec[3] = A;
00060 }
00061 
00062 inline const float* Color::value() const {
00063   return vec;
00064 }
00065 
00066 inline const float Color::red () const {
00067   return vec[0];
00068 }
00069 
00070 inline const float Color::green () const {
00071   return vec[1];
00072 }
00073 
00074 inline const float Color::blue () const {
00075   return vec[2];
00076 }
00077 
00078 inline const float Color::alpha () const {
00079   return vec[3];
00080 }
00081 
00082 inline bool Color::isValid() const {
00083   return vec[0] >= 0 && vec[0] <= 1 &&
00084     vec[1] >= 0 && vec[1] <= 1 &&
00085     vec[2] >= 0 && vec[2] <= 1 &&
00086     vec[3] >= 0 && vec[3] <= 1;
00087 }
00088 
00089 inline bool Color::operator==(const Color& c) const {
00090   return vec[0] == c.red() && vec[1] == c.green() &&
00091     vec[2] == c.blue() && vec[3] == c.alpha();
00092 }
00093 
00094 inline bool Color::operator!= (const Color& c) const {
00095   return !this->operator==(c);
00096 }
00097 
00098 #endif // VISSVC_COLOR_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:45 2011 for VisSvc by doxygen 1.4.7