inline void holify_multi(MultiPolygon& multi_polygon) { typedef typename bg::point_type<MultiPolygon>::type point_type; typename boost::range_value<MultiPolygon>::type p; bg::exterior_ring(p).push_back(bg::make<point_type>(0, 0)); bg::exterior_ring(p).push_back(bg::make<point_type>(0, 5000)); bg::exterior_ring(p).push_back(bg::make<point_type>(5000, 5000)); bg::exterior_ring(p).push_back(bg::make<point_type>(5000, 0)); bg::exterior_ring(p).push_back(bg::make<point_type>(0, 0)); for (int i = 0; i < multi_polygon.size(); i++) { bg::interior_rings(p).push_back(bg::exterior_ring(multi_polygon[i])); } bg::correct(p); multi_polygon.clear(); multi_polygon.push_back(p); }