#include #include #include #include #include #include #include int main() { typedef boost::geometry::model::d2::point_xy point; typedef boost::geometry::model::polygon polygon; typedef boost::geometry::model::linestring linestring; polygon green; linestring blue; boost::geometry::read_wkt( "POLYGON((0 0, 0 2, 2 2, 2 0, 1 0, 0 0))", green); boost::geometry::read_wkt( "LINESTRING(1 -1,1 0, 1 1)", blue); boost::geometry::correct(green); boost::geometry::correct(blue); std::deque output; boost::geometry::intersection(blue, green, output); int i = 0; std::cout << "green && blue:" << std::endl; BOOST_FOREACH(linestring const& p, output) { std::cout << i++ << ": " << boost::geometry::dsv(p) << std::endl; } return 0; }