00001 #ifndef X3DTK_X3D_X3DBOUNDEDOBJECT_H 00002 #define X3DTK_X3D_X3DBOUNDEDOBJECT_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DObject.h" 00006 #include "X3DFileElement.h" 00007 00008 namespace X3DTK { 00009 namespace X3D { 00010 00019 class X3DBoundedObject : public X3DObject 00020 { 00021 public: 00023 X3DBoundedObject(); 00025 X3DBoundedObject(const SFVec3f &bboxCenter, 00026 const SFVec3f &bboxSize); 00028 virtual ~X3DBoundedObject(); 00029 00031 void setBBoxCenter(const SFVec3f &bboxCenter); 00033 void setBBoxSize(const SFVec3f &bboxSize); 00034 00036 inline const SFVec3f &getBBoxCenter() const {return _bboxCenter;}; 00038 inline const SFVec3f &getBBoxSize() const {return _bboxSize;}; 00039 00041 virtual void load(const X3DFileElement *element); 00043 virtual SFString &write(SFString &output) const; 00044 00045 protected: 00047 X3DBoundedObject(const X3DBoundedObject &N); 00048 00049 private: 00051 SFVec3f _bboxCenter; 00053 SFVec3f _bboxSize; 00054 }; 00055 00056 } 00057 } 00058 00059 #endif