inline void make_polygon(MultiPolygon& mp, int count_x, int count_y, int index, int width_x) { typedef typename bg::point_type<MultiPolygon>::type point_type; for(int j = 0; j < count_x; ++j) { for(int k = 0; k < count_y; ++k) { mp.push_back(MultiPolygon::value_type()); mp.back().outer().push_back(point_type(width_x + j * 10 + 1, k * 10 + 1)); mp.back().outer().push_back(point_type(width_x + j * 10 + width_x, k * 10 + 5 + index)); mp.back().outer().push_back(point_type(width_x + j * 10 + 5 + index, k * 10 + 7)); mp.back().outer().push_back(point_type(width_x + j * 10 + 1, k * 10 + 1)); } } }