X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=polygon.cc;h=2ae238d3c1c39010c56da46953988655bfca6e58;hb=12dcd901862c9097eb8e54e39c6b5d2e5d658f03;hp=b560b8b03fb4352adbe34ec8302409329b69d9ab;hpb=3caf13085a6ae1ae41d6f489c8b69206b0ffa48d;p=universe.git diff --git a/polygon.cc b/polygon.cc index b560b8b..2ae238d 100644 --- a/polygon.cc +++ b/polygon.cc @@ -47,12 +47,13 @@ Polygon *Polygon::clone() { 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) { @@ -146,7 +147,7 @@ void Polygon::triangularize(int &nt, int nb, int *index) { _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); }