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 namespace X3D {
00013
00018
00019 class TriangleStripSet : public X3DComposedGeometryNode
00020 {
00021 public:
00023 TriangleStripSet();
00025 TriangleStripSet(const X3DColorNode *color,
00026 const X3DCoordinateNode *coord,
00027 const X3DNormalNode *normal,
00028 const X3DTextureCoordinateNode *texCoord,
00029 SFBool ccw,
00030 SFBool colorPerVertex,
00031 SFBool convex,
00032 SFFloat creaseAngle,
00033 SFBool normalPerVertex,
00034 SFBool solid,
00035 const MFInt32 &stripCount);
00037 virtual SFNode clone() const;
00039 virtual ~TriangleStripSet();
00040
00042 void setConvex(SFBool convex);
00044 void setCreaseAngle(SFFloat creaseAngle);
00046 void setStripCount(const MFInt32 &stripCount);
00047
00049 inline SFBool getConvex() const {return _convex;};
00051 inline SFFloat getCreaseAngle() const {return _creaseAngle;};
00053 inline const MFInt32 &getStripCount() const {return _stripCount;};
00054
00056 virtual void load(const X3DFileElement *element);
00058 virtual SFString write() const;
00059
00060 protected:
00062 TriangleStripSet(const TriangleStripSet &T);
00063
00064 private:
00066 SFBool _convex;
00068 SFFloat _creaseAngle;
00070 MFInt32 _stripCount;
00071 };
00072
00073 }
00074 }
00075
00076 #endif