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 00018 00019 class Shape : public X3DShapeNode, public X3DBoundedObject 00020 { 00021 public: 00023 Shape(); 00025 Shape(const X3DGeometryNode *geometry, 00026 const X3DAppearanceNode *appearance, 00027 const SFVec3f &bboxCenter, 00028 const SFVec3f &bboxSize); 00030 virtual SFNode clone() const; 00032 ~Shape(); 00033 00035 virtual void loadAttributes(const X3DFileElement *element); 00037 virtual SFString writeAttributes() const; 00038 00039 protected: 00041 Shape(const Shape &S); 00042 }; 00043 00044 } 00045 00046 #endif