Go to the documentation of this file.00001
00040 #ifndef CIRCLE_PROVIDER_1USEBX40
00041 #define CIRCLE_PROVIDER_1USEBX40
00042
00043 #include <vector>
00044
00045 #define CIRCLE_REF(c,r,x,y) c[(y+r)*(2*r + 1) + (x+r)]
00046
00047 namespace bwi_mapper {
00048
00054 class CircleProvider {
00055 public:
00056
00061 static CircleProvider& getInstance();
00062
00074 void getCircle(int radius, std::vector<bool>& points,
00075 bool connect4 = true);
00076
00077
00084 void printCircle(const std::vector<bool>& points, int radius);
00085
00086 private:
00087
00091 CircleProvider () {}
00092
00096 CircleProvider (CircleProvider const&);
00097
00101 void operator=(CircleProvider const&);
00102
00103
00109 void plot8Points(int x, int y, std::vector<bool>& points, int radius);
00110
00115 void plot4Points(int x, int y, std::vector<bool>& points, int radius);
00116
00117 };
00118
00119 }
00120
00121 #endif