mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-13 00:22:10 +00:00
Moved all other snippets to separate examples
[SVN r67778]
This commit is contained in:
51
doc/src/examples/algorithms/intersection_segment.cpp
Normal file
51
doc/src/examples/algorithms/intersection_segment.cpp
Normal file
@@ -0,0 +1,51 @@
|
||||
// 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_segment
|
||||
//` Calculate the intersection point (or points) of two segments
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <boost/geometry/geometry.hpp>
|
||||
#include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
|
||||
#include <boost/geometry/geometries/adapted/std_as_linestring.hpp> /*< Adapts std::vector to linestring concept >*/
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
typedef boost::geometry::model::d2::point_xy<double> P;
|
||||
boost::geometry::model::segment<P> segment1, segment2;
|
||||
boost::geometry::read_wkt("linestring(1 1,2 2)", segment1);
|
||||
boost::geometry::read_wkt("linestring(2 1,1 2)", segment2);
|
||||
|
||||
std::vector<P> intersections;
|
||||
boost::geometry::intersection(segment1, segment2, intersections);
|
||||
|
||||
BOOST_FOREACH(P const& p, intersections)
|
||||
{
|
||||
std::cout << " " << boost::geometry::wkt(p);
|
||||
}
|
||||
std::cout << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//]
|
||||
|
||||
|
||||
//[intersection_segment_output
|
||||
/*`
|
||||
Output:
|
||||
[pre
|
||||
POINT(1.5 1.5)
|
||||
]
|
||||
*/
|
||||
//]
|
||||
Reference in New Issue
Block a user