00001 00002 // Shape.h // 00004 00005 #ifndef SHAPE_H 00006 #define SHAPE_H 00007 00008 #include "X3DTypes.h" 00009 #include "X3DShapeNode.h" 00010 #include "X3DBoundedObject.h" 00011 00012 namespace X3DTK { 00013 namespace X3D { 00014 00019 00020 class Shape : public X3DShapeNode, public X3DBoundedObject 00021 { 00022 public: 00024 Shape(); 00026 Shape(const X3DGeometryNode *geometry, 00027 const X3DAppearanceNode *appearance, 00028 const SFVec3f &bboxCenter, 00029 const SFVec3f &bboxSize); 00031 virtual SFNode clone() const; 00033 virtual ~Shape(); 00034 00036 virtual void load(const X3DFileElement *element); 00038 virtual SFString write() const; 00039 00040 protected: 00042 Shape(const Shape &S); 00043 }; 00044 00045 } 00046 } 00047 00048 #endif