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 namespace X3D { 00013 00018 00019 class TriangleSet : public X3DComposedGeometryNode 00020 { 00021 public: 00023 TriangleSet(); 00025 TriangleSet(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); 00036 virtual SFNode clone() const; 00038 virtual ~TriangleSet(); 00039 00041 void setConvex(SFBool convex); 00043 void setCreaseAngle(SFFloat creaseAngle); 00045 00047 inline SFBool getConvex() const {return _convex;}; 00049 inline SFFloat getCreaseAngle() const {return _creaseAngle;}; 00050 00052 virtual void load(const X3DFileElement *element); 00054 virtual SFString write() const; 00055 00056 protected: 00058 TriangleSet(const TriangleSet &T); 00059 00060 private: 00062 SFBool _convex; 00064 SFFloat _creaseAngle; 00065 }; 00066 00067 } 00068 } 00069 00070 #endif