00001 #ifndef CIRCLE_CLASS
00002 #define CIRCLE_CLASS
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "geometric_dll.h"
00019
00020 namespace geometric {
00021
00023
00028
00029 class cartesian_point;
00030 class cartesian_rectangle;
00031 class double_angle;
00032
00033 class GEOMETRIC_CLASS_STYLE circle
00034 {
00035 public:
00036 circle();
00037 circle(double radius, const cartesian_point ¢er);
00038 ~circle();
00039
00040 double area() const;
00042
00043 double circumference() const;
00045
00048 double diameter() const;
00050
00053 bool inside(const cartesian_point &where) const;
00055
00056 cartesian_point location(const double_angle &where) const;
00058
00059 cartesian_rectangle dimensions() const;
00061
00062 double radius() const;
00063 void radius(double to_set);
00064
00065 cartesian_point center() const;
00066 void center(const cartesian_point &to_set);
00067
00068 private:
00069 double _radius;
00070 cartesian_point *_center;
00071 };
00072
00073 }
00074
00075 #endif
00076