00001
00002
00004
00005 #ifndef TRIANGLEFANSET_H
00006 #define TRIANGLEFANSET_H
00007
00008 #include "X3DTypes.h"
00009 #include "X3DComposedGeometryNode.h"
00010
00011 namespace X3DTK {
00012
00017
00018 class TriangleFanSet : public X3DComposedGeometryNode
00019 {
00020 public:
00022 TriangleFanSet();
00024 TriangleFanSet(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 const MFInt32 &fanCount,
00033 SFBool normalPerVertex,
00034 SFBool solid);
00036 virtual SFNode clone() const;
00038 virtual ~TriangleFanSet();
00039
00041 void setConvex(SFBool convex);
00043 void setCreaseAngle(SFFloat creaseAngle);
00045 void setFanCount(const MFInt32 &fanCount);
00046
00048 inline SFBool getConvex() const {return convex_;};
00050 inline SFFloat getCreaseAngle() const {return creaseAngle_;};
00052 inline MFInt32 &getFanCount() const {return (MFInt32 &)fanCount_;};
00053
00055 virtual void loadAttributes(const X3DFileElement *element);
00057 virtual SFString writeAttributes() const;
00058
00059 protected:
00061 TriangleFanSet(const TriangleFanSet &T);
00062
00063 private:
00064 SFBool convex_;
00065 SFFloat creaseAngle_;
00066 MFInt32 fanCount_;
00067 };
00068
00069 }
00070
00071 #endif