00001 #ifndef X3DTK_X3D_TRIANGLESTRIPSET_H 00002 #define X3DTK_X3D_TRIANGLESTRIPSET_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DComposedGeometryNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class TriangleStripSet : public X3DComposedGeometryNode 00019 { 00020 public: 00022 TriangleStripSet(); 00024 TriangleStripSet(X3DColorNode *color, 00025 X3DCoordinateNode *coord, 00026 X3DNormalNode *normal, 00027 X3DTextureCoordinateNode *texCoord, 00028 const SFBool &ccw, 00029 const SFBool &colorPerVertex, 00030 const SFBool &convex, 00031 const SFFloat &creaseAngle, 00032 const SFBool &normalPerVertex, 00033 const SFBool &solid, 00034 const MFInt32 &stripCount); 00036 virtual SFAbstractNode clone() const; 00038 virtual ~TriangleStripSet(); 00039 00041 void setConvex(const SFBool &convex); 00043 void setCreaseAngle(const SFFloat &creaseAngle); 00045 void setStripCount(const MFInt32 &stripCount); 00046 00048 inline const SFBool &getConvex() const {return _convex;}; 00050 inline const SFFloat &getCreaseAngle() const {return _creaseAngle;}; 00052 inline const MFInt32 &getStripCount() const {return _stripCount;}; 00053 00055 virtual void load(const X3DFileElement *element); 00057 virtual SFString &write(SFString &output) const; 00058 00059 protected: 00061 TriangleStripSet(const TriangleStripSet &T); 00062 00063 private: 00065 SFBool _convex; 00067 SFFloat _creaseAngle; 00069 MFInt32 _stripCount; 00070 }; 00071 00072 } 00073 } 00074 00075 #endif