#include #include #include #include #include #include #include #include #include #include typedef boost::geometry::model::d2::point_xy pt; typedef boost::geometry::model::polygon polygon; typedef boost::geometry::model::multi_polygon multi_polygon; using namespace std; int main() { cout << "Boost version: " << BOOST_LIB_VERSION << endl; polygon red, green, blue; multi_polygon output; boost::geometry::read_wkt( "POLYGON((443.822 374.921," " 344.128 204.477 ," " 301.197 212.282 ," " 274.723 241.573 ," " 265.825 265.299 ," "1308 4746.67," "443.822 374.921," " ))", red); boost::geometry::read_wkt( "POLYGON(( 429.245 350 ," " 344.128 204.477 ," " 301.197 212.282 ," " 274.723 241.573 ," " 265.825 265.299 ," " 273.895 300," " 400 300 ," " 400 350 ," " 429.245 350," " ))", green); boost::geometry::read_wkt( "POLYGON(( 400 0," " -400 0 ," " -400 300 ," " 400 300," " 400 350," " 600 350," " 600 -50," " 400 -50," "400 0 ))",blue); boost::geometry::correct(red); boost::geometry::correct(green); boost::geometry::correct(blue); /*boost::geometry::detail::overlay::has_self_intersections(red); boost::geometry::detail::overlay::has_self_intersections(green); boost::geometry::detail::overlay::has_self_intersections(blue); */ boost::geometry::intersection(red,blue,output); printf("A\n"); std::cout<