Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / geometry / doc / html / geometry / reference / algorithms / intersection.html
index e3d0182..222e23a 100644 (file)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Geometry">
 <link rel="up" href="../algorithms.html" title="Algorithms">
 <link rel="prev" href="for_each/for_each_segment.html" title="for_each_segment">
-<link rel="next" href="intersects.html" title="intersects">
+<link rel="next" href="intersection/intersection_4_with_strategy.html" title="intersection (with strategy)">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="for_each/for_each_segment.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intersects.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="for_each/for_each_segment.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intersection/intersection_4_with_strategy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="geometry.reference.algorithms.intersection"></a><a class="link" href="intersection.html" title="intersection">intersection</a>
 </h4></div></div></div>
-<p>
-          <a class="indexterm" name="idp119324304"></a>
-Calculate the intersection of two geometries.
-        </p>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h0"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.description"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.description">Description</a>
-        </h6>
-<p>
-          The free function intersection calculates the spatial set theoretic intersection
-          of two geometries.
-        </p>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h1"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.synopsis"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.synopsis">Synopsis</a>
-        </h6>
-<p>
-</p>
-<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Geometry1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Geometry2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">GeometryOut</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">intersection</span><span class="special">(</span><span class="identifier">Geometry1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">geometry1</span><span class="special">,</span> <span class="identifier">Geometry2</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">geometry2</span><span class="special">,</span> <span class="identifier">GeometryOut</span> <span class="special">&amp;</span> <span class="identifier">geometry_out</span><span class="special">)</span></pre>
-<p>
-        </p>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h2"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.parameters"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.parameters">Parameters</a>
-        </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Type
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Concept
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Name
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Description
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    Geometry1 const &amp;
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Any type fulfilling a Geometry Concept
-                  </p>
-                </td>
-<td>
-                  <p>
-                    geometry1
-                  </p>
-                </td>
-<td>
-                  <p>
-                    A model of the specified concept
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    Geometry2 const &amp;
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Any type fulfilling a Geometry Concept
-                  </p>
-                </td>
-<td>
-                  <p>
-                    geometry2
-                  </p>
-                </td>
-<td>
-                  <p>
-                    A model of the specified concept
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    GeometryOut &amp;
-                  </p>
-                </td>
-<td>
-                  <p>
-                    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)
-                  </p>
-                </td>
-<td>
-                  <p>
-                    geometry_out
-                  </p>
-                </td>
-<td>
-                  <p>
-                    The output geometry, either a multi_point, multi_polygon, multi_linestring,
-                    or a box (for intersection of two boxes)
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h3"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.header"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.header">Header</a>
-        </h6>
-<p>
-          Either
-        </p>
-<p>
-          <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
-        </p>
-<p>
-          Or
-        </p>
-<p>
-          <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">algorithms</span><span class="special">/</span><span class="identifier">intersection</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
-        </p>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h4"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.conformance"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.conformance">Conformance</a>
-        </h6>
-<p>
-          The function intersection implements function Intersection from the <a href="http://www.opengeospatial.org/standards/sfa" target="_top">OGC Simple Feature Specification</a>.
-        </p>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h5"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.behavior"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.behavior">Behavior</a>
-        </h6>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
-                  <p>
-                    Case
-                  </p>
-                </th>
-<th>
-                  <p>
-                    Behavior
-                  </p>
-                </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
-                  <p>
-                    GeometryOut is a Point
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Calculates intersection points of input geometries
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    GeometryOut is a Linestring
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Calculates intersection linestrings of input (multi)linestrings
-                  </p>
-                </td>
-</tr>
-<tr>
-<td>
-                  <p>
-                    GeometryOut is a Polygon
-                  </p>
-                </td>
-<td>
-                  <p>
-                    Calculates intersection polygons of input (multi)polygons and/or
-                    boxes
-                  </p>
-                </td>
-</tr>
-</tbody>
-</table></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
-            Check the <a class="link" href="../concepts/concept_polygon.html" title="Polygon Concept">Polygon
-            Concept</a> for the rules that polygon input for this algorithm should
-            fulfill
-          </p></td></tr>
-</table></div>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h6"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.example"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.example">Example</a>
-        </h6>
-<p>
-          Shows the intersection of two polygons
-        </p>
-<p>
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">deque</span><span class="special">&gt;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="identifier">point_xy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="identifier">polygon</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">foreach</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-
-<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
-<span class="special">{</span>
-    <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">polygon</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">d2</span><span class="special">::</span><span class="identifier">point_xy</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">polygon</span><span class="special">;</span>
-
-    <span class="identifier">polygon</span> <span class="identifier">green</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">;</span>
-
-    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">read_wkt</span><span class="special">(</span>
-        <span class="string">"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)"</span>
-            <span class="string">"(4.0 2.0, 4.2 1.4, 4.8 1.9, 4.4 2.2, 4.0 2.0))"</span><span class="special">,</span> <span class="identifier">green</span><span class="special">);</span>
-
-    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">read_wkt</span><span class="special">(</span>
-        <span class="string">"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))"</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">);</span>
-
-    <span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span><span class="special">&lt;</span><span class="identifier">polygon</span><span class="special">&gt;</span> <span class="identifier">output</span><span class="special">;</span>
-    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersection</span><span class="special">(</span><span class="identifier">green</span><span class="special">,</span> <span class="identifier">blue</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span>
-
-    <span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-    <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"green &amp;&amp; blue:"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-    <span class="identifier">BOOST_FOREACH</span><span class="special">(</span><span class="identifier">polygon</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">output</span><span class="special">)</span>
-    <span class="special">{</span>
-        <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span><span class="special">++</span> <span class="special">&lt;&lt;</span> <span class="string">": "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">area</span><span class="special">(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
-    <span class="special">}</span>
-
-
-    <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
-<span class="special">}</span>
-</pre>
-<p>
-        </p>
-<p>
-          Output:
-        </p>
-<pre class="programlisting">green &amp;&amp; blue:
-0: 2.50205
-
-<img src="../../../img/algorithms/intersection.png" alt="intersection">
-
-</pre>
-<h6>
-<a name="geometry.reference.algorithms.intersection.h7"></a>
-          <span class="phrase"><a name="geometry.reference.algorithms.intersection.see_also"></a></span><a class="link" href="intersection.html#geometry.reference.algorithms.intersection.see_also">See also</a>
-        </h6>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">
-              <a class="link" href="union_.html" title="union_">union</a>
-            </li>
-<li class="listitem">
-              <a class="link" href="difference.html" title="difference">difference</a>
-            </li>
-<li class="listitem">
-              <a class="link" href="sym_difference.html" title="sym_difference">sym_difference
-              (symmetric difference)</a>
-            </li>
-</ul></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="intersection/intersection_4_with_strategy.html">intersection
+          (with strategy)</a></span></dt>
+<dt><span class="section"><a href="intersection/intersection_3.html">intersection</a></span></dt>
+</dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2009-2015 Barend Gehrels, Bruno Lalande,
-      Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its affiliates<p>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2009-2017 Barend
+      Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its
+      affiliates<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
       </p>
@@ -333,7 +44,7 @@ Calculate the intersection of two geometries.
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="for_each/for_each_segment.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intersects.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="for_each/for_each_segment.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="intersection/intersection_4_with_strategy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>