00001 #ifndef X3DTK_X3D_TRIANGLEFANSET_H 00002 #define X3DTK_X3D_TRIANGLEFANSET_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DComposedGeometryNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class TriangleFanSet : public X3DComposedGeometryNode 00019 { 00020 public: 00022 TriangleFanSet(); 00024 TriangleFanSet(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 MFInt32 &fanCount, 00033 const SFBool &normalPerVertex, 00034 const SFBool &solid); 00036 virtual SFAbstractNode clone() const; 00038 virtual ~TriangleFanSet(); 00039 00041 void setConvex(const SFBool &convex); 00043 void setCreaseAngle(const SFFloat &creaseAngle); 00045 void setFanCount(const MFInt32 &fanCount); 00046 00048 inline const SFBool &getConvex() const {return _convex;}; 00050 inline const SFFloat &getCreaseAngle() const {return _creaseAngle;}; 00052 inline const MFInt32 &getFanCount() const {return _fanCount;}; 00053 00055 virtual void load(const X3DFileElement *element); 00057 virtual SFString &write(SFString &output) const; 00058 00059 protected: 00061 TriangleFanSet(const TriangleFanSet &T); 00062 00063 private: 00065 SFBool _convex; 00067 SFFloat _creaseAngle; 00069 MFInt32 _fanCount; 00070 }; 00071 00072 } 00073 } 00074 00075 #endif