00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __COLORRGBA_H__
00030 #define __COLORRGBA_H__
00031
00032 #include "X3DColorNode.h"
00033 #include "FieldTemplates.h"
00034 #include <GL/glew.h>
00035 #include "MFColorRGBA.h"
00036
00037 namespace H3D {
00053 class H3DAPI_API ColorRGBA : public X3DColorNode {
00054 public:
00056 ColorRGBA( Inst< MFColorRGBA> _color = 0,
00057 Inst< SFNode > _metadata = 0 );
00058
00061 virtual void render( int index ) {
00062 const RGBA &c = color->getValueByIndex( index );
00063 glColor4f( c.r, c.g, c.b, c.a );
00064 }
00065
00068 virtual void renderArray();
00069
00071 virtual void disableArray();
00072
00074 virtual unsigned int nrAvailableColors() {
00075 return color->size();
00076 }
00077
00081 auto_ptr< MFColorRGBA > color;
00082
00084 static H3DNodeDatabase database;
00085 };
00086 }
00087
00088 #endif