Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / geometry / doc / html / geometry / reference / strategies / strategy_buffer_point_square.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>strategy::buffer::point_square</title>
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&#160;1.&#160;Geometry">
8 <link rel="up" href="../strategies.html" title="Strategies">
9 <link rel="prev" href="strategy_buffer_point_circle.html" title="strategy::buffer::point_circle">
10 <link rel="next" href="strategy_buffer_geographic_point_circle.html" title="strategy::buffer::geographic_point_circle">
11 </head>
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>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="strategy_buffer_point_circle.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../strategies.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="strategy_buffer_geographic_point_circle.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="geometry.reference.strategies.strategy_buffer_point_square"></a><a class="link" href="strategy_buffer_point_square.html" title="strategy::buffer::point_square">strategy::buffer::point_square</a>
28 </h4></div></div></div>
29 <p>
30           <a class="indexterm" name="idm46186974003888"></a><a class="indexterm" name="idm46186974003200"></a><a class="indexterm" name="idm46186974002512"></a>
31 Create a squared form buffer around a point.
32         </p>
33 <h6>
34 <a name="geometry.reference.strategies.strategy_buffer_point_square.h0"></a>
35           <span class="phrase"><a name="geometry.reference.strategies.strategy_buffer_point_square.description"></a></span><a class="link" href="strategy_buffer_point_square.html#geometry.reference.strategies.strategy_buffer_point_square.description">Description</a>
36         </h6>
37 <p>
38           This strategy can be used as PointStrategy for the buffer algorithm. It
39           creates a square from each point, where the point lies in the center. It
40           can be applied for points and multi_points, but also for a linestring (if
41           it is degenerate, so consisting of only one point) and for polygons (if
42           it is degenerate). This strategy is only applicable for Cartesian coordinate
43           systems.
44         </p>
45 <h6>
46 <a name="geometry.reference.strategies.strategy_buffer_point_square.h1"></a>
47           <span class="phrase"><a name="geometry.reference.strategies.strategy_buffer_point_square.synopsis"></a></span><a class="link" href="strategy_buffer_point_square.html#geometry.reference.strategies.strategy_buffer_point_square.synopsis">Synopsis</a>
48         </h6>
49 <p>
50 </p>
51 <pre class="programlisting"><span class="keyword">class</span> <span class="identifier">strategy</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">::</span><span class="identifier">point_square</span>
52 <span class="special">{</span>
53   <span class="comment">// ...</span>
54 <span class="special">};</span>
55 </pre>
56 <p>
57         </p>
58 <h6>
59 <a name="geometry.reference.strategies.strategy_buffer_point_square.h2"></a>
60           <span class="phrase"><a name="geometry.reference.strategies.strategy_buffer_point_square.header"></a></span><a class="link" href="strategy_buffer_point_square.html#geometry.reference.strategies.strategy_buffer_point_square.header">Header</a>
61         </h6>
62 <p>
63           <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">strategies</span><span class="special">/</span><span class="identifier">cartesian</span><span class="special">/</span><span class="identifier">buffer_point_square</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
64         </p>
65 <h6>
66 <a name="geometry.reference.strategies.strategy_buffer_point_square.h3"></a>
67           <span class="phrase"><a name="geometry.reference.strategies.strategy_buffer_point_square.example"></a></span><a class="link" href="strategy_buffer_point_square.html#geometry.reference.strategies.strategy_buffer_point_square.example">Example</a>
68         </h6>
69 <p>
70           Shows how the point_square strategy can be used as a PointStrategy to create
71           square buffers where the original point lies in the center
72         </p>
73 <p>
74 </p>
75 <pre class="programlisting"><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>
76 <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>
77 <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">geometries</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
78
79
80 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
81 <span class="special">{</span>
82     <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">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="identifier">point</span><span class="special">;</span>
83     <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">point</span><span class="special">&gt;</span> <span class="identifier">polygon</span><span class="special">;</span>
84
85     <span class="comment">// Declare the point_square strategy</span>
86     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">strategy</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">::</span><span class="identifier">point_square</span> <span class="identifier">point_strategy</span><span class="special">;</span>
87
88     <span class="comment">// Declare other strategies</span>
89     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">strategy</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">::</span><span class="identifier">distance_symmetric</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">distance_strategy</span><span class="special">(</span><span class="number">0.5</span><span class="special">);</span>
90     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">strategy</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">::</span><span class="identifier">join_round</span> <span class="identifier">join_strategy</span><span class="special">;</span>
91     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">strategy</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">::</span><span class="identifier">end_round</span> <span class="identifier">end_strategy</span><span class="special">;</span>
92     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">strategy</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">::</span><span class="identifier">side_straight</span> <span class="identifier">side_strategy</span><span class="special">;</span>
93
94     <span class="comment">// Declare/fill of a multi point</span>
95     <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">multi_point</span><span class="special">&lt;</span><span class="identifier">point</span><span class="special">&gt;</span> <span class="identifier">mp</span><span class="special">;</span>
96     <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">"MULTIPOINT((3 3),(3 4),(4 4),(7 3))"</span><span class="special">,</span> <span class="identifier">mp</span><span class="special">);</span>
97
98     <span class="comment">// Create the buffer of a multi point</span>
99     <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">multi_polygon</span><span class="special">&lt;</span><span class="identifier">polygon</span><span class="special">&gt;</span> <span class="identifier">result</span><span class="special">;</span>
100     <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">mp</span><span class="special">,</span> <span class="identifier">result</span><span class="special">,</span>
101                 <span class="identifier">distance_strategy</span><span class="special">,</span> <span class="identifier">side_strategy</span><span class="special">,</span>
102                 <span class="identifier">join_strategy</span><span class="special">,</span> <span class="identifier">end_strategy</span><span class="special">,</span> <span class="identifier">point_strategy</span><span class="special">);</span>
103
104
105     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
106 <span class="special">}</span>
107 </pre>
108 <p>
109         </p>
110 <h6>
111 <a name="geometry.reference.strategies.strategy_buffer_point_square.h4"></a>
112           <span class="phrase"><a name="geometry.reference.strategies.strategy_buffer_point_square.output"></a></span><a class="link" href="strategy_buffer_point_square.html#geometry.reference.strategies.strategy_buffer_point_square.output">Output</a>
113         </h6>
114 <p>
115           <span class="inlinemediaobject"><img src="../../../img/strategies/buffer_point_square.png" alt="buffer_point_square"></span>
116         </p>
117 <h6>
118 <a name="geometry.reference.strategies.strategy_buffer_point_square.h5"></a>
119           <span class="phrase"><a name="geometry.reference.strategies.strategy_buffer_point_square.see_also"></a></span><a class="link" href="strategy_buffer_point_square.html#geometry.reference.strategies.strategy_buffer_point_square.see_also">See
120           also</a>
121         </h6>
122 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
123 <li class="listitem">
124               <a class="link" href="../algorithms/buffer/buffer_7_with_strategies.html" title="buffer (with strategies)">buffer
125               (with strategies)</a>
126             </li>
127 <li class="listitem">
128               <a class="link" href="strategy_buffer_point_circle.html" title="strategy::buffer::point_circle">point_circle</a>
129             </li>
130 <li class="listitem">
131               <a class="link" href="strategy_buffer_geographic_point_circle.html" title="strategy::buffer::geographic_point_circle">geographic_point_circle</a>
132             </li>
133 </ul></div>
134 </div>
135 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
136 <td align="left"></td>
137 <td align="right"><div class="copyright-footer">Copyright &#169; 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam
138       Wulkiewicz, Oracle and/or its affiliates<p>
139         Distributed under the Boost Software License, Version 1.0. (See accompanying
140         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>)
141       </p>
142 </div></td>
143 </tr></table>
144 <hr>
145 <div class="spirit-nav">
146 <a accesskey="p" href="strategy_buffer_point_circle.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../strategies.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="strategy_buffer_geographic_point_circle.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
147 </div>
148 </body>
149 </html>