]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Boost.Geometry (aka GGL, Generic Geometry Library) |
2 | // QuickBook Example | |
3 | ||
4 | // Copyright (c) 2011-2012 Barend Gehrels, Amsterdam, the Netherlands. | |
5 | ||
6 | // Use, modification and distribution is subject to the Boost Software License, | |
7 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | |
8 | // http://www.boost.org/LICENSE_1_0.txt) | |
9 | ||
10 | //[envelope | |
11 | //` Shows how to calculate the bounding box of a polygon | |
12 | ||
13 | #include <iostream> | |
14 | ||
15 | #include <boost/geometry.hpp> | |
16 | #include <boost/geometry/geometries/box.hpp> | |
17 | #include <boost/geometry/geometries/point_xy.hpp> | |
18 | #include <boost/geometry/geometries/polygon.hpp> | |
19 | /*<-*/ #include "create_svg_two.hpp" /*->*/ | |
20 | ||
21 | int main() | |
22 | { | |
23 | typedef boost::geometry::model::d2::point_xy<double> point; | |
24 | ||
25 | boost::geometry::model::polygon<point> polygon; | |
26 | ||
27 | boost::geometry::read_wkt( | |
28 | "POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2,3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3)" | |
29 | "(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", polygon); | |
30 | ||
31 | boost::geometry::model::box<point> box; | |
32 | boost::geometry::envelope(polygon, box); | |
33 | ||
34 | std::cout << "envelope:" << boost::geometry::dsv(box) << std::endl; | |
35 | ||
36 | /*<-*/ create_svg("envelope.svg", polygon, box); /*->*/ | |
37 | return 0; | |
38 | } | |
39 | ||
40 | //] | |
41 | ||
42 | ||
43 | //[envelope_output | |
44 | /*` | |
45 | Output: | |
46 | [pre | |
47 | envelope:((2, 0.7), (5.4, 3)) | |
48 | ||
49 | [$img/algorithms/envelope.png] | |
50 | ] | |
51 | */ | |
52 | //] | |
53 |