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 __FILLPROPERTIES_H__
00030 #define __FILLPROPERTIES_H__
00031
00032 #include "X3DAppearanceChildNode.h"
00033 #include "SFColor.h"
00034 #include "SFInt32.h"
00035
00036 namespace H3D {
00037
00074 class H3DAPI_API FillProperties : public X3DAppearanceChildNode {
00075 public:
00076
00078 FillProperties( Inst< DisplayList > _displayList = 0,
00079 Inst< SFBool > _filled = 0,
00080 Inst< SFColor > _hatchColor = 0,
00081 Inst< SFBool > _hatched = 0,
00082 Inst< SFInt32 > _hatchStyle = 0,
00083 Inst< SFNode > _metadata = 0 );
00084
00089 virtual void preRender() {
00090 glPushAttrib( GL_POLYGON_BIT | GL_LIGHTING_BIT | GL_CURRENT_BIT );
00091 }
00092
00096 virtual void postRender() {
00097 glPopAttrib();
00098 }
00099
00101 virtual void render();
00102
00106 virtual string defaultXMLContainerField() {
00107 return "fillProperties";
00108 }
00109
00117 auto_ptr< SFBool > filled;
00118
00124 auto_ptr< SFColor > hatchColor;
00125
00132 auto_ptr< SFBool > hatched;
00133
00142 auto_ptr< SFInt32 > hatchStyle;
00143
00145 static H3DNodeDatabase database;
00146 };
00147 }
00148
00149 #endif