00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CIvfColorList_h_
00026 #define _CIvfColorList_h_
00027
00028 #include <ivf/IvfBase.h>
00029
00030 #include <ivf/IvfGL.h>
00031
00032 IvfSmartPointer(CIvfColorList);
00033
00043 class IVF_API CIvfColorList : public CIvfBase {
00044 private:
00045 GLfloat* m_color;
00046 long m_allocSize;
00047 long m_size;
00048 long m_blockSize;
00049 long m_next;
00050 public:
00052 CIvfColorList();
00053
00055 virtual ~CIvfColorList();
00056
00057 IvfClassInfo("CIvfColorList",CIvfBase);
00058
00060 void clear();
00061
00063 void getColor(int idx, float &red, float &green, float &blue);
00064
00066 int getSize();
00067
00069 void add(float red, float green, float blue);
00070
00072 GLint getCompSize();
00073
00075 GLsizei getStride();
00076
00078 GLenum getDataType();
00079
00081 void* getData();
00082 protected:
00083 float getComp(int idx);
00084 void add(float comp);
00085 };
00086
00087 #endif