Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / geometry / doc / html / geometry / reference / access / set / set_2_with_index.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>set (with index)</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="../set.html" title="set">
9 <link rel="prev" href="set_2.html" title="set">
10 <link rel="next" href="set_from_radian_2.html" title="set_from_radian">
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="set_2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.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="set_from_radian_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="geometry.reference.access.set.set_2_with_index"></a><a class="link" href="set_2_with_index.html" title="set (with index)">set
28           (with index)</a>
29 </h5></div></div></div>
30 <p>
31             <a class="indexterm" name="idm46187014155824"></a>
32 set coordinate value of a Box / Segment
33           </p>
34 <h6>
35 <a name="geometry.reference.access.set.set_2_with_index.h0"></a>
36             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.description"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.description">Description</a>
37           </h6>
38 <p>
39             The free functions <span class="bold"><strong>get</strong></span> and <span class="bold"><strong>set</strong></span> are two of the most important functions of
40             Boost.Geometry, both within the library, as also for the library user.
41             With these two functions you normally get and set coordinate values from
42             and for a point, box, segment or sphere.
43           </p>
44 <h6>
45 <a name="geometry.reference.access.set.set_2_with_index.h1"></a>
46             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.synopsis"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.synopsis">Synopsis</a>
47           </h6>
48 <p>
49 </p>
50 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Index</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Dimension</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Geometry</span><span class="special">&gt;</span>
51 <span class="keyword">void</span> <span class="identifier">set</span><span class="special">(</span><span class="identifier">Geometry</span> <span class="special">&amp;</span> <span class="identifier">geometry</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">coordinate_type</span><span class="special">&lt;</span> <span class="identifier">Geometry</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">value</span><span class="special">)</span></pre>
52 <p>
53           </p>
54 <h6>
55 <a name="geometry.reference.access.set.set_2_with_index.h2"></a>
56             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.parameters"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.parameters">Parameters</a>
57           </h6>
58 <div class="informaltable"><table class="table">
59 <colgroup>
60 <col>
61 <col>
62 <col>
63 <col>
64 </colgroup>
65 <thead><tr>
66 <th>
67                     <p>
68                       Type
69                     </p>
70                   </th>
71 <th>
72                     <p>
73                       Concept
74                     </p>
75                   </th>
76 <th>
77                     <p>
78                       Name
79                     </p>
80                   </th>
81 <th>
82                     <p>
83                       Description
84                     </p>
85                   </th>
86 </tr></thead>
87 <tbody>
88 <tr>
89 <td>
90                     <p>
91                       Index
92                     </p>
93                   </td>
94 <td>
95                     <p>
96                       Index, this template parameter is required. For a Box: either
97                       min_corner or max_corner. For a Segment: either 0 or 1 for
98                       first or last point.
99                     </p>
100                   </td>
101 <td>
102                     <p>
103                       -
104                     </p>
105                   </td>
106 <td>
107                     <p>
108                       Must be specified
109                     </p>
110                   </td>
111 </tr>
112 <tr>
113 <td>
114                     <p>
115                       Dimension
116                     </p>
117                   </td>
118 <td>
119                     <p>
120                       Dimension, this template parameter is required. Should contain
121                       [0 .. n-1] for an n-dimensional geometry
122                     </p>
123                   </td>
124 <td>
125                     <p>
126                       -
127                     </p>
128                   </td>
129 <td>
130                     <p>
131                       Must be specified
132                     </p>
133                   </td>
134 </tr>
135 <tr>
136 <td>
137                     <p>
138                       Geometry &amp;
139                     </p>
140                   </td>
141 <td>
142                     <p>
143                       Any type fulfilling a Box Concept or a Segment Concept
144                     </p>
145                   </td>
146 <td>
147                     <p>
148                       geometry
149                     </p>
150                   </td>
151 <td>
152                     <p>
153                       A model of the specified concept
154                     </p>
155                   </td>
156 </tr>
157 <tr>
158 <td>
159                     <p>
160                       typename coordinate_type&lt; Geometry &gt;::type const &amp;
161                     </p>
162                   </td>
163 <td>
164                   </td>
165 <td>
166                     <p>
167                       value
168                     </p>
169                   </td>
170 <td>
171                     <p>
172                       The coordinate value to set
173                     </p>
174                   </td>
175 </tr>
176 </tbody>
177 </table></div>
178 <h6>
179 <a name="geometry.reference.access.set.set_2_with_index.h3"></a>
180             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.header"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.header">Header</a>
181           </h6>
182 <p>
183             Either
184           </p>
185 <p>
186             <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>
187           </p>
188 <p>
189             Or
190           </p>
191 <p>
192             <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">core</span><span class="special">/</span><span class="identifier">access</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
193           </p>
194 <h6>
195 <a name="geometry.reference.access.set.set_2_with_index.h4"></a>
196             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.behavior"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.behavior">Behavior</a>
197           </h6>
198 <div class="informaltable"><table class="table">
199 <colgroup>
200 <col>
201 <col>
202 </colgroup>
203 <thead><tr>
204 <th>
205                     <p>
206                       Case
207                     </p>
208                   </th>
209 <th>
210                     <p>
211                       Behavior
212                     </p>
213                   </th>
214 </tr></thead>
215 <tbody>
216 <tr>
217 <td>
218                     <p>
219                       Box
220                     </p>
221                   </td>
222 <td>
223                     <p>
224                       Sets the coordinate of a box (use min_corner, max_corner to
225                       specify which of the points to set)
226                     </p>
227                   </td>
228 </tr>
229 <tr>
230 <td>
231                     <p>
232                       Segment
233                     </p>
234                   </td>
235 <td>
236                     <p>
237                       Sets the coordinate of a segment (use 0, 1 to specify which
238                       of the two points to set)
239                     </p>
240                   </td>
241 </tr>
242 </tbody>
243 </table></div>
244 <h6>
245 <a name="geometry.reference.access.set.set_2_with_index.h5"></a>
246             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.complexity"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.complexity">Complexity</a>
247           </h6>
248 <p>
249             Constant
250           </p>
251 <h6>
252 <a name="geometry.reference.access.set.set_2_with_index.h6"></a>
253             <span class="phrase"><a name="geometry.reference.access.set.set_2_with_index.example"></a></span><a class="link" href="set_2_with_index.html#geometry.reference.access.set.set_2_with_index.example">Example</a>
254           </h6>
255 <p>
256             Set the coordinate of a box
257           </p>
258 <p>
259 </p>
260 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
261
262 <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>
263 <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>
264
265 <span class="keyword">namespace</span> <span class="identifier">bg</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">;</span>
266
267 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
268 <span class="special">{</span>
269     <span class="identifier">bg</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">box</span><span class="special">&lt;</span><span class="identifier">bg</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">box</span><span class="special">;</span>
270
271     <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">min_corner</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span>
272     <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">min_corner</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
273     <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">max_corner</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">4</span><span class="special">);</span>
274     <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">&lt;</span><span class="identifier">bg</span><span class="special">::</span><span class="identifier">max_corner</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span>
275
276     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Extent: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">bg</span><span class="special">::</span><span class="identifier">dsv</span><span class="special">(</span><span class="identifier">box</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>
277
278     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
279 <span class="special">}</span>
280 </pre>
281 <p>
282           </p>
283 <p>
284             Output:
285           </p>
286 <pre class="programlisting">Extent: ((0, 2), (4, 5))
287 </pre>
288 </div>
289 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
290 <td align="left"></td>
291 <td align="right"><div class="copyright-footer">Copyright &#169; 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam
292       Wulkiewicz, Oracle and/or its affiliates<p>
293         Distributed under the Boost Software License, Version 1.0. (See accompanying
294         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>)
295       </p>
296 </div></td>
297 </tr></table>
298 <hr>
299 <div class="spirit-nav">
300 <a accesskey="p" href="set_2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.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="set_from_radian_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
301 </div>
302 </body>
303 </html>