// Boost.Geometry (aka GGL, Generic Geometry Library) // QuickBook Example // Copyright (c) 2014, Oracle and/or its affiliates // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html //[is_simple //` Checks whether a geometry is simple #include <iostream> #include <boost/geometry.hpp> #include <boost/geometry/geometries/point_xy.hpp> #include <boost/geometry/geometries/linestring.hpp> #include <boost/geometry/geometries/multi_linestring.hpp> /*<-*/ #include "create_svg_one.hpp" /*->*/ int main() { typedef boost::geometry::model::d2::point_xy<double> point_type; typedef boost::geometry::model::linestring<point_type> linestring_type; typedef boost::geometry::model::multi_linestring<linestring_type> multi_linestring_type; multi_linestring_type multi_linestring; boost::geometry::read_wkt("MULTILINESTRING((0 0,0 10,10 10,10 0,0 0),(10 10,20 20))", multi_linestring); std::cout << "is simple? " << (boost::geometry::is_simple(multi_linestring) ? "yes" : "no") << std::endl; /*<-*/ create_svg("is_simple_example.svg", multi_linestring); /*->*/ return 0; } //] //[is_simple_output /*` Output: [pre is simple? no [$img/algorithms/is_simple_example.png] ] */ //]