00001 00002 // TriangleSet.h // 00004 00005 #ifndef TRIANGLESET_H 00006 #define TRIANGLESET_H 00007 00008 #include "X3DTypes.h" 00009 #include "X3DComposedGeometryNode.h" 00010 00011 namespace X3DTK { 00012 00017 00018 class TriangleSet : public X3DComposedGeometryNode 00019 { 00020 public: 00022 TriangleSet(); 00024 TriangleSet(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); 00035 virtual SFNode clone() const; 00037 virtual ~TriangleSet(); 00038 00040 void setConvex(SFBool convex); 00042 void setCreaseAngle(SFFloat creaseAngle); 00044 00046 inline SFBool getConvex() const {return convex_;}; 00048 inline SFFloat getCreaseAngle() const {return creaseAngle_;}; 00049 00051 virtual void loadAttributes(const X3DFileElement *element); 00053 virtual SFString writeAttributes() const; 00054 00055 protected: 00057 TriangleSet(const TriangleSet &T); 00058 00059 private: 00060 SFBool convex_; 00061 SFFloat creaseAngle_; 00062 }; 00063 00064 } 00065 00066 #endif