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"><</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> 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">&</span> <span class="identifier">geometry1</span><span class="special">,</span> <span class="identifier">Geometry2</span> <span class="special">&</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 & 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 & 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"><</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> 143 </p> 144<p> 145 Or 146 </p> 147<p> 148 <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">convert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></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"><</span><span class="identifier">iostream</span><span class="special">></span> 723 724<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> 725<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">box</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 726<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">point_xy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 727<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> 728<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> 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"><</span><span class="keyword">double</span><span class="special">></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"><</span><span class="identifier">point</span><span class="special">></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"><</span><span class="identifier">point</span><span class="special">></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"><</span><span class="identifier">box</span><span class="special">>(</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->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"><</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></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 -> 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"><<</span> <span class="string">"box: "</span> <span class="special"><<</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">bx</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> 752 <span class="special"><<</span> <span class="string">"polygon: "</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> 753 <span class="special"><<</span> <span class="string">"point: "</span> <span class="special"><<</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">p1</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span> 754 <span class="special"><<</span> <span class="string">"point tuples: "</span> <span class="special"><<</span> <span class="identifier">dsv</span><span class="special">(</span><span class="identifier">p2</span><span class="special">)</span> <span class="special"><<</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 -> 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