00001 #ifndef X3DTK_X3D_SHAPE_H 00002 #define X3DTK_X3D_SHAPE_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DShapeNode.h" 00006 #include "X3D_X3DBoundedObject.h" 00007 00008 namespace X3DTK { 00009 namespace X3D { 00010 00019 class Shape : public X3DShapeNode, public X3DBoundedObject 00020 { 00021 public: 00023 Shape(); 00025 Shape(X3DGeometryNode *geometry, 00026 X3DAppearanceNode *appearance, 00027 const SFVec3f &bboxCenter, 00028 const SFVec3f &bboxSize); 00030 virtual SFAbstractNode clone() const; 00032 virtual ~Shape(); 00033 00035 virtual void load(const X3DFileElement *element); 00037 virtual SFString &write(SFString &output) const; 00038 00039 protected: 00041 Shape(const Shape &S); 00042 }; 00043 00044 } 00045 } 00046 00047 #endif