OSDLCircleBoundingBox.h

Go to the documentation of this file.
00001 #ifndef OSDL_CIRCLE_BOUNDING_BOX_H_
00002 #define OSDL_CIRCLE_BOUNDING_BOX_H_
00003 
00004 
00005 #include "OSDLBoundingBox2D.h"   // for inheritance
00006 
00007 #include "Ceylan.h"              // for VerbosityLevels, Bipoint
00008 
00009 
00010 #include <string>
00011 #include <list>
00012 
00013 
00014 
00015 namespace OSDL
00016 {
00017 
00018 
00019     namespace Engine 
00020     {
00021     
00022     
00023             
00028         class OSDL_DLL CircleBoundingBox : public BoundingBox2D
00029         {
00030         
00031         
00032             public:
00033             
00034             
00043                 CircleBoundingBox( Ceylan::Locatable2D & father, 
00044                     const Ceylan::Maths::Linear::Bipoint & center, 
00045                     Ceylan::Maths::Real radius ) throw() ;
00046                 
00047                                 
00052                 virtual ~CircleBoundingBox() throw() ;
00053 
00054 
00059                 virtual Ceylan::Maths::Real getRadius() const throw() ;
00060                 
00061                 
00068                 virtual void setRadius( Ceylan::Maths::Real newRadius ) 
00069                     throw() ;
00070         
00071                  
00083                 virtual const std::string toString( 
00084                         Ceylan::VerbosityLevels level = Ceylan::high ) 
00085                     const throw() ;
00086                 
00087 
00113                 virtual IntersectionResult doesIntersectWith( 
00114                     BoundingBox & other ) throw( BoundingBoxException ) ;
00115                 
00116                 
00117                 
00118             protected:
00119             
00120 
00131                 virtual IntersectionResult compareWith( 
00132                     CircleBoundingBox & other ) throw() ;
00133 
00134                 
00150                 static CircleBoundingBox & CheckIsCircle( BoundingBox & box )
00151                     throw (BoundingBoxException) ;          
00152                     
00153                                 
00155                 Ceylan::Maths::Real _radius ;
00156                 
00157                 
00158                 
00159             private:        
00160         
00161                 
00162             
00171                 explicit CircleBoundingBox( const CircleBoundingBox & source )
00172                     throw() ;
00173 
00174 
00183                 CircleBoundingBox & operator= ( 
00184                     const CircleBoundingBox & source ) throw() ;
00185                 
00186                 
00187         } ;
00188 
00189     }
00190 
00191 }
00192 
00193 
00194 #endif // OSDL_CIRCLE_BOUNDING_BOX_H_

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