Beispiel #1
0
 void draw(drawer_type & drawer, rectangle_2f const & rect)
 {
    drawer.draw_line(rect.corner(0, 0), rect.corner(1, 0));
    drawer.draw_line(rect.corner(1, 0), rect.corner(1, 1));
    drawer.draw_line(rect.corner(1, 1), rect.corner(0, 1));
    drawer.draw_line(rect.corner(0, 1), rect.corner(0, 0));
 }
Beispiel #2
0
   void draw(drawer_type & drawer, contour_2f const & cnt, bool draw_vertices)
   {
      contour_circulator beg(cnt), it = beg;

      do
      {
         point_2f pt = *it;
         if (draw_vertices)
            drawer.draw_point(pt, 3);
         ++it;
         drawer.draw_line(segment_2f(pt, *it));
      }
      while (it != beg);
   }
void app_viewer::draw(drawer_type & drawer) const {
	drawer.set_color(Qt::blue);
	
	for (point_type const & pt : cur_drawing_pts)
		drawer.draw_point(pt, 3);
        
	if (is_hole_draw_state)
		drawer.set_color(Qt::blue);
	else
		drawer.set_color(Qt::red);

	for (uint i = 1; i < cur_drawing_pts.size(); i++) {
		drawer.draw_line(
				segment_type(cur_drawing_pts[i - 1], cur_drawing_pts[i]));
	}

	drawer.set_color(Qt::red);
	drawer::drawPolygon(drawer, polygon);

	drawer.set_color(Qt::blue);
	for (polygon_type h : holes)
		drawer::drawPolygon(drawer, h);

	drawer.set_color(Qt::yellow);
	for (segment_type sg : triangulation_segments) {
		drawer.draw_line(sg);
	}

	for (auto p : point_types) {
		drawer::drawTripVertex(drawer, p.first, p.second);
	}

	drawer.set_color(Qt::green);
	for (auto seg : split_segments) {
		drawer.draw_line(seg);
	}
	

}