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