00001 #include "OSDLBoundingBox.h"
00002
00003
00004 using namespace OSDL::Engine ;
00005
00006 using std::string ;
00007
00008
00009
00010 BoundingBoxException::BoundingBoxException( const string & reason ) throw() :
00011 EngineException( "BoundingBoxException : " + reason )
00012 {
00013
00014 }
00015
00016
00017 BoundingBoxException::~BoundingBoxException() throw()
00018 {
00019
00020 }
00021
00022
00023
00024
00025 BoundingBox::BoundingBox() throw()
00026 {
00027
00028 }
00029
00030
00031 BoundingBox::~BoundingBox() throw()
00032 {
00033
00034 }
00035
00036
00037 string BoundingBox::InterpretIntersectionResult( IntersectionResult result )
00038 throw( BoundingBoxException )
00039 {
00040
00041 switch( result )
00042 {
00043
00044 case isSeparate :
00045 return "The two bounding boxes have no intersection." ;
00046 break ;
00047
00048 case contains :
00049 return "The first bounding box contains strictly the second." ;
00050 break ;
00051
00052 case isContained :
00053 return "The first bounding box is "
00054 "strictly contained by the second." ;
00055 break ;
00056
00057 case intersects :
00058 return "The two bounding boxes intersect." ;
00059 break ;
00060
00061 case isEqual :
00062 return "The two bounding boxes are equal." ;
00063 break ;
00064
00065
00066 default:
00067 throw BoundingBoxException(
00068 "BoundingBox::InterpretIntersectionResult : "
00069 "unknown intersection outcome." ) ;
00070 break ;
00071
00072 }
00073
00074 return "(abnormal interpretation of intersection result)" ;
00075
00076 }
00077