#include #include using namespace boost::polygon; int main() { typedef polygon_data Polygon; typedef polygon_traits::point_type Point; Point pts[] = {construct(4000, 0), construct(2500, 500), construct(0, 3000), construct(0, 0) }; Polygon poly; set_points(poly, pts, pts+4); typedef std::vector > PolygonSet; PolygonSet ps; assign( ps, poly ); shrink( ps, 1000 ); for( auto& polygon: ps ) { printf("polygon: size=%d, holes=%d\n", static_cast(polygon.size()), static_cast( end_holes(polygon) - begin_holes(polygon) ) ); for( auto& point: polygon ) { printf(" (%d, %d)\n", get(point,HORIZONTAL), get(point,VERTICAL) ); } } return 0; }