00001
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #pragma once
00035
00036 #include "K3dOpenGL.h"
00037
00038 class K3dColor4
00039 {
00040 GLubyte m_aColor[4];
00041 int m_iId;
00042 public:
00043 K3dColor4();
00044 ~K3dColor4();
00045
00047 void Reset();
00048
00050 GLubyte *GetColorArray()
00051 {
00052 return m_aColor;
00053 }
00054
00056 int &GetId()
00057 {
00058 return m_iId;
00059 }
00060
00062 GLubyte &operator[] ( int i )
00063 {
00064 if ( ! ( 0 <= i ) && ( i < 4 ) )
00065 {
00066 cerr << "Error index -- Index must be from 0 to 3" << i <<endl;
00067 return m_aColor[0];
00068 }
00069 return m_aColor[i];
00070 }
00071 GLubyte operator[] ( int i ) const
00072 {
00073 if ( ! ( 0 <= i ) && ( i < 4 ) )
00074 {
00075 cerr << "Error index -- Index must be from 0 to 3" << i <<endl;
00076 return m_aColor[0];
00077 }
00078 return m_aColor[i];
00079 }
00080
00082 GLubyte &GetR()
00083 {
00084 return m_aColor[0];
00085 }
00086
00088 GLubyte &GetG()
00089 {
00090 return m_aColor[1];
00091 }
00092
00094 GLubyte &GetB()
00095 {
00096 return m_aColor[2];
00097 }
00098
00100 GLubyte &GetA()
00101 {
00102 return m_aColor[3];
00103 }
00104 };
00105