00001 00002 00003 00005 00006 00011 00016 00021 // TriangleSet.h // 00023 00024 #ifndef TRIANGLESET_H 00025 #define TRIANGLESET_H 00026 00027 #include "X3DTypes.h" 00028 #include "X3DComposedGeometryNode.h" 00029 00030 namespace X3DTK { 00031 namespace X3D { 00032 00037 00038 class TriangleSet : public X3DComposedGeometryNode 00039 { 00040 public: 00042 TriangleSet(); 00044 TriangleSet(const X3DColorNode *color, 00045 const X3DCoordinateNode *coord, 00046 const X3DNormalNode *normal, 00047 const X3DTextureCoordinateNode *texCoord, 00048 SFBool ccw, 00049 SFBool colorPerVertex, 00050 SFBool convex, 00051 SFFloat creaseAngle, 00052 SFBool normalPerVertex, 00053 SFBool solid); 00055 virtual SFNode clone() const; 00057 virtual ~TriangleSet(); 00058 00060 void setConvex(SFBool convex); 00062 void setCreaseAngle(SFFloat creaseAngle); 00064 00066 inline SFBool getConvex() const {return _convex;}; 00068 inline SFFloat getCreaseAngle() const {return _creaseAngle;}; 00069 00071 virtual void load(const X3DFileElement *element); 00073 virtual SFString write() const; 00074 00075 protected: 00077 TriangleSet(const TriangleSet &T); 00078 00079 private: 00081 SFBool _convex; 00083 SFFloat _creaseAngle; 00084 }; 00085 00086 } 00087 } 00088 00089 #endif