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 __LINEPROPERTIES_H__
00030 #define __LINEPROPERTIES_H__
00031
00032 #include "X3DAppearanceChildNode.h"
00033 #include "SFInt32.h"
00034 #include "SFFloat.h"
00035
00036 namespace H3D {
00037
00071 class H3DAPI_API LineProperties : public X3DAppearanceChildNode {
00072 public:
00073
00075 LineProperties( Inst< DisplayList > _displayList = 0,
00076 Inst< SFNode > _metadata = 0,
00077 Inst< SFBool > _applied = 0,
00078 Inst< SFInt32 > _linetype = 0,
00079 Inst< SFFloat > _linewidthScaleFactor = 0 );
00080
00085 virtual void preRender() {
00086 glPushAttrib( GL_LINE_BIT );
00087 }
00088
00092 virtual void postRender() {
00093 glPopAttrib();
00094 }
00095
00097 virtual void render();
00098
00102 virtual string defaultXMLContainerField() {
00103 return "lineProperties";
00104 }
00105
00113
00114 auto_ptr< SFBool > applied;
00115
00124 auto_ptr< SFInt32 > linetype;
00125
00135 auto_ptr< SFFloat > linewidthScaleFactor;
00136
00138 static H3DNodeDatabase database;
00139 };
00140 }
00141
00142 #endif