mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-12 12:12:10 +00:00
Doc update, added images,
Added union/difference docs Added samples [SVN r69253]
This commit is contained in:
65
doc/src/examples/algorithms/intersection_poly_poly.cpp
Normal file
65
doc/src/examples/algorithms/intersection_poly_poly.cpp
Normal file
@@ -0,0 +1,65 @@
|
||||
// Boost.Geometry (aka GGL, Generic Geometry Library)
|
||||
//
|
||||
// Copyright Barend Gehrels 2011, Geodan, Amsterdam, the Netherlands
|
||||
// Use, modification and distribution is subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// Quickbook Example
|
||||
|
||||
//[intersection
|
||||
//` Shows the intersection of two polygons
|
||||
|
||||
#include <iostream>
|
||||
#include <deque>
|
||||
|
||||
#include <boost/geometry/geometry.hpp>
|
||||
#include <boost/geometry/geometries/geometries.hpp>
|
||||
#include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
/*<-*/ #include "create_svg.hpp" /*->*/
|
||||
|
||||
int main()
|
||||
{
|
||||
typedef boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> > polygon;
|
||||
|
||||
polygon green, blue;
|
||||
|
||||
boost::geometry::read_wkt(
|
||||
"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)"
|
||||
"(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))", green);
|
||||
|
||||
boost::geometry::read_wkt(
|
||||
"POLYGON((4.0 -0.5 , 3.5 1.0 , 2.0 1.5 , 3.5 2.0 , 4.0 3.5 , 4.5 2.0 , 6.0 1.5 , 4.5 1.0 , 4.0 -0.5))", blue);
|
||||
|
||||
std::deque<polygon> output;
|
||||
boost::geometry::intersection(green, blue, output);
|
||||
|
||||
int i = 0;
|
||||
std::cout << "green && blue:" << std::endl;
|
||||
BOOST_FOREACH(polygon const& p, output)
|
||||
{
|
||||
std::cout << i++ << ": " << boost::geometry::area(p) << std::endl;
|
||||
}
|
||||
|
||||
/*<-*/ create_svg("intersection.svg", green, blue, output); /*->*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
//]
|
||||
|
||||
|
||||
//[intersection_output
|
||||
/*`
|
||||
Output:
|
||||
[pre
|
||||
green && blue:
|
||||
0: 2.50205
|
||||
|
||||
[$img/algorithms/intersection.png]
|
||||
|
||||
]
|
||||
*/
|
||||
//]
|
||||
|
||||
Reference in New Issue
Block a user