00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00025 #ifndef _CIRCLE_H_ 00026 #define _CIRCLE_H_ 00027 00028 #include "Point.h" 00029 00030 namespace DelaunayTest 00031 { 00032 00034 class Circle 00035 { 00036 public: 00038 Point m_center; 00039 00041 float m_radius; 00042 00048 Circle(const Point& center, float radius); 00049 00055 Circle(const Point& p1, const Point& p2, const Point& p3); 00056 00058 ~Circle(void); 00059 00060 private: 00068 float CircleFrom3Points(const Point& p1, const Point& p2, const Point& p3, Point& center); 00069 00081 float Determinant3x3(float m00, float m01, float m02, 00082 float m10, float m11, float m12, 00083 float m20, float m21, float m22); 00084 }; 00085 00086 } 00087 00088 #endif