00001 #include "OSDLBoundingBox2D.h"
00002
00003
00004 using namespace Ceylan::Maths::Linear ;
00005
00006 using namespace OSDL::Engine ;
00007
00008 using std::string ;
00009
00010
00011
00012 BoundingBox2D::BoundingBox2D( Locatable2D & father, const Bipoint & center )
00013 throw() :
00014 Locatable2D( father )
00015 {
00016 setCenter( center ) ;
00017 }
00018
00019
00020 BoundingBox2D::~BoundingBox2D() throw()
00021 {
00022
00023 }
00024
00025
00026 const string BoundingBox2D::toString( Ceylan::VerbosityLevels level )
00027 const throw()
00028 {
00029
00030 return "2D bounding box, whose center is " + getCenter().toString( level )
00031 + ". From a referential point of view, this is a(n) "
00032 + Locatable2D::toString( level ) ;
00033
00034 }
00035
00036
00037 BoundingBox2D & BoundingBox2D::CheckIs2D( BoundingBox & box )
00038 throw( BoundingBoxException )
00039 {
00040
00041 BoundingBox2D * box2D = dynamic_cast<BoundingBox2D *>( & box ) ;
00042
00043 if ( box2D == 0 )
00044 throw BoundingBoxException(
00045 "BoundingBox2D::CheckIs2D : specified box ("
00046 + box.toString() + ") was not a two dimensional box." ) ;
00047
00048 return * box2D ;
00049
00050 }
00051