[/============================================================================
  Boost.Geometry (aka GGL, Generic Geometry Library)

  Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
  Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
  Copyright (c) 2009-2013 Mateusz Loskot, London, UK.

  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)
=============================================================================/]


[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
[/ Generated from doxy/doxygen_output/xml/group__intersection.xml]
[section:intersection_3 intersection]

'''<indexterm><primary>intersection</primary></indexterm>'''
Calculate the intersection of two geometries. 

[heading Description]
The free function intersection calculates the spatial set theoretic intersection of two geometries. 

[heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename GeometryOut>
bool intersection(Geometry1 const & geometry1, Geometry2 const & geometry2, GeometryOut & geometry_out)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
[[GeometryOut &] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type fulfills a Point, LineString or Polygon concept, or it is the output geometry (e.g. for a box) ] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes)]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/intersection.hpp>`

[include reference/algorithms/intersection.qbk]


[endsect]

[section:intersection_4_with_strategy intersection (with strategy)]

'''<indexterm><primary>intersection</primary></indexterm>'''
Calculate the intersection of two geometries. 

[heading Description]
The free function intersection calculates the spatial set theoretic intersection of two geometries. 

[heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename GeometryOut, typename Strategy>
bool intersection(Geometry1 const & geometry1, Geometry2 const & geometry2, GeometryOut & geometry_out,
                  Strategy const & strategy)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
[[GeometryOut &] [Collection of geometries (e.g. std::vector, std::deque, boost::geometry::multi*) of which the value_type fulfills a Point, LineString or Polygon concept, or it is the output geometry (e.g. for a box) ] [geometry_out] [The output geometry, either a multi_point, multi_polygon, multi_linestring, or a box (for intersection of two boxes) ]]
[[Strategy const &] [Any type fulfilling a Intersection Strategy Concept ] [strategy] [The strategy which will be used for intersection calculations]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/intersection.hpp>`

[include reference/algorithms/intersection.qbk]


[endsect]

