00001 00002 // X3D_TriangleSet.h // 00004 00005 #ifndef TRIANGLESET_H 00006 #define TRIANGLESET_H 00007 00008 #include "X3DTypes.h" 00009 #include "X3D_X3DComposedGeometryNode.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00018 00019 class TriangleSet : public X3DComposedGeometryNode 00020 { 00021 public: 00023 TriangleSet(); 00025 TriangleSet(X3DColorNode *color, 00026 X3DCoordinateNode *coord, 00027 X3DNormalNode *normal, 00028 X3DTextureCoordinateNode *texCoord, 00029 const SFBool &ccw, 00030 const SFBool &colorPerVertex, 00031 const SFBool &convex, 00032 const SFFloat &creaseAngle, 00033 const SFBool &normalPerVertex, 00034 const SFBool &solid); 00036 virtual SFAbstractNode clone() const; 00038 virtual ~TriangleSet(); 00039 00041 void setConvex(const SFBool &convex); 00043 void setCreaseAngle(const SFFloat &creaseAngle); 00045 00047 inline const SFBool &getConvex() const {return _convex;}; 00049 inline const SFFloat &getCreaseAngle() const {return _creaseAngle;}; 00050 00052 virtual void load(const X3DFileElement *element); 00054 virtual SFString &write(SFString &output) 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