• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>convert</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 1. Geometry">
8<link rel="up" href="../algorithms.html" title="Algorithms">
9<link rel="prev" href="clear.html" title="clear">
10<link rel="next" href="convex_hull.html" title="convex_hull">
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="clear.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="convex_hull.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.algorithms.convert"></a><a class="link" href="convert.html" title="convert">convert</a>
28</h4></div></div></div>
29<p>
30          <a class="indexterm" name="idm45635704763872"></a>
31Converts one geometry to another geometry.
32        </p>
33<h6>
34<a name="geometry.reference.algorithms.convert.h0"></a>
35          <span class="phrase"><a name="geometry.reference.algorithms.convert.description"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.description">Description</a>
36        </h6>
37<p>
38          The convert algorithm converts one geometry, e.g. a BOX, to another geometry,
39          e.g. a RING. This only works if it is possible and applicable. If the point-order
40          is different, or the closure is different between two geometry types, it
41          will be converted correctly by explicitly reversing the points or closing
42          or opening the polygon rings.
43        </p>
44<h6>
45<a name="geometry.reference.algorithms.convert.h1"></a>
46          <span class="phrase"><a name="geometry.reference.algorithms.convert.synopsis"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.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="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">&gt;</span>
51<span class="keyword">void</span> <span class="identifier">convert</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="special">&amp;</span> <span class="identifier">geometry2</span><span class="special">)</span></pre>
52<p>
53        </p>
54<h6>
55<a name="geometry.reference.algorithms.convert.h2"></a>
56          <span class="phrase"><a name="geometry.reference.algorithms.convert.parameters"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.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                    Geometry1 const &amp;
92                  </p>
93                </td>
94<td>
95                  <p>
96                    Any type fulfilling a Geometry Concept
97                  </p>
98                </td>
99<td>
100                  <p>
101                    geometry1
102                  </p>
103                </td>
104<td>
105                  <p>
106                    A model of the specified concept (source)
107                  </p>
108                </td>
109</tr>
110<tr>
111<td>
112                  <p>
113                    Geometry2 &amp;
114                  </p>
115                </td>
116<td>
117                  <p>
118                    Any type fulfilling a Geometry Concept
119                  </p>
120                </td>
121<td>
122                  <p>
123                    geometry2
124                  </p>
125                </td>
126<td>
127                  <p>
128                    A model of the specified concept (target)
129                  </p>
130                </td>
131</tr>
132</tbody>
133</table></div>
134<h6>
135<a name="geometry.reference.algorithms.convert.h3"></a>
136          <span class="phrase"><a name="geometry.reference.algorithms.convert.header"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.header">Header</a>
137        </h6>
138<p>
139          Either
140        </p>
141<p>
142          <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>
143        </p>
144<p>
145          Or
146        </p>
147<p>
148          <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">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
149        </p>
150<h6>
151<a name="geometry.reference.algorithms.convert.h4"></a>
152          <span class="phrase"><a name="geometry.reference.algorithms.convert.conformance"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.conformance">Conformance</a>
153        </h6>
154<p>
155          The function convert is not defined by OGC.
156        </p>
157<h6>
158<a name="geometry.reference.algorithms.convert.h5"></a>
159          <span class="phrase"><a name="geometry.reference.algorithms.convert.supported_geometries"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.supported_geometries">Supported
160          geometries</a>
161        </h6>
162<div class="informaltable"><table class="table">
163<colgroup>
164<col>
165<col>
166<col>
167<col>
168<col>
169<col>
170<col>
171<col>
172<col>
173<col>
174</colgroup>
175<thead><tr>
176<th>
177                </th>
178<th>
179                  <p>
180                    Point
181                  </p>
182                </th>
183<th>
184                  <p>
185                    Segment
186                  </p>
187                </th>
188<th>
189                  <p>
190                    Box
191                  </p>
192                </th>
193<th>
194                  <p>
195                    Linestring
196                  </p>
197                </th>
198<th>
199                  <p>
200                    Ring
201                  </p>
202                </th>
203<th>
204                  <p>
205                    Polygon
206                  </p>
207                </th>
208<th>
209                  <p>
210                    MultiPoint
211                  </p>
212                </th>
213<th>
214                  <p>
215                    MultiLinestring
216                  </p>
217                </th>
218<th>
219                  <p>
220                    MultiPolygon
221                  </p>
222                </th>
223</tr></thead>
224<tbody>
225<tr>
226<td>
227                  <p>
228                    Point
229                  </p>
230                </td>
231<td>
232                  <p>
233                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
234                  </p>
235                </td>
236<td>
237                  <p>
238                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
239                  </p>
240                </td>
241<td>
242                  <p>
243                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
244                  </p>
245                </td>
246<td>
247                  <p>
248                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
249                  </p>
250                </td>
251<td>
252                  <p>
253                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
254                  </p>
255                </td>
256<td>
257                  <p>
258                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
259                  </p>
260                </td>
261<td>
262                  <p>
263                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
264                  </p>
265                </td>
266<td>
267                  <p>
268                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
269                  </p>
270                </td>
271<td>
272                  <p>
273                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
274                  </p>
275                </td>
276</tr>
277<tr>
278<td>
279                  <p>
280                    Segment
281                  </p>
282                </td>
283<td>
284                  <p>
285                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
286                  </p>
287                </td>
288<td>
289                  <p>
290                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
291                  </p>
292                </td>
293<td>
294                  <p>
295                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
296                  </p>
297                </td>
298<td>
299                  <p>
300                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
301                  </p>
302                </td>
303<td>
304                  <p>
305                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
306                  </p>
307                </td>
308<td>
309                  <p>
310                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
311                  </p>
312                </td>
313<td>
314                  <p>
315                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
316                  </p>
317                </td>
318<td>
319                  <p>
320                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
321                  </p>
322                </td>
323<td>
324                  <p>
325                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
326                  </p>
327                </td>
328</tr>
329<tr>
330<td>
331                  <p>
332                    Box
333                  </p>
334                </td>
335<td>
336                  <p>
337                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
338                  </p>
339                </td>
340<td>
341                  <p>
342                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
343                  </p>
344                </td>
345<td>
346                  <p>
347                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
348                  </p>
349                </td>
350<td>
351                  <p>
352                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
353                  </p>
354                </td>
355<td>
356                  <p>
357                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
358                  </p>
359                </td>
360<td>
361                  <p>
362                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
363                  </p>
364                </td>
365<td>
366                  <p>
367                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
368                  </p>
369                </td>
370<td>
371                  <p>
372                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
373                  </p>
374                </td>
375<td>
376                  <p>
377                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
378                  </p>
379                </td>
380</tr>
381<tr>
382<td>
383                  <p>
384                    Linestring
385                  </p>
386                </td>
387<td>
388                  <p>
389                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
390                  </p>
391                </td>
392<td>
393                  <p>
394                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
395                  </p>
396                </td>
397<td>
398                  <p>
399                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
400                  </p>
401                </td>
402<td>
403                  <p>
404                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
405                  </p>
406                </td>
407<td>
408                  <p>
409                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
410                  </p>
411                </td>
412<td>
413                  <p>
414                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
415                  </p>
416                </td>
417<td>
418                  <p>
419                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
420                  </p>
421                </td>
422<td>
423                  <p>
424                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
425                  </p>
426                </td>
427<td>
428                  <p>
429                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
430                  </p>
431                </td>
432</tr>
433<tr>
434<td>
435                  <p>
436                    Ring
437                  </p>
438                </td>
439<td>
440                  <p>
441                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
442                  </p>
443                </td>
444<td>
445                  <p>
446                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
447                  </p>
448                </td>
449<td>
450                  <p>
451                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
452                  </p>
453                </td>
454<td>
455                  <p>
456                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
457                  </p>
458                </td>
459<td>
460                  <p>
461                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
462                  </p>
463                </td>
464<td>
465                  <p>
466                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
467                  </p>
468                </td>
469<td>
470                  <p>
471                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
472                  </p>
473                </td>
474<td>
475                  <p>
476                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
477                  </p>
478                </td>
479<td>
480                  <p>
481                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
482                  </p>
483                </td>
484</tr>
485<tr>
486<td>
487                  <p>
488                    Polygon
489                  </p>
490                </td>
491<td>
492                  <p>
493                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
494                  </p>
495                </td>
496<td>
497                  <p>
498                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
499                  </p>
500                </td>
501<td>
502                  <p>
503                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
504                  </p>
505                </td>
506<td>
507                  <p>
508                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
509                  </p>
510                </td>
511<td>
512                  <p>
513                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
514                  </p>
515                </td>
516<td>
517                  <p>
518                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
519                  </p>
520                </td>
521<td>
522                  <p>
523                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
524                  </p>
525                </td>
526<td>
527                  <p>
528                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
529                  </p>
530                </td>
531<td>
532                  <p>
533                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
534                  </p>
535                </td>
536</tr>
537<tr>
538<td>
539                  <p>
540                    MultiPoint
541                  </p>
542                </td>
543<td>
544                  <p>
545                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
546                  </p>
547                </td>
548<td>
549                  <p>
550                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
551                  </p>
552                </td>
553<td>
554                  <p>
555                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
556                  </p>
557                </td>
558<td>
559                  <p>
560                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
561                  </p>
562                </td>
563<td>
564                  <p>
565                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
566                  </p>
567                </td>
568<td>
569                  <p>
570                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
571                  </p>
572                </td>
573<td>
574                  <p>
575                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
576                  </p>
577                </td>
578<td>
579                  <p>
580                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
581                  </p>
582                </td>
583<td>
584                  <p>
585                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
586                  </p>
587                </td>
588</tr>
589<tr>
590<td>
591                  <p>
592                    MultiLinestring
593                  </p>
594                </td>
595<td>
596                  <p>
597                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
598                  </p>
599                </td>
600<td>
601                  <p>
602                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
603                  </p>
604                </td>
605<td>
606                  <p>
607                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
608                  </p>
609                </td>
610<td>
611                  <p>
612                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
613                  </p>
614                </td>
615<td>
616                  <p>
617                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
618                  </p>
619                </td>
620<td>
621                  <p>
622                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
623                  </p>
624                </td>
625<td>
626                  <p>
627                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
628                  </p>
629                </td>
630<td>
631                  <p>
632                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
633                  </p>
634                </td>
635<td>
636                  <p>
637                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
638                  </p>
639                </td>
640</tr>
641<tr>
642<td>
643                  <p>
644                    MultiPolygon
645                  </p>
646                </td>
647<td>
648                  <p>
649                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
650                  </p>
651                </td>
652<td>
653                  <p>
654                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
655                  </p>
656                </td>
657<td>
658                  <p>
659                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
660                  </p>
661                </td>
662<td>
663                  <p>
664                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
665                  </p>
666                </td>
667<td>
668                  <p>
669                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
670                  </p>
671                </td>
672<td>
673                  <p>
674                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
675                  </p>
676                </td>
677<td>
678                  <p>
679                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
680                  </p>
681                </td>
682<td>
683                  <p>
684                    <span class="inlinemediaobject"><img src="../../../img/nyi.png" alt="nyi"></span>
685                  </p>
686                </td>
687<td>
688                  <p>
689                    <span class="inlinemediaobject"><img src="../../../img/ok.png" alt="ok"></span>
690                  </p>
691                </td>
692</tr>
693</tbody>
694</table></div>
695<div class="note"><table border="0" summary="Note">
696<tr>
697<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
698<th align="left">Note</th>
699</tr>
700<tr><td align="left" valign="top"><p>
701            In this status matrix above: columns are source types and rows are target
702            types. So a box can be converted to a ring, polygon or multi-polygon,
703            but not vice versa.
704          </p></td></tr>
705</table></div>
706<h6>
707<a name="geometry.reference.algorithms.convert.h6"></a>
708          <span class="phrase"><a name="geometry.reference.algorithms.convert.complexity"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.complexity">Complexity</a>
709        </h6>
710<p>
711          Linear
712        </p>
713<h6>
714<a name="geometry.reference.algorithms.convert.h7"></a>
715          <span class="phrase"><a name="geometry.reference.algorithms.convert.example"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.example">Example</a>
716        </h6>
717<p>
718          Shows how to convert a geometry into another geometry
719        </p>
720<p>
721</p>
722<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
723
724<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>
725<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">box</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
726<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>
727<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>
728<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">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
729
730<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>
731
732<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
733<span class="special">{</span>
734    <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>
735    <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">box</span><span class="special">&lt;</span><span class="identifier">point</span><span class="special">&gt;</span> <span class="identifier">box</span><span class="special">;</span>
736    <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>
737
738    <span class="identifier">point</span> <span class="identifier">p1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">);</span>
739    <span class="identifier">box</span> <span class="identifier">bx</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">make</span><span class="special">&lt;</span><span class="identifier">box</span><span class="special">&gt;(</span><span class="number">1</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">2</span><span class="special">);</span>
740
741    <span class="comment">// Assign a box to a polygon (conversion box-&gt;poly)</span>
742    <span class="identifier">polygon</span> <span class="identifier">poly</span><span class="special">;</span>
743    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">convert</span><span class="special">(</span><span class="identifier">bx</span><span class="special">,</span> <span class="identifier">poly</span><span class="special">);</span>
744
745    <span class="comment">// Convert a point to another point type (conversion of point-type)</span>
746    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">p2</span><span class="special">;</span>
747    <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">convert</span><span class="special">(</span><span class="identifier">p1</span><span class="special">,</span> <span class="identifier">p2</span><span class="special">);</span> <span class="comment">// source -&gt; target</span>
748
749    <span class="keyword">using</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>
750    <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span>
751        <span class="special">&lt;&lt;</span> <span class="string">"box: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">bx</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>
752        <span class="special">&lt;&lt;</span> <span class="string">"polygon: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">poly</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>
753        <span class="special">&lt;&lt;</span> <span class="string">"point: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">p1</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>
754        <span class="special">&lt;&lt;</span> <span class="string">"point tuples: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">p2</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>
755        <span class="special">;</span>
756
757    <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
758<span class="special">}</span>
759</pre>
760<p>
761        </p>
762<p>
763          Output:
764        </p>
765<pre class="programlisting">box: ((1, 1), (2, 2))
766polygon: (((1, 1), (1, 2), (2, 2), (2, 1), (1, 1)))
767point: (1, 1)
768point tuples: (1, 1)
769</pre>
770<h6>
771<a name="geometry.reference.algorithms.convert.h8"></a>
772          <span class="phrase"><a name="geometry.reference.algorithms.convert.see_also"></a></span><a class="link" href="convert.html#geometry.reference.algorithms.convert.see_also">See
773          also</a>
774        </h6>
775<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
776              <a class="link" href="assign/assign.html" title="assign">assign</a>
777            </li></ul></div>
778<div class="note"><table border="0" summary="Note">
779<tr>
780<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
781<th align="left">Note</th>
782</tr>
783<tr><td align="left" valign="top"><p>
784            convert is modelled as source -&gt; target (where assign is modelled
785            as target := source)
786          </p></td></tr>
787</table></div>
788</div>
789<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
790<td align="left"></td>
791<td align="right"><div class="copyright-footer">Copyright © 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam
792      Wulkiewicz, Oracle and/or its affiliates<p>
793        Distributed under the Boost Software License, Version 1.0. (See accompanying
794        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>)
795      </p>
796</div></td>
797</tr></table>
798<hr>
799<div class="spirit-nav">
800<a accesskey="p" href="clear.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="convex_hull.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
801</div>
802</body>
803</html>
804