00001 #ifndef X3DTK_X3D_TRIANGLESET_H 00002 #define X3DTK_X3D_TRIANGLESET_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DComposedGeometryNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class TriangleSet : public X3DComposedGeometryNode 00019 { 00020 public: 00022 TriangleSet(); 00024 TriangleSet(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); 00035 virtual SFAbstractNode clone() const; 00037 virtual ~TriangleSet(); 00038 00040 void setConvex(const SFBool &convex); 00042 void setCreaseAngle(const SFFloat &creaseAngle); 00044 00046 inline const SFBool &getConvex() const {return _convex;}; 00048 inline const SFFloat &getCreaseAngle() const {return _creaseAngle;}; 00049 00051 virtual void load(const X3DFileElement *element); 00053 virtual SFString &write(SFString &output) const; 00054 00055 protected: 00057 TriangleSet(const TriangleSet &T); 00058 00059 private: 00061 SFBool _convex; 00063 SFFloat _creaseAngle; 00064 }; 00065 00066 } 00067 } 00068 00069 #endif