00001
00002
00004
00005 #ifndef TRIANGLESTRIPSET_H
00006 #define TRIANGLESTRIPSET_H
00007
00008 #include "X3DTypes.h"
00009 #include "X3DComposedGeometryNode.h"
00010
00011 namespace X3DTK {
00012
00017
00018 class TriangleStripSet : public X3DComposedGeometryNode
00019 {
00020 public:
00022 TriangleStripSet();
00024 TriangleStripSet(const X3DColorNode *color,
00025 const X3DCoordinateNode *coord,
00026 const X3DNormalNode *normal,
00027 const X3DTextureCoordinateNode *texCoord,
00028 SFBool ccw,
00029 SFBool colorPerVertex,
00030 SFBool convex,
00031 SFFloat creaseAngle,
00032 SFBool normalPerVertex,
00033 SFBool solid,
00034 const MFInt32 &stripCount);
00036 virtual SFNode clone() const;
00038 virtual ~TriangleStripSet();
00039
00041 void setConvex(SFBool convex);
00043 void setCreaseAngle(SFFloat creaseAngle);
00045 void setStripCount(const MFInt32 &stripCount);
00046
00048 inline SFBool getConvex() const {return convex_;};
00050 inline SFFloat getCreaseAngle() const {return creaseAngle_;};
00052 inline MFInt32 &getStripCount() const {return (MFInt32 &)stripCount_;};
00053
00055 virtual void loadAttributes(const X3DFileElement *element);
00057 virtual SFString writeAttributes() const;
00058
00059 protected:
00061 TriangleStripSet(const TriangleStripSet &T);
00062
00063 private:
00064 SFBool convex_;
00065 SFFloat creaseAngle_;
00066 MFInt32 stripCount_;
00067 };
00068
00069 }
00070
00071 #endif