00001 00002 00003 00005 00006 00011 00016 00021 // Shape.h // 00023 00024 #ifndef SHAPE_H 00025 #define SHAPE_H 00026 00027 #include "X3DTypes.h" 00028 #include "X3DShapeNode.h" 00029 #include "X3DBoundedObject.h" 00030 00031 namespace X3DTK { 00032 namespace X3D { 00033 00038 00039 class Shape : public X3DShapeNode, public X3DBoundedObject 00040 { 00041 public: 00043 Shape(); 00045 Shape(const X3DGeometryNode *geometry, 00046 const X3DAppearanceNode *appearance, 00047 const SFVec3f &bboxCenter, 00048 const SFVec3f &bboxSize); 00050 virtual SFNode clone() const; 00052 virtual ~Shape(); 00053 00055 virtual void load(const X3DFileElement *element); 00057 virtual SFString write() const; 00058 00059 protected: 00061 Shape(const Shape &S); 00062 }; 00063 00064 } 00065 } 00066 00067 #endif