#include #include #include typedef boost::geometry::model::d2::point_xy point_type; typedef boost::geometry::model::polygon polygon_type; int main() { polygon_type p_valid, p_invalid; boost::geometry::read_wkt("POLYGON((0 3,3 3,3 1,2 1,2 2,1 2,\ 1 1,2 1,2 0,0 0,0 3))", p_invalid); BOOST_ASSERT(! boost::geometry::is_valid(p_invalid)); boost::geometry::read_wkt("POLYGON((0 3,3 3,3 1,2 1,2 0,0 0,0 3),\ (2 1,2 2,1 2,1 1,2 1))", p_valid); BOOST_ASSERT(boost::geometry::is_valid(p_valid)); return 0; }