-////////////////////////////////////////////////////////////////////////////////
-// This program is free software; you can redistribute it and/or //
-// modify it under the terms of the GNU General Public License //
-// version 2 as published by the Free Software Foundation. //
-// //
-// This program is distributed in the hope that it will be useful, but //
-// WITHOUT ANY WARRANTY; without even the implied warranty of //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
-// General Public License for more details. //
-// //
-// Written and (C) by François Fleuret //
-// Contact <francois.fleuret@epfl.ch> for comments & bug reports //
-////////////////////////////////////////////////////////////////////////////////
+// Written and (C) by Francois Fleuret
+// Contact <francois.fleuret@idiap.ch> for comments & bug reports
#include <cmath>
#include "polygon.h"
return new Polygon(_mass, _red, _green, _blue, _relative_x, _relative_y, _nb_vertices);
}
-void Polygon::print_fig(ostream &os) {
- os << "2 2 0 1 0 7 50 -1 20 0.000 0 0 -1 0 0 " << _nb_vertices + 1 << endl;
- os << " ";
- for(int n = 0; n < _nb_vertices; n++) os << " " << int(_x[n]*10) << " " << int(_y[n]*10);
- os << " " << int(_x[0]*10) << " " << int(_y[0]*10);
- os << endl;
+void Polygon::color_xfig(XFigTracer *tracer) {
+ tracer->add_color(int(255 * _red), int(255 * _green), int(255 * _blue));
+}
+
+void Polygon::print_xfig(XFigTracer *tracer) {
+ tracer->draw_polygon(int(255 * _red), int(255 * _green), int(255 * _blue),
+ _nb_vertices, _x, _y);
}
void Polygon::draw(SimpleWindow *window) {
_relative_x[index[(k+1)%nb]] - _relative_x[index[m]],
_relative_y[index[(k+1)%nb]] - _relative_y[index[m]]);
- if(a1 * a2 > 0 && best_split < 0 || (abs(a1 - a2) < best_split)) {
+ if((a1 * a2 > 0 && best_split < 0) || (abs(a1 - a2) < best_split)) {
best_n = n; best_m = m;
best_split = abs(a1 - a2);
}