OSDLBoundingBox.h

Go to the documentation of this file.
00001 #ifndef OSDL_BOUNDING_BOX_H_
00002 #define OSDL_BOUNDING_BOX_H_
00003 
00004 
00005 #include "OSDLEngineCommon.h"     // for EngineException
00006 
00007 #include "Ceylan.h"               // for VerbosityLevels, inheritance
00008 
00009 #include <string>
00010 #include <list>
00011 
00012 
00013 
00014 
00015 namespace OSDL
00016 {
00017 
00018 
00019     namespace Engine 
00020     {
00021     
00022     
00023     
00025         class OSDL_DLL BoundingBoxException : public EngineException
00026         {
00027             public:
00028         
00029                 explicit BoundingBoxException( const std::string & reason )
00030                     throw() ;
00031                 virtual ~BoundingBoxException() throw() ;
00032             
00033         } ;
00034         
00035         
00036         
00057         enum IntersectionResult { 
00058             isSeparate, 
00059             contains, 
00060             isContained, 
00061             intersects, 
00062             isEqual 
00063         } ;
00064         
00065         
00066             
00102         class OSDL_DLL BoundingBox : public Ceylan::TextDisplayable
00103         {
00104         
00105         
00106             public:
00107             
00108             
00121                 explicit BoundingBox() throw() ;
00122                 
00123                                 
00128                 virtual ~BoundingBox() throw() ;
00129 
00130 
00154                 virtual IntersectionResult doesIntersectWith( 
00155                     BoundingBox & other ) throw( BoundingBoxException ) = 0 ;
00156                 
00157                 
00158                 
00159                 // Static section.
00160                 
00161                 
00170                 static std::string InterpretIntersectionResult(
00171                     IntersectionResult result ) throw( BoundingBoxException ) ;
00172                     
00173                     
00174                     
00175             private:        
00176         
00177                 
00178             
00179     
00188                 explicit BoundingBox( const BoundingBox & source ) throw() ;
00189 
00190 
00199                 BoundingBox & operator= ( const BoundingBox & source ) throw() ;
00200                 
00201                 
00202                 
00203         } ;
00204 
00205     }
00206 
00207 }
00208 
00209 
00210 #endif // OSDL_BOUNDING_BOX_H_
00211 

Generated on Fri Mar 30 14:46:59 2007 for OSDL by  doxygen 1.5.1