3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5 <link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Chapter 1. Geometry">
8 <link rel="up" href="../algorithms.html" title="Algorithms">
9 <link rel="prev" href="centroid/return_centroid_2_with_strategy.html" title="return_centroid (with strategy)">
10 <link rel="next" href="convert.html" title="convert">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="centroid/return_centroid_2_with_strategy.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="convert.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="geometry.reference.algorithms.clear"></a><a class="link" href="clear.html" title="clear">clear</a>
28 </h4></div></div></div>
30 <a class="indexterm" name="idm46187006797552"></a>
31 Clears a linestring, ring or polygon (exterior+interiors) or multi*.
34 <a name="geometry.reference.algorithms.clear.h0"></a>
35 <span class="phrase"><a name="geometry.reference.algorithms.clear.description"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.description">Description</a>
38 Generic function to clear a geometry. All points will be removed from the
39 collection or collections making up the geometry. In most cases this is
40 equivalent to the .clear() method of a std::vector<...>. In the case
41 of a polygon, this clear functionality is automatically called for the
42 exterior ring, and for the interior ring collection. In the case of a point,
43 boxes and segments, nothing will happen.
46 <a name="geometry.reference.algorithms.clear.h1"></a>
47 <span class="phrase"><a name="geometry.reference.algorithms.clear.synopsis"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.synopsis">Synopsis</a>
51 <pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Geometry</span><span class="special">></span>
52 <span class="keyword">void</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Geometry</span> <span class="special">&</span> <span class="identifier">geometry</span><span class="special">)</span></pre>
56 <a name="geometry.reference.algorithms.clear.h2"></a>
57 <span class="phrase"><a name="geometry.reference.algorithms.clear.parameters"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.parameters">Parameters</a>
59 <div class="informaltable"><table class="table">
96 Any type fulfilling a Geometry Concept
106 A model of the specified concept which will be cleared
112 <a name="geometry.reference.algorithms.clear.h3"></a>
113 <span class="phrase"><a name="geometry.reference.algorithms.clear.header"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.header">Header</a>
119 <code class="computeroutput"><span class="preprocessor">#include</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">hpp</span><span class="special">></span></code>
125 <code class="computeroutput"><span class="preprocessor">#include</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">algorithms</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
128 <a name="geometry.reference.algorithms.clear.h4"></a>
129 <span class="phrase"><a name="geometry.reference.algorithms.clear.conformance"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.conformance">Conformance</a>
132 The function clear is not defined by OGC.
135 The function clear conforms to the clear() method of the C++ std-library.
138 <a name="geometry.reference.algorithms.clear.h5"></a>
139 <span class="phrase"><a name="geometry.reference.algorithms.clear.supported_geometries"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.supported_geometries">Supported
142 <div class="informaltable"><table class="table">
168 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
180 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
192 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
204 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
216 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
228 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
240 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
252 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
264 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
276 <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
283 <a name="geometry.reference.algorithms.clear.h6"></a>
284 <span class="phrase"><a name="geometry.reference.algorithms.clear.behavior"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.behavior">Behavior</a>
286 <div class="informaltable"><table class="table">
312 Nothing happens, geometry is unchanged
324 Nothing happens, geometry is unchanged
336 Nothing happens, geometry is unchanged
348 Linestring is cleared
372 The exterior ring is cleared and all interior rings are removed
384 Multi Point is cleared
396 Multi Linestring is cleared
408 Multi Polygon is cleared
415 <a name="geometry.reference.algorithms.clear.h7"></a>
416 <span class="phrase"><a name="geometry.reference.algorithms.clear.complexity"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.complexity">Complexity</a>
422 <a name="geometry.reference.algorithms.clear.h8"></a>
423 <span class="phrase"><a name="geometry.reference.algorithms.clear.example"></a></span><a class="link" href="clear.html#geometry.reference.algorithms.clear.example">Example</a>
426 Shows how to clear a ring or polygon
430 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
432 <span class="preprocessor">#include</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">hpp</span><span class="special">></span>
433 <span class="preprocessor">#include</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">geometries</span><span class="special">/</span><span class="identifier">polygon</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
434 <span class="preprocessor">#include</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">geometries</span><span class="special">/</span><span class="identifier">ring</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
435 <span class="preprocessor">#include</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">geometries</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
437 <span class="identifier">BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS</span><span class="special">(</span><span class="identifier">cs</span><span class="special">::</span><span class="identifier">cartesian</span><span class="special">)</span>
439 <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
441 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
442 <span class="special">{</span>
443 <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">tuple_list_of</span><span class="special">;</span>
445 <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="keyword">float</span><span class="special">,</span> <span class="keyword">float</span><span class="special">></span> <span class="identifier">point</span><span class="special">;</span>
446 <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"><</span><span class="identifier">point</span><span class="special">></span> <span class="identifier">polygon</span><span class="special">;</span>
447 <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">ring</span><span class="special"><</span><span class="identifier">point</span><span class="special">></span> <span class="identifier">ring</span><span class="special">;</span>
449 <span class="identifier">polygon</span> <span class="identifier">poly</span><span class="special">;</span>
451 <span class="comment">// Fill the polygon (using its own methods + Boost.Assign)</span>
452 <span class="identifier">poly</span><span class="special">.</span><span class="identifier">outer</span><span class="special">()</span> <span class="special">=</span> <span class="identifier">tuple_list_of</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">9</span><span class="special">)(</span><span class="number">10</span><span class="special">,</span> <span class="number">10</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
453 <span class="identifier">poly</span><span class="special">.</span><span class="identifier">inners</span><span class="special">().</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">tuple_list_of</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">)(</span><span class="number">4</span><span class="special">,</span> <span class="number">6</span><span class="special">)(</span><span class="number">2</span><span class="special">,</span> <span class="number">8</span><span class="special">)(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">));</span>
455 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</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">dsv</span><span class="special">(</span><span class="identifier">poly</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
456 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">poly</span><span class="special">);</span>
457 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</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">dsv</span><span class="special">(</span><span class="identifier">poly</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
459 <span class="comment">// Create a ring using Boost.Assign</span>
460 <span class="identifier">ring</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">tuple_list_of</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">9</span><span class="special">)(</span><span class="number">8</span><span class="special">,</span> <span class="number">8</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
462 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</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">dsv</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
463 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">clear</span><span class="special">(</span><span class="identifier">r</span><span class="special">);</span>
464 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</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">dsv</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
466 <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
467 <span class="special">}</span>
474 <pre class="programlisting">(((0, 0), (0, 10), (11, 11), (0, 0)), ((0, 0), (0, 10), (11, 11), (0, 0)))
476 ((0, 0), (0, 9), (8, 8), (0, 0))
480 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
481 <td align="left"></td>
482 <td align="right"><div class="copyright-footer">Copyright © 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam
483 Wulkiewicz, Oracle and/or its affiliates<p>
484 Distributed under the Boost Software License, Version 1.0. (See accompanying
485 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>)
490 <div class="spirit-nav">
491 <a accesskey="p" href="centroid/return_centroid_2_with_strategy.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="convert.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>