UGDK
src/pyramidworks/geometry/circle.h
Go to the documentation of this file.
00001 #ifndef PYRAMIDWORKS_GEOMETRY_CIRCLE_H_
00002 #define PYRAMIDWORKS_GEOMETRY_CIRCLE_H_
00003 
00004 #include <pyramidworks/geometry/geometricshape.h>
00005 
00006 namespace pyramidworks {
00007 namespace geometry {
00008 
00011 class Circle : public GeometricShape {
00012   public:
00014     Circle(double _radius) : GeometricShape(), radius_(_radius) {}
00015 
00017 
00018     double radius() const { return radius_; }
00019 
00021 
00022     void set_radius(double _radius) { radius_ = _radius; }
00023 
00024     bool Intersects(const ugdk::Vector2D& this_pos, const GeometricShape *obj, const ugdk::Vector2D& that_pos) const;
00025     bool Intersects(const ugdk::Vector2D& this_pos, const           Rect *obj, const ugdk::Vector2D& that_pos) const;
00026     bool Intersects(const ugdk::Vector2D& this_pos, const         Circle *obj, const ugdk::Vector2D& that_pos) const;
00027         bool Intersects(const ugdk::Vector2D& this_pos, const  ConvexPolygon *obj, const ugdk::Vector2D& that_pos) const;
00028     ugdk::ikdtree::Box<2> GetBoundingBox(const ugdk::Vector2D& position) const;
00029 
00030   private:
00031     double radius_;
00032 };
00033 
00034 } // namespace geometry
00035 } // namespace pyramidworks
00036 
00037 #endif /* PYRAMIDWORKS_GEOMETRY_CIRCLE_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines