00001 #ifndef OSDL_BOUNDING_BOX_2D_H_
00002 #define OSDL_BOUNDING_BOX_2D_H_
00003
00004
00005
00006 #include "OSDLBoundingBox.h"
00007
00008 #include "Ceylan.h"
00009
00010 #include <string>
00011 #include <list>
00012
00013
00014
00015
00016 namespace OSDL
00017 {
00018
00019
00020 namespace Engine
00021 {
00022
00023
00038 class OSDL_DLL BoundingBox2D : public BoundingBox,
00039 public Ceylan::Locatable2D
00040 {
00041
00042
00043 public:
00044
00045
00059 explicit BoundingBox2D( Ceylan::Locatable2D & father,
00060 const Ceylan::Maths::Linear::Bipoint & center ) throw() ;
00061
00062
00067 virtual ~BoundingBox2D() throw() ;
00068
00069
00082 virtual const std::string toString(
00083 Ceylan::VerbosityLevels level = Ceylan::high )
00084 const throw() ;
00085
00086
00087
00088 protected:
00089
00090
00104 static BoundingBox2D & CheckIs2D( BoundingBox & box )
00105 throw (BoundingBoxException) ;
00106
00107
00108
00109 private:
00110
00111
00112
00121 explicit BoundingBox2D( const BoundingBox2D & source ) throw() ;
00122
00123
00132 BoundingBox2D & operator= ( const BoundingBox2D & source )
00133 throw() ;
00134
00135
00136 } ;
00137
00138 }
00139
00140 }
00141
00142
00143 #endif // OSDL_BOUNDING_BOX_2D_H_