1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Release Notes</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="../index.html" title="Chapter 1. Geometry"> 9<link rel="prev" href="examples/example_source_code__adapting_a_legacy_geometry_object_model.html" title="Example source code: Adapting a legacy geometry object model"> 10<link rel="next" href="aboutdoc.html" title="About this Documentation"> 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="examples/example_source_code__adapting_a_legacy_geometry_object_model.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="aboutdoc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 27<a name="geometry.release_notes"></a><a class="link" href="release_notes.html" title="Release Notes">Release Notes</a> 28</h2></div></div></div> 29<h4> 30<a name="geometry.release_notes.h0"></a> 31 <span class="phrase"><a name="geometry.release_notes.boost_1_74"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_74">Boost 32 1.74</a> 33 </h4> 34<p> 35 <span class="bold"><strong>Improvements</strong></span> 36 </p> 37<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 38<li class="listitem"> 39 <a href="https://github.com/boostorg/geometry/pull/720" target="_top">720</a> 40 Additional R-tree constructors (thanks to Caian Benedicto). 41 </li> 42<li class="listitem"> 43 Various improvements in buffer, set and relational operations 44 </li> 45</ul></div> 46<p> 47 <span class="bold"><strong>Solved issues</strong></span> 48 </p> 49<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 50<li class="listitem"> 51 <a href="https://github.com/boostorg/geometry/issues/709" target="_top">709</a> 52 memcpy called for object with no trivial copy-assignment 53 </li> 54<li class="listitem"> 55 <a href="https://github.com/boostorg/geometry/issues/721" target="_top">721</a> 56 Compilation error in bgi::detail::rtree::visitors::insert. 57 </li> 58<li class="listitem"> 59 <a href="https://github.com/boostorg/geometry/issues/727" target="_top">727</a> 60 MSVC warning: conditional expression is constant. 61 </li> 62</ul></div> 63<p> 64 <span class="bold"><strong>Bugfixes</strong></span> 65 </p> 66<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 67<li class="listitem"> 68 <a href="https://github.com/boostorg/geometry/pull/700" target="_top">700</a> 69 Missing cases for default strategies in distance algorithm. 70 </li> 71<li class="listitem"> 72 <a href="https://github.com/boostorg/geometry/pull/738" target="_top">738</a> 73 Longitudes out of range in direct geodesic formulas. 74 </li> 75</ul></div> 76<h4> 77<a name="geometry.release_notes.h1"></a> 78 <span class="phrase"><a name="geometry.release_notes.boost_1_73"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_73">Boost 79 1.73</a> 80 </h4> 81<p> 82 <span class="bold"><strong>Improvements</strong></span> 83 </p> 84<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 85<li class="listitem"> 86 <a href="https://github.com/boostorg/geometry/pull/650" target="_top">650</a> 87 Missing input combinations in intersection() and introduction of tupled-output. 88 </li> 89<li class="listitem"> 90 <a href="https://github.com/boostorg/geometry/pull/671" target="_top">671</a> 91 Added d3::point_xyz geometry model (thanks to Digvijay Janartha). 92 </li> 93</ul></div> 94<p> 95 <span class="bold"><strong>Solved issues</strong></span> 96 </p> 97<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 98 <a href="https://github.com/boostorg/geometry/issues/657" target="_top">657</a> 99 Incorrect definition of EPSG3785. 100 </li></ul></div> 101<p> 102 <span class="bold"><strong>Bugfixes</strong></span> 103 </p> 104<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 105<li class="listitem"> 106 <a href="https://github.com/boostorg/geometry/pull/639" target="_top">639</a> 107 R-tree exception-safety improvement. 108 </li> 109<li class="listitem"> 110 <a href="https://github.com/boostorg/geometry/pull/668" target="_top">668</a> 111 Andoyer inverse formula fixed for close points. 112 </li> 113<li class="listitem"> 114 <a href="https://github.com/boostorg/geometry/pull/687" target="_top">687</a> 115 Fixed dangling reference in distance algorithm. 116 </li> 117</ul></div> 118<p> 119 <span class="bold"><strong>Deprecation</strong></span> 120 </p> 121<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 122 <a href="https://github.com/boostorg/geometry/issues/590" target="_top">590</a> 123 Support for C++03 has been deprecated and Geometry will require C++14 from 124 Boost 1.75 onwards. 125 </li></ul></div> 126<h4> 127<a name="geometry.release_notes.h2"></a> 128 <span class="phrase"><a name="geometry.release_notes.boost_1_72"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_72">Boost 129 1.72</a> 130 </h4> 131<p> 132 <span class="bold"><strong>Improvements</strong></span> 133 </p> 134<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 135<li class="listitem"> 136 <a href="https://github.com/boostorg/geometry/pull/500" target="_top">500</a> 137 Karney's solution of inverse geodesic problem for internal use (thanks 138 to Adeel Ahmad). 139 </li> 140<li class="listitem"> 141 <a href="https://github.com/boostorg/geometry/pull/561" target="_top">561</a> 142 New algorithm detail::calculate_point_order() for internal use. 143 </li> 144<li class="listitem"> 145 <a href="https://github.com/boostorg/geometry/pull/584" target="_top">584</a> 146 Support for arbitrary dimensions in matrix_transformer (thanks to Tinko 147 Bartels). 148 </li> 149<li class="listitem"> 150 <a href="https://github.com/boostorg/geometry/pull/616" target="_top">616</a> 151 Various improvements of srs::transformation, incl. support for std threading 152 primitives. 153 </li> 154<li class="listitem"> 155 <a href="https://github.com/boostorg/geometry/pull/627" target="_top">627</a> 156 Improved genericity of relational operations. 157 </li> 158<li class="listitem"> 159 Various improvements related to robustness of set and relational operation. 160 </li> 161</ul></div> 162<p> 163 <span class="bold"><strong>Solved issues</strong></span> 164 </p> 165<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 166<li class="listitem"> 167 <a href="https://github.com/boostorg/geometry/issues/557" target="_top">557</a> 168 Invalid result of distance between point and linestring in spherical-equatorial 169 coordinate system. 170 </li> 171<li class="listitem"> 172 <a href="https://github.com/boostorg/geometry/issues/612" target="_top">612</a> 173 Invalid result of set operations in geographic coordinate system. 174 </li> 175<li class="listitem"> 176 <a href="https://github.com/boostorg/geometry/issues/619" target="_top">619</a> 177 Invalid result of set operations in spherical-equatorial coordinate system. 178 </li> 179</ul></div> 180<p> 181 <span class="bold"><strong>Bugfixes</strong></span> 182 </p> 183<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 184<li class="listitem"> 185 <a href="https://github.com/boostorg/geometry/pull/479" target="_top">479</a> 186 Various fixes for set operations in spherical and geographic coordinate 187 systems. 188 </li> 189<li class="listitem"> 190 <a href="https://github.com/boostorg/geometry/pull/623" target="_top">623</a> 191 Potential integral overflow in set and relational operations. 192 </li> 193<li class="listitem"> 194 <a href="https://github.com/boostorg/geometry/pull/632" target="_top">632</a> 195 Fixed errors in generation of asymmetric one-sided buffer. 196 </li> 197</ul></div> 198<h4> 199<a name="geometry.release_notes.h3"></a> 200 <span class="phrase"><a name="geometry.release_notes.boost_1_71"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_71">Boost 201 1.71</a> 202 </h4> 203<p> 204 <span class="bold"><strong>Improvements</strong></span> 205 </p> 206<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 207<li class="listitem"> 208 <a href="https://github.com/boostorg/geometry/pull/568" target="_top">568</a> 209 Add a constructor that takes matrix_type to matrix_transformer. 210 </li> 211<li class="listitem"> 212 <a href="https://github.com/boostorg/geometry/pull/605" target="_top">605</a> 213 Improvement of handling of coordinate systems in various algorithms. 214 </li> 215<li class="listitem"> 216 Various improvements related to robustness of set and relational operation. 217 </li> 218</ul></div> 219<p> 220 <span class="bold"><strong>Solved issues</strong></span> 221 </p> 222<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 223 <a href="https://github.com/boostorg/geometry/issues/596" target="_top">596</a> 224 boost::geometry::buffer generates (multi)polygon with spike. 225 </li></ul></div> 226<p> 227 <span class="bold"><strong>Bugfixes</strong></span> 228 </p> 229<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 230<li class="listitem"> 231 <a href="https://github.com/boostorg/geometry/pull/595" target="_top">595</a> 232 Fix inaccuracy in geographic point-segment distance computation. 233 </li> 234<li class="listitem"> 235 Fix various compiler warnings. 236 </li> 237</ul></div> 238<h4> 239<a name="geometry.release_notes.h4"></a> 240 <span class="phrase"><a name="geometry.release_notes.boost_1_70"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_70">Boost 241 1.70</a> 242 </h4> 243<p> 244 <span class="bold"><strong>Improvements</strong></span> 245 </p> 246<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 247 <a href="https://github.com/boostorg/geometry/pull/526" target="_top">526</a> 248 New line interpolate algorithm. 249 </li></ul></div> 250<p> 251 <span class="bold"><strong>Solved issues</strong></span> 252 </p> 253<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 254<li class="listitem"> 255 <a href="https://github.com/boostorg/geometry/issues/450" target="_top">450</a> 256 Not supported negative distance in geodesic direct formulas. 257 </li> 258<li class="listitem"> 259 <a href="https://github.com/boostorg/geometry/issues/466" target="_top">466</a> 260 Invalid result of spherical/geographic disjoint(box, polygon). 261 </li> 262<li class="listitem"> 263 <a href="https://github.com/boostorg/geometry/issues/547" target="_top">547</a> 264 Undefined behavior in rtree constructed with zip_iterator. 265 </li> 266<li class="listitem"> 267 <a href="https://github.com/boostorg/geometry/issues/560" target="_top">560</a> 268 Inaccuracy of karney_direct formula. 269 </li> 270<li class="listitem"> 271 <a href="https://github.com/boostorg/geometry/issues/577" target="_top">577</a> 272 R-tree with interprocess allocator compilation error with clang. 273 </li> 274<li class="listitem"> 275 <a href="https://github.com/boostorg/geometry/issues/579" target="_top">579</a> 276 Invalid result of spherical/geographic disjoint(segment, box). 277 </li> 278</ul></div> 279<p> 280 <span class="bold"><strong>Bugfixes</strong></span> 281 </p> 282<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 283<li class="listitem"> 284 <a href="https://github.com/boostorg/geometry/pull/538" target="_top">538</a> 285 Workaround for msvc-12 faulty array initialization. 286 </li> 287<li class="listitem"> 288 <a href="https://github.com/boostorg/geometry/pull/553" target="_top">553</a> 289 Pass spheroid correctly in geographic comparable strategies. 290 </li> 291<li class="listitem"> 292 <a href="https://github.com/boostorg/geometry/pull/570" target="_top">570</a> 293 Fix for spherical/geographic distance between geometries. 294 </li> 295<li class="listitem"> 296 <a href="https://github.com/boostorg/geometry/pull/571" target="_top">571</a> 297 Fix nan result in geographic distance. 298 </li> 299<li class="listitem"> 300 Workarounds in R-tree for compilation errors with gcc-4.6 and msvc-10, 301 11, 12. 302 </li> 303</ul></div> 304<p> 305 <span class="bold"><strong>Changes in behavior</strong></span> 306 </p> 307<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 308 Different strategies expected in envelope for some combinations of geometries. 309 </li></ul></div> 310<h4> 311<a name="geometry.release_notes.h5"></a> 312 <span class="phrase"><a name="geometry.release_notes.boost_1_69"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_69">Boost 313 1.69</a> 314 </h4> 315<p> 316 <span class="bold"><strong>Improvements</strong></span> 317 </p> 318<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 319<li class="listitem"> 320 <a href="https://github.com/boostorg/geometry/pull/486" target="_top">486</a> 321 Karney's solution of direct geodesic problem for internal use (thanks to 322 Adeel Ahmad). 323 </li> 324<li class="listitem"> 325 <a href="https://github.com/boostorg/geometry/pull/490" target="_top">490</a> 326 Discrete Frechet and Hausdorff distance algorithms (thanks to Yaghyavardhan 327 Singh Khangarot). 328 </li> 329<li class="listitem"> 330 <a href="https://github.com/boostorg/geometry/pull/496" target="_top">496</a> 331 New run-time and upgraded compile-time SRS transformation interfaces (undocumented 332 for now due to potential interface changes). 333 </li> 334</ul></div> 335<p> 336 <span class="bold"><strong>Solved issues</strong></span> 337 </p> 338<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 339<li class="listitem"> 340 <a href="https://github.com/boostorg/geometry/issues/520" target="_top">520</a> 341 Missing documentation for dsv(). 342 </li> 343<li class="listitem"> 344 <a href="https://github.com/boostorg/geometry/issues/521" target="_top">521</a> 345 Wrong documentation description for distance(). 346 </li> 347<li class="listitem"> 348 <a href="https://github.com/boostorg/geometry/issues/524" target="_top">524</a> 349 Fixed 'enumeration values not handled in switch' warnings. 350 </li> 351<li class="listitem"> 352 <a href="https://github.com/boostorg/geometry/issues/527" target="_top">527</a> 353 Workaround for VS 2017 (msvc-15). 354 </li> 355</ul></div> 356<p> 357 <span class="bold"><strong>Bugfixes</strong></span> 358 </p> 359<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 360<li class="listitem"> 361 <a href="https://github.com/boostorg/geometry/pull/505" target="_top">505</a> 362 Fixed overflow in overlay algorithms (thanks to Dane Springmeyer). 363 </li> 364<li class="listitem"> 365 <a href="https://github.com/boostorg/geometry/pull/518" target="_top">518</a> 366 Fixed passing of temporaries in append() (thanks to xventura81). 367 </li> 368<li class="listitem"> 369 <a href="https://github.com/boostorg/geometry/pull/522" target="_top">522</a> 370 Support python3 in building documentation. 371 </li> 372</ul></div> 373<h4> 374<a name="geometry.release_notes.h6"></a> 375 <span class="phrase"><a name="geometry.release_notes.boost_1_68"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_68">Boost 376 1.68</a> 377 </h4> 378<p> 379 <span class="bold"><strong>Improvements</strong></span> 380 </p> 381<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 382<li class="listitem"> 383 <a href="https://github.com/boostorg/geometry/pull/469" target="_top">469</a> 384 Horizontal grid shift (nadgrids) in SRS transformations (undocumented for 385 now due to potential interface changes). 386 </li> 387<li class="listitem"> 388 <a href="https://github.com/boostorg/geometry/pull/478" target="_top">478</a> 389 Box-Segment distance for spherical and geographic coordinate systems. 390 </li> 391<li class="listitem"> 392 <a href="https://github.com/boostorg/geometry/pull/487" target="_top">487</a> 393 Missing combinations of geometries in distance for spherical and geographic 394 cs 395 </li> 396<li class="listitem"> 397 <a href="https://github.com/boostorg/geometry/pull/489" target="_top">489</a> 398 Additional direct geodesic problem formulas for internal use 399 </li> 400</ul></div> 401<p> 402 <span class="bold"><strong>Solved issues</strong></span> 403 </p> 404<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 405<li class="listitem"> 406 <a href="https://github.com/boostorg/geometry/issues/470" target="_top">470</a> 407 Assertion failure with short spherical and geographic segments. 408 </li> 409<li class="listitem"> 410 <a href="https://github.com/boostorg/geometry/issues/471" target="_top">471</a> 411 Invalid envelope of spherical polygon 412 </li> 413<li class="listitem"> 414 <a href="https://github.com/boostorg/geometry/issues/498" target="_top">498</a> 415 Unexpected results with expand() and make_inverse() for spherical and geographic 416 CS 417 </li> 418<li class="listitem"> 419 <a href="https://github.com/boostorg/geometry/issues/504" target="_top">504</a> 420 Unused parameter warnings. 421 </li> 422</ul></div> 423<p> 424 <span class="bold"><strong>Bugfixes</strong></span> 425 </p> 426<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 427<li class="listitem"> 428 <a href="https://github.com/boostorg/geometry/pull/488" target="_top">488</a> 429 Handle non-true-references in closing_iterator and ever_circling_range_iterator 430 </li> 431<li class="listitem"> 432 <a href="https://github.com/boostorg/geometry/pull/495" target="_top">495</a> 433 VxWorks 7 cross-compilation issue. 434 </li> 435</ul></div> 436<h4> 437<a name="geometry.release_notes.h7"></a> 438 <span class="phrase"><a name="geometry.release_notes.boost_1_67"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_67">Boost 439 1.67</a> 440 </h4> 441<p> 442 <span class="bold"><strong>Improvements</strong></span> 443 </p> 444<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 445<li class="listitem"> 446 New map projection and SRS transformation representations (undocumented 447 for now due to potential interface changes). 448 </li> 449<li class="listitem"> 450 New densify() algorithm. 451 </li> 452<li class="listitem"> 453 No longer using std::iterator (thanks to Daniela Engert). 454 </li> 455<li class="listitem"> 456 No longer using allocator directly in the rtree. Replaced with boost::container::allocator_traits 457 (thanks to Daniela Engert). 458 </li> 459<li class="listitem"> 460 Default rtree allocator changed to boost::container::new_allocator to still 461 support move semantics emulation in C++03 with boost::container::allocator_traits. 462 </li> 463<li class="listitem"> 464 Area strategies interface changed. This is potentially a breaking change. 465 </li> 466<li class="listitem"> 467 Radius or Sphere can be passed into spherical strategies. 468 </li> 469<li class="listitem"> 470 Added Point-Box and Box-Box spherical and geographic distance() strategies. 471 </li> 472<li class="listitem"> 473 Simplify (multi)polygons will discard output rings of 2 points or (for 474 closed polygons) 3 points, but it tries to avoid creating those 475 </li> 476<li class="listitem"> 477 Simplify (multi)polygons will omit empty interior rings or polygons from 478 output 479 </li> 480</ul></div> 481<p> 482 <span class="bold"><strong>Solved issues</strong></span> 483 </p> 484<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 485<li class="listitem"> 486 <a href="https://svn.boost.org/trac10/ticket/13386" target="_top">13386</a> Workaround 487 for some gcc compilers 488 </li> 489<li class="listitem"> 490 <a href="https://svn.boost.org/trac10/ticket/13381" target="_top">13381</a> Compile 491 error with matrix_transformer in Visual C++ 2015 492 </li> 493<li class="listitem"> 494 <a href="https://svn.boost.org/trac10/ticket/13436" target="_top">13436</a> Incorrectness 495 in boost::geometry::model::polygon documentation 496 </li> 497</ul></div> 498<p> 499 <span class="bold"><strong>Bugfixes</strong></span> 500 </p> 501<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 502<li class="listitem"> 503 Add missing strategy resolving in length() algorithm, affecting Variant 504 support. 505 </li> 506<li class="listitem"> 507 Simplify (multi)polygons now simplifies closing point 508 </li> 509</ul></div> 510<p> 511 <span class="bold"><strong>Changes in behavior</strong></span> 512 </p> 513<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 514 Simplify (multi)polygons now usually rotates input rings before simplifying 515 to select a non collinear point on its convex hull. This improves output. 516 </li></ul></div> 517<h4> 518<a name="geometry.release_notes.h8"></a> 519 <span class="phrase"><a name="geometry.release_notes.boost_1_66"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_66">Boost 520 1.66</a> 521 </h4> 522<p> 523 <span class="bold"><strong>Improvements</strong></span> 524 </p> 525<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 526 Add distance for geographic PointLike/AnyGeometry. 527 </li></ul></div> 528<p> 529 <span class="bold"><strong>Solved issues</strong></span> 530 </p> 531<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 532 <a href="https://svn.boost.org/trac10/ticket/12503" target="_top">12503</a> Validity 533 of complex polygon 534 </li></ul></div> 535<p> 536 <span class="bold"><strong>Bugfixes</strong></span> 537 </p> 538<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 539<li class="listitem"> 540 Fixes in validity of union/intersection/difference which were sometimes 541 invalid. In most cases, results are valid now. 542 </li> 543<li class="listitem"> 544 Fixes in validity of buffer which were sometimes invalid. In most cases, 545 results are valid now. 546 </li> 547<li class="listitem"> 548 Fixes in results of union/intersection/difference which could be incorrect 549 in very complex cases 550 </li> 551<li class="listitem"> 552 Fixes in set and relational operations for non-cartesian coordinate systems. 553 </li> 554</ul></div> 555<h4> 556<a name="geometry.release_notes.h9"></a> 557 <span class="phrase"><a name="geometry.release_notes.boost_1_65"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_65">Boost 558 1.65</a> 559 </h4> 560<p> 561 <span class="bold"><strong>Improvements</strong></span> 562 </p> 563<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 564<li class="listitem"> 565 Add correct() overload taking area strategy 566 </li> 567<li class="listitem"> 568 Add is_convex() overload taking side strategy 569 </li> 570<li class="listitem"> 571 Add missing relational operations (covered_by, crosses, equals, etc.) for 572 MultiPoint/AnyGeometry 573 </li> 574</ul></div> 575<p> 576 <span class="bold"><strong>Solved issues</strong></span> 577 </p> 578<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 579<li class="listitem"> 580 <a href="https://svn.boost.org/trac/boost/ticket/12410" target="_top">12410</a> 581 Lack of support of geographic coordinate system in correct() 582 </li> 583<li class="listitem"> 584 <a href="https://svn.boost.org/trac/boost/ticket/13035" target="_top">13035</a> 585 Wrong result of non-cartesian intersection strategies for segments near 586 poles. 587 </li> 588<li class="listitem"> 589 <a href="https://svn.boost.org/trac/boost/ticket/13057" target="_top">13057</a> 590 Wrong result of intersects() for linestrings caused by numerical issue 591 in disjoint() for boxes. 592 </li> 593</ul></div> 594<p> 595 <span class="bold"><strong>Bugfixes</strong></span> 596 </p> 597<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 598<li class="listitem"> 599 Fix is_valid which could return false for multipolygons where an interior 600 ring touches another interior ring 601 </li> 602<li class="listitem"> 603 Fix is_valid which could return false for multipolygons where a polygon 604 was located in an interior ring, all touching each other 605 </li> 606<li class="listitem"> 607 Fix union which could produce invalid results (for some cases, this needs 608 to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS) 609 </li> 610<li class="listitem"> 611 Fix intersection (idem), but some cases are still not yet valid 612 </li> 613<li class="listitem"> 614 Fix difference (idem), but some cases are still not yet valid 615 </li> 616<li class="listitem"> 617 Fix propagation of area strategy into the internals of various algorithms 618 from intersection strategy 619 </li> 620<li class="listitem"> 621 Fix uninitialized variable in relate and reference to temporary in overlay 622 </li> 623<li class="listitem"> 624 Fix error in disjoint for geographic Segment/Box 625 </li> 626<li class="listitem"> 627 Fix handling of non-cartesian geometries in various algorithms 628 </li> 629</ul></div> 630<h4> 631<a name="geometry.release_notes.h10"></a> 632 <span class="phrase"><a name="geometry.release_notes.boost_1_64"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_64">Boost 633 1.64</a> 634 </h4> 635<p> 636 <span class="bold"><strong>Improvements</strong></span> 637 </p> 638<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 639 matrix transformation is now based on Boost.QVM instead of Boost.Ublas 640 </li></ul></div> 641<p> 642 <span class="bold"><strong>Breaking changes</strong></span> 643 </p> 644<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 645<li class="listitem"> 646 ublas_transformer is renamed to matrix_transformer 647 </li> 648<li class="listitem"> 649 explicit modifier is added to constructors of rtree index::dynamic_* parameters 650 </li> 651<li class="listitem"> 652 strategy::area::huiller replaced by strategy::area::spherical 653 </li> 654</ul></div> 655<p> 656 <span class="bold"><strong>Solved issues</strong></span> 657 </p> 658<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 659<li class="listitem"> 660 <a href="https://github.com/boostorg/geometry/issues/363" target="_top">363</a> 661 Missing includes in geometry/index/parameters.hpp 662 </li> 663<li class="listitem"> 664 <a href="https://github.com/boostorg/geometry/issues/364" target="_top">364</a> 665 within(Linear, Areal) compilation error when arguments use different point 666 types 667 </li> 668<li class="listitem"> 669 <a href="https://github.com/boostorg/geometry/issues/370" target="_top">370</a> 670 Buffer Seg Faults with Ring as Input 671 </li> 672</ul></div> 673<p> 674 <span class="bold"><strong>Solved tickets</strong></span> 675 </p> 676<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 677<li class="listitem"> 678 <a href="https://svn.boost.org/trac/boost/ticket/11899" target="_top">11899</a> 679 boost::geometry::equals doesn't handle open polygons 680 </li> 681<li class="listitem"> 682 <a href="https://svn.boost.org/trac/boost/ticket/11930" target="_top">11930</a> 683 Inaccuracy of area::huiller strategy 684 </li> 685<li class="listitem"> 686 <a href="https://svn.boost.org/trac/boost/ticket/11931" target="_top">11931</a> 687 Wrong spherical area with pole encircling polygons 688 </li> 689<li class="listitem"> 690 <a href="https://svn.boost.org/trac/boost/ticket/12566" target="_top">12566</a> 691 Ambiguous template instantiation in equal_to<> when pair value contains 692 raw pointer 693 </li> 694<li class="listitem"> 695 <a href="https://svn.boost.org/trac/boost/ticket/12861" target="_top">12861</a> 696 Segmentation fault in stdlibc++ (gcc 4.8.2) affecting rtree 697 </li> 698<li class="listitem"> 699 <a href="https://svn.boost.org/trac/boost/ticket/12885" target="_top">12885</a> 700 Use BOOST_THROW_EXCEPTION instead of throw 701 </li> 702</ul></div> 703<p> 704 <span class="bold"><strong>Bugfixes</strong></span> 705 </p> 706<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 707 Fix distance_measure in get_turn_info 708 </li></ul></div> 709<h4> 710<a name="geometry.release_notes.h11"></a> 711 <span class="phrase"><a name="geometry.release_notes.boost_1_63"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_63">Boost 712 1.63</a> 713 </h4> 714<p> 715 <span class="bold"><strong>Improvements</strong></span> 716 </p> 717<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 718 Intersection: take care that output is valid (work in progres, not yet 719 finished - but more is valid) 720 </li></ul></div> 721<p> 722 <span class="bold"><strong>Solved tickets</strong></span> 723 </p> 724<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 725<li class="listitem"> 726 <a href="https://svn.boost.org/trac/boost/ticket/12289" target="_top">12289</a> 727 Avoid warning/compilation error for std::cout 728 </li> 729<li class="listitem"> 730 <a href="https://svn.boost.org/trac/boost/ticket/12412" target="_top">12412</a> 731 Invalid result of covered_by() with geographic Points and Boxes 732 </li> 733<li class="listitem"> 734 <a href="https://svn.boost.org/trac/boost/ticket/12413" target="_top">12413</a> 735 rtree::remove() not working properly with geographic Points 736 </li> 737</ul></div> 738<h4> 739<a name="geometry.release_notes.h12"></a> 740 <span class="phrase"><a name="geometry.release_notes.boost_1_62"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_62">Boost 741 1.62</a> 742 </h4> 743<p> 744 <span class="bold"><strong>Improvements</strong></span> 745 </p> 746<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 747<li class="listitem"> 748 Union: take care that output is valid (with some exceptions), also with 749 self-tangent polygons or shared edges 750 </li> 751<li class="listitem"> 752 SVG: support boost::variant of geometries 753 </li> 754<li class="listitem"> 755 SVG: coordinates are now written as double (by default) to svg 756 </li> 757<li class="listitem"> 758 Rename namespace concept to concepts to avoid conflicts with the newest 759 compilers 760 </li> 761<li class="listitem"> 762 New spherical intersection strategy used in relational and set operations 763 for spherical and geographic Geometries (previously cartesian intersection 764 strategy was used for all coordinate systems). 765 </li> 766</ul></div> 767<p> 768 <span class="bold"><strong>Solved tickets</strong></span> 769 </p> 770<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 771<li class="listitem"> 772 <a href="https://svn.boost.org/trac/boost/ticket/12189" target="_top">12189</a> 773 Relational operations not compiling when point types of inputs are different 774 (cartesian, affecting rtree) 775 </li> 776<li class="listitem"> 777 <a href="https://svn.boost.org/trac/boost/ticket/12287" target="_top">12287</a> 778 Invalid result of rtree.query() for contains() predicate 779 </li> 780<li class="listitem"> 781 <a href="https://svn.boost.org/trac/boost/ticket/12342" target="_top">12342</a> 782 Relational operations not compiling when point types of inputs are different 783 (geographic, affecting rtree) 784 </li> 785</ul></div> 786<h4> 787<a name="geometry.release_notes.h13"></a> 788 <span class="phrase"><a name="geometry.release_notes.boost_1_61"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_61">Boost 789 1.61</a> 790 </h4> 791<p> 792 <span class="bold"><strong>Additional functionality</strong></span> 793 </p> 794<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 795 Support within and covered_by for Box/Box in spherical and geographic coordinate 796 systems. 797 </li></ul></div> 798<p> 799 <span class="bold"><strong>Improvements</strong></span> 800 </p> 801<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 802 Overlay: handle_tangencies replaced by clusters, fixing many cases with 803 colocated turns 804 </li></ul></div> 805<p> 806 <span class="bold"><strong>Solved tickets</strong></span> 807 </p> 808<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 809<li class="listitem"> 810 <a href="https://svn.boost.org/trac/boost/ticket/9162" target="_top">9162</a> 811 Invalid result of relational operations for non-cartesian Point/Areal. 812 </li> 813<li class="listitem"> 814 <a href="https://svn.boost.org/trac/boost/ticket/10866" target="_top">10866</a> 815 union_ doesn't work in 1.56 and 1.57. 816 </li> 817<li class="listitem"> 818 <a href="https://svn.boost.org/trac/boost/ticket/11018" target="_top">11018</a> 819 Invalid geometry intersection 820 </li> 821<li class="listitem"> 822 <a href="https://svn.boost.org/trac/boost/ticket/11576" target="_top">11576</a> 823 Intersection gives wrong results. 824 </li> 825<li class="listitem"> 826 <a href="https://svn.boost.org/trac/boost/ticket/11637" target="_top">11637</a> 827 Unused parameter warning. 828 </li> 829<li class="listitem"> 830 <a href="https://svn.boost.org/trac/boost/ticket/11725" target="_top">11725</a> 831 union_ fails to create holes 832 </li> 833<li class="listitem"> 834 <a href="https://svn.boost.org/trac/boost/ticket/11789" target="_top">11789</a> 835 Assertion failure or invalid result of set operations for spherical_equatorial 836 coordinate system. 837 </li> 838<li class="listitem"> 839 <a href="https://svn.boost.org/trac/boost/ticket/11917" target="_top">11917</a> 840 Andoyer distance strategy returns 0 for antipodal points (default geographic 841 distance). 842 </li> 843<li class="listitem"> 844 <a href="https://svn.boost.org/trac/boost/ticket/11928" target="_top">11928</a> 845 Improvement of the accuracy of surveyor (cartesian) area strategy. 846 </li> 847<li class="listitem"> 848 <a href="https://svn.boost.org/trac/boost/ticket/11966" target="_top">11966</a> 849 Compilation error in svg() for box and non-int coordinate type. 850 </li> 851<li class="listitem"> 852 <a href="https://svn.boost.org/trac/boost/ticket/11984" target="_top">11984</a> 853 union_() generates self-intersecting polygon 854 </li> 855<li class="listitem"> 856 <a href="https://svn.boost.org/trac/boost/ticket/11987" target="_top">11987</a> 857 rtree::remove() not compiling for geographic CS. 858 </li> 859<li class="listitem"> 860 <a href="https://svn.boost.org/trac/boost/ticket/12000" target="_top">12000</a> 861 Uninitialized reference in (unused) constructor of relate's mask_handler. 862 </li> 863<li class="listitem"> 864 <a href="https://svn.boost.org/trac/boost/ticket/12106" target="_top">12106</a> 865 Invalid assertion failure in envelope() for non-cartesian very short segments. 866 </li> 867</ul></div> 868<p> 869 <span class="bold"><strong>Bugfixes</strong></span> 870 </p> 871<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 872<li class="listitem"> 873 Fix intersects and disjoint for Segment/Box in cartesian coordinate system 874 when Segment is parallel to Box's face. 875 </li> 876<li class="listitem"> 877 Fix relation operations for Point/Areal in spherical and geographic coordinate 878 systems for edge cases. 879 </li> 880<li class="listitem"> 881 Fix intersects and disjoint for Point/Box and Box/Box in spherical and 882 geographic coordinate systems for some cases. 883 </li> 884<li class="listitem"> 885 Fix within and covered_by for Point/Box in spherical and geographic coordinate 886 systems for some cases. 887 </li> 888</ul></div> 889<h4> 890<a name="geometry.release_notes.h14"></a> 891 <span class="phrase"><a name="geometry.release_notes.boost_1_60"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_60">Boost 892 1.60</a> 893 </h4> 894<p> 895 <span class="bold"><strong>Solved tickets</strong></span> 896 </p> 897<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 898<li class="listitem"> 899 <a href="https://svn.boost.org/trac/boost/ticket/10803" target="_top">10803</a> 900 Union algorithm returning invalid geometry 901 </li> 902<li class="listitem"> 903 <a href="https://svn.boost.org/trac/boost/ticket/11522" target="_top">11522</a> 904 Namespace clash in buffer for traits::detail 905 </li> 906<li class="listitem"> 907 <a href="https://svn.boost.org/trac/boost/ticket/11533" target="_top">11533</a> 908 Assert failure in rtree caused by a bug in remove() if min elements number 909 is 1 910 </li> 911<li class="listitem"> 912 <a href="https://svn.boost.org/trac/boost/ticket/11607" target="_top">11607</a> 913 Private geometry::exception::what() 914 </li> 915<li class="listitem"> 916 <a href="https://svn.boost.org/trac/boost/ticket/11709" target="_top">11709</a> 917 is_simple segfault 918 </li> 919<li class="listitem"> 920 <a href="https://svn.boost.org/trac/boost/ticket/11710" target="_top">11710</a> 921 is_simple - empty geometry logic 922 </li> 923<li class="listitem"> 924 <a href="https://svn.boost.org/trac/boost/ticket/11711" target="_top">11711</a> 925 is_simple and is_valid - Points that are NaN or Infinity 926 </li> 927</ul></div> 928<p> 929 <span class="bold"><strong>Bugfixes</strong></span> 930 </p> 931<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 932<li class="listitem"> 933 Fix colocations of touching interior ring / exterior ring, where it also 934 touches another polygon 935 </li> 936<li class="listitem"> 937 Fix removing values from an empty rtree - no effect and 0 returned instead 938 of assertion failure 939 </li> 940<li class="listitem"> 941 Fix segfault in centroid for multi geometries containing empty single geometries 942 (thanks to Jiri Drbalek) 943 </li> 944<li class="listitem"> 945 Fix liang_barsky strategy for integral coordinates (thanks to Dane Springmeyer) 946 </li> 947</ul></div> 948<h4> 949<a name="geometry.release_notes.h15"></a> 950 <span class="phrase"><a name="geometry.release_notes.boost_1_59"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_59">Boost 951 1.59</a> 952 </h4> 953<p> 954 <span class="bold"><strong>Additional functionality</strong></span> 955 </p> 956<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 957<li class="listitem"> 958 Added rtree const_iterator, begin(), end() and the support for Boost.Range. 959 </li> 960<li class="listitem"> 961 The support for C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span></code> 962 in geometries models. 963 </li> 964<li class="listitem"> 965 Disjoint and intersects support the following geometry combinations: multipoint/linestring, 966 multipoint/multilinestring. 967 </li> 968<li class="listitem"> 969 Added relate() and relation() algorithms. 970 </li> 971<li class="listitem"> 972 Intersection has been implemented for combinations of pointlike and linear 973 geometries 974 </li> 975<li class="listitem"> 976 Added implementation for difference(pointlike, linear) 977 </li> 978<li class="listitem"> 979 New algorithm is_empty, returning true if the geometry represents the empty 980 set 981 </li> 982<li class="listitem"> 983 The envelope algorithm supports pointlike and linear geometries in the 984 spherical equatorial coordinate system 985 </li> 986<li class="listitem"> 987 The envelope algorithm supports pointlike geometries in the geographic 988 coordinate system 989 </li> 990</ul></div> 991<p> 992 <span class="bold"><strong>Improvements</strong></span> 993 </p> 994<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 995<li class="listitem"> 996 Upgraded rtree const_query_iterator category to ForwardIterator. 997 </li> 998<li class="listitem"> 999 Buffer performance of buffers around multi-points is improved significantly 1000 </li> 1001</ul></div> 1002<p> 1003 <span class="bold"><strong>Breaking changes</strong></span> 1004 </p> 1005<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1006 buffer side strategy now returns error_code instead of bool. If you have 1007 your own custom side strategy, it should be adapted 1008 </li></ul></div> 1009<p> 1010 <span class="bold"><strong>Solved tickets</strong></span> 1011 </p> 1012<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1013<li class="listitem"> 1014 <a href="https://svn.boost.org/trac/boost/ticket/11113" target="_top">11113</a> 1015 Support easy enumeration of all elements with BOOST_FOREACH 1016 </li> 1017<li class="listitem"> 1018 <a href="https://svn.boost.org/trac/boost/ticket/11232" target="_top">11232</a> 1019 Feature request - relate() 1020 </li> 1021<li class="listitem"> 1022 <a href="https://svn.boost.org/trac/boost/ticket/11236" target="_top">11236</a> 1023 Invalid result of centroid() for integer coordinate type 1024 </li> 1025<li class="listitem"> 1026 <a href="https://svn.boost.org/trac/boost/ticket/11268" target="_top">11268</a> 1027 Regression in boost::geometry::intersection interface with multi_linestring 1028 and box -- does not compile on 1.57 VS 1.55 1029 </li> 1030<li class="listitem"> 1031 <a href="https://svn.boost.org/trac/boost/ticket/11332" target="_top">11332</a> 1032 Assertion failure in buffer for extreme coordinate differences 1033 </li> 1034<li class="listitem"> 1035 <a href="https://svn.boost.org/trac/boost/ticket/11346" target="_top">11346</a> 1036 Segment iterator does not work with ranges returning values instead of 1037 references 1038 </li> 1039<li class="listitem"> 1040 <a href="https://svn.boost.org/trac/boost/ticket/11436" target="_top">11436</a> 1041 sym_difference(py1, py2, mpy) returns invalid multipolygon 1042 </li> 1043</ul></div> 1044<p> 1045 <span class="bold"><strong>Bugfixes</strong></span> 1046 </p> 1047<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1048<li class="listitem"> 1049 Buffer: use a more robust way to calculate the side of an intersection, 1050 this fixes several errors in buffer generation 1051 </li> 1052<li class="listitem"> 1053 Fix in selection of segment to which calculate from IP from, in intersection 1054 of two segments. Now is selected the one close to a segment-point point, 1055 or else the one on the shortest segment. This avoids (rarely occuring) 1056 generation of tiny triangles making output polygons invalid 1057 </li> 1058<li class="listitem"> 1059 In rescaling round instead of truncate to the integer grid (this fix and 1060 the previous mentioned can have some impact on output geometries) 1061 </li> 1062<li class="listitem"> 1063 Fix potential infinite loop in detail::has_spikes (the loop can happen 1064 if the points passed have NaN coordinates) 1065 </li> 1066</ul></div> 1067<h4> 1068<a name="geometry.release_notes.h16"></a> 1069 <span class="phrase"><a name="geometry.release_notes.boost_1_58"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_58">Boost 1070 1.58</a> 1071 </h4> 1072<p> 1073 <span class="bold"><strong>Additional functionality</strong></span> 1074 </p> 1075<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1076<li class="listitem"> 1077 New algorithm num_segments, returning the number of segments of a geometry 1078 </li> 1079<li class="listitem"> 1080 New overload for is_valid algorithm, that takes a string reference as a 1081 second argument and fills it with a message related to the validity or 1082 invalidity of the geometry 1083 </li> 1084<li class="listitem"> 1085 New overload for is_valid algorithm, that takes an enum reference as a 1086 second argument and fills it with a value related to the validity or invalidity 1087 of the geometry 1088 </li> 1089<li class="listitem"> 1090 Disjoint and intersects support the following geometry combinations: point/multipoint, 1091 multipoint/multipoint, multipoint/segment, multipoint/box 1092 </li> 1093</ul></div> 1094<p> 1095 <span class="bold"><strong>Improvements</strong></span> 1096 </p> 1097<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1098<li class="listitem"> 1099 Buffer now supports flat-ends for linestrings with a bend close to the 1100 start (such that buffered segment crosses flat-end). 1101 </li> 1102<li class="listitem"> 1103 Buffer performance is improved significantly 1104 </li> 1105<li class="listitem"> 1106 Partition performance is improved significantly for polygons, potentially 1107 enhancing all overlay operations 1108 </li> 1109</ul></div> 1110<p> 1111 <span class="bold"><strong>Solved tickets</strong></span> 1112 </p> 1113<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1114<li class="listitem"> 1115 <a href="https://svn.boost.org/trac/boost/ticket/8379" target="_top">8379</a> 1116 Invalid comparison of the result of determinant 1117 </li> 1118<li class="listitem"> 1119 <a href="https://svn.boost.org/trac/boost/ticket/10108" target="_top">10108</a> 1120 Error in overlay operations in specific cases where geometries touch at 1121 one point 1122 </li> 1123<li class="listitem"> 1124 <a href="https://svn.boost.org/trac/boost/ticket/10201" target="_top">10201</a> 1125 Suggestion to use different function to compare coordinates [wontfix] 1126 </li> 1127<li class="listitem"> 1128 <a href="https://svn.boost.org/trac/boost/ticket/10467" target="_top">10467</a> 1129 Template parameter name coliding with B0 macro name defined in termios.h 1130 </li> 1131<li class="listitem"> 1132 <a href="https://svn.boost.org/trac/boost/ticket/10640" target="_top">10640</a> 1133 Invalid result of buffer() for CCW Polygons. 1134 </li> 1135<li class="listitem"> 1136 <a href="https://svn.boost.org/trac/boost/ticket/10666" target="_top">10666</a> 1137 MSVC compiler warning C4127: conditional expression is constant 1138 </li> 1139<li class="listitem"> 1140 <a href="https://svn.boost.org/trac/boost/ticket/10747" target="_top">10747</a> 1141 Error in rescaling causing errors in areal/areal set operations 1142 </li> 1143<li class="listitem"> 1144 <a href="https://svn.boost.org/trac/boost/ticket/10770" target="_top">10770</a> 1145 Buffer fails for large distances, or rough round joins, where concavities 1146 where not intersected properly 1147 </li> 1148<li class="listitem"> 1149 <a href="https://svn.boost.org/trac/boost/ticket/10658" target="_top">10658</a> 1150 sym_difference yields bad result for int polygons 1151 </li> 1152<li class="listitem"> 1153 <a href="https://svn.boost.org/trac/boost/ticket/10835" target="_top">10835</a> 1154 Difference of multilinestring and polygon yields wrong result 1155 </li> 1156<li class="listitem"> 1157 <a href="https://svn.boost.org/trac/boost/ticket/10861" target="_top">10861</a> 1158 Rtree failing to compile for Value being a pair or a tuple containing pointer 1159 to Geometry and the default equal_to<> used 1160 </li> 1161<li class="listitem"> 1162 <a href="https://svn.boost.org/trac/boost/ticket/10863" target="_top">10863</a> 1163 Template parameter name coliding with B0 macro name defined in termios.h 1164 (duplicate of 10467) 1165 </li> 1166<li class="listitem"> 1167 <a href="https://svn.boost.org/trac/boost/ticket/10887" target="_top">10887</a> 1168 Invalid result of within() and relate() for Linear/MultiPolygon 1169 </li> 1170<li class="listitem"> 1171 <a href="https://svn.boost.org/trac/boost/ticket/10890" target="_top">10890</a> 1172 Invalid result of disjoint() for Point/Segment. 1173 </li> 1174<li class="listitem"> 1175 <a href="https://svn.boost.org/trac/boost/ticket/10904" target="_top">10904</a> 1176 Invalid calculation of most significant Dimension of a segment in relate_cartesian_segments 1177 strategy 1178 </li> 1179<li class="listitem"> 1180 <a href="https://svn.boost.org/trac/boost/ticket/10912" target="_top">10912</a> 1181 Invalid result of within() and relate() for Areal/Areal 1182 </li> 1183<li class="listitem"> 1184 <a href="https://svn.boost.org/trac/boost/ticket/10951" target="_top">10951</a> 1185 Tests failing on windows with intel compiler due to lack of /bigobj flag. 1186 </li> 1187<li class="listitem"> 1188 <a href="https://svn.boost.org/trac/boost/ticket/10957" target="_top">10957</a> 1189 Assertion failure and invalid results of various relational operations. 1190 </li> 1191<li class="listitem"> 1192 <a href="https://svn.boost.org/trac/boost/ticket/10958" target="_top">10958</a> 1193 Invalid results of disjoint() L/L and L/A. 1194 </li> 1195<li class="listitem"> 1196 <a href="https://svn.boost.org/trac/boost/ticket/10959" target="_top">10959</a> 1197 Assertion failure in get_turns() used with no_rescale_policy. 1198 </li> 1199<li class="listitem"> 1200 <a href="https://svn.boost.org/trac/boost/ticket/10960" target="_top">10960</a> 1201 Invalid result of get_turns() for L/A, missing turn. 1202 </li> 1203<li class="listitem"> 1204 <a href="https://svn.boost.org/trac/boost/ticket/10961" target="_top">10961</a> 1205 Invalid result of get_turns() for L/A, invalid turn for a Linear spike. 1206 </li> 1207<li class="listitem"> 1208 <a href="https://svn.boost.org/trac/boost/ticket/11112" target="_top">11112</a> 1209 Compilation failure on Solaris due to a CS name clash (used for a macro 1210 on this platform) 1211 </li> 1212<li class="listitem"> 1213 <a href="https://svn.boost.org/trac/boost/ticket/11121" target="_top">11121</a> 1214 Invalid result of difference() for integral coordinates 1215 </li> 1216</ul></div> 1217<p> 1218 <span class="bold"><strong>Bugfixes</strong></span> 1219 </p> 1220<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1221<li class="listitem"> 1222 Bug in multipoint/polygon multipoint/multipolygon distance computation 1223 (wrong detection of points inside the areal geometry) 1224 </li> 1225<li class="listitem"> 1226 Bug in flatten_iterator's assignment operator causing an access violation 1227 </li> 1228<li class="listitem"> 1229 Bug in Cartesian segment-segment intersection strategy when one segment 1230 degenerates to a point and is collinear to the other non-degenerate segment 1231 </li> 1232<li class="listitem"> 1233 Bug in centroid(), non-deterministic result if calculated for e.g. a Polygon 1234 with zero-area. 1235 </li> 1236<li class="listitem"> 1237 Bug in buffers for joins with a limited number of points 1238 </li> 1239<li class="listitem"> 1240 Bug in buffers for round joins with limited number of points around sharp 1241 corners 1242 </li> 1243<li class="listitem"> 1244 Bug in buffers for joins with large buffer distances 1245 </li> 1246<li class="listitem"> 1247 Bug in buffers for round ends with an odd number of points 1248 </li> 1249<li class="listitem"> 1250 Bug in buffers for flat ends with large buffer distances 1251 </li> 1252<li class="listitem"> 1253 Bug in buffers for interior rings with large negative buffer distances 1254 </li> 1255<li class="listitem"> 1256 Bug in closing_iterator not working properly when the input range is empty 1257 </li> 1258<li class="listitem"> 1259 Bug in is_simple, not handling properly closed simple linestrings within 1260 multilinestrings 1261 </li> 1262<li class="listitem"> 1263 Bug in rtree constructors taking a pair of Iterators or a Range (packing 1264 algorithm), the use of reference to destroyed temporary when Iterator's 1265 reference is not true reference, e.g. for some of the Range Adaptors. It 1266 also affects distance() and comparable_distance(). This bug may cause unexpected 1267 behavior of the rtree or distance() algorithm, e.g. an assertion failure 1268 or a SEGFAULT. 1269 </li> 1270<li class="listitem"> 1271 Bug in rtree count() member function, the use of reference to destroyed 1272 temporary when object of type convertible but not the same as value_type 1273 or indexable_type is passed. If this happens, wrong result may be returned, 1274 in most cases 0. 1275 </li> 1276<li class="listitem"> 1277 Bugs related to the handling of Ranges, preventing compilation of Geometries 1278 using non-Container Ranges in some algorithms (thanks to Samuel Debionne) 1279 </li> 1280</ul></div> 1281<h4> 1282<a name="geometry.release_notes.h17"></a> 1283 <span class="phrase"><a name="geometry.release_notes.boost_1_57"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_57">Boost 1284 1.57</a> 1285 </h4> 1286<p> 1287 <span class="bold"><strong>Improvements</strong></span> 1288 </p> 1289<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1290<li class="listitem"> 1291 The support of parameters convertible to value_type in rtree insert(), 1292 remove() and count() functions 1293 </li> 1294<li class="listitem"> 1295 Support for counterclockwise input/output in algorithm buffer 1296 </li> 1297<li class="listitem"> 1298 Support for open-geometry input in algorithm buffer (open output not yet 1299 supported) 1300 </li> 1301<li class="listitem"> 1302 Support for degenerate input (point-like linestrings, polygons) in algorithm 1303 buffer 1304 </li> 1305</ul></div> 1306<p> 1307 <span class="bold"><strong>Solved tickets</strong></span> 1308 </p> 1309<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1310<li class="listitem"> 1311 <a href="https://svn.boost.org/trac/boost/ticket/6443" target="_top">6443</a> 1312 Wrong degenerated hulls returned by convex_hull(). 1313 </li> 1314<li class="listitem"> 1315 <a href="https://svn.boost.org/trac/boost/ticket/8402" target="_top">8402</a> 1316 Implicit conversion warnings 1317 </li> 1318<li class="listitem"> 1319 <a href="https://svn.boost.org/trac/boost/ticket/9354" target="_top">9354</a> 1320 Bug in winding strategy affecting within() and covered_by() for non-cartesian 1321 coordinate systems 1322 </li> 1323<li class="listitem"> 1324 <a href="https://svn.boost.org/trac/boost/ticket/10177" target="_top">10177</a> 1325 Missing include 1326 </li> 1327<li class="listitem"> 1328 <a href="https://svn.boost.org/trac/boost/ticket/10345" target="_top">10345</a> 1329 Distance fails to compile for some coordinate types 1330 </li> 1331<li class="listitem"> 1332 <a href="https://svn.boost.org/trac/boost/ticket/10398" target="_top">10398</a> 1333 Wrong neighbour check in buffer, calculating turns 1334 </li> 1335<li class="listitem"> 1336 <a href="https://svn.boost.org/trac/boost/ticket/10421" target="_top">10421</a> 1337 Invalid Point-Box distance for spherical CS 1338 </li> 1339<li class="listitem"> 1340 <a href="https://svn.boost.org/trac/boost/ticket/10562" target="_top">10562</a> 1341 Invalid number of Points in the result of convex_hull() for open output 1342 </li> 1343<li class="listitem"> 1344 <a href="https://svn.boost.org/trac/boost/ticket/10615" target="_top">10615</a> 1345 Rtree constructor feature request 1346 </li> 1347<li class="listitem"> 1348 <a href="https://svn.boost.org/trac/boost/ticket/10643" target="_top">10643</a> 1349 Invalid point_on_surface() result for big coordinates 1350 </li> 1351<li class="listitem"> 1352 <a href="https://svn.boost.org/trac/boost/ticket/10647" target="_top">10647</a> 1353 Invalid result of disjoint() in some cases when polygon is inside inner 1354 ring of other polygon 1355 </li> 1356<li class="listitem"> 1357 <a href="https://svn.boost.org/trac/boost/ticket/10668" target="_top">10668</a> 1358 Implicit conversion warnings (duplicated 8402) 1359 </li> 1360</ul></div> 1361<p> 1362 <span class="bold"><strong>Bugfixes</strong></span> 1363 </p> 1364<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1365<li class="listitem"> 1366 Several fixes of bugs in algorithm buffer 1367 </li> 1368<li class="listitem"> 1369 Bug in point_on_surface() for CCW Polygons (extreme_points()) and numerical 1370 issue (thanks to Matt Amos) 1371 </li> 1372<li class="listitem"> 1373 Bug in disjoint() for A/A fixed by replacement of point_on_surface() with 1374 point_on_border() (thanks to Matt Amos) 1375 </li> 1376<li class="listitem"> 1377 The result of convex_hull(), duplicated Point in open output, too small 1378 number of Points for 1- and 2-Point input 1379 </li> 1380<li class="listitem"> 1381 Imprecision for big coordinates in centroid(), fixed by Points translation 1382 (related with ticket 10643) 1383 </li> 1384<li class="listitem"> 1385 for_each_segment() not taking into account the last segment of open Geometry 1386 </li> 1387</ul></div> 1388<h4> 1389<a name="geometry.release_notes.h18"></a> 1390 <span class="phrase"><a name="geometry.release_notes.boost_1_56"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_56">Boost 1391 1.56</a> 1392 </h4> 1393<p> 1394 <span class="bold"><strong>Additional functionality</strong></span> 1395 </p> 1396<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1397<li class="listitem"> 1398 New algorithm buffer for inflating/deflating geometries (buffer itself 1399 already existed but that was only to enlarge a box) 1400 </li> 1401<li class="listitem"> 1402 New algorithm remove_spikes, algorithm to remove spikes from a ring, polygon 1403 or multi_polygon 1404 </li> 1405<li class="listitem"> 1406 New algorithm point_on_surface, generating a point lying on the surface 1407 (interior) of the polygon 1408 </li> 1409<li class="listitem"> 1410 New algorithm is_simple, returning true if a geometry is simple according 1411 to the OGC standard 1412 </li> 1413<li class="listitem"> 1414 New algorithm is_valid, returning true if a geometry is valid according 1415 to the OGC standard 1416 </li> 1417<li class="listitem"> 1418 New algorithm crosses for checking this spatial relation according to the 1419 OGC standard 1420 </li> 1421<li class="listitem"> 1422 The set operation algorithms (difference, intersection, sym_difference 1423 and union_) now support as input pairs of pointlike or linear geometries 1424 </li> 1425<li class="listitem"> 1426 The distance and comparable_distance algorithms now support all pairs of 1427 geometry combinations 1428 </li> 1429<li class="listitem"> 1430 The spatial relations which didn't support it (covered_by, touches, within, 1431 etc.) now support as input linear and/or areal geometries 1432 </li> 1433<li class="listitem"> 1434 The support for boost::variants as input geometries in various algorithms 1435 </li> 1436<li class="listitem"> 1437 The rtree support for indexing segments 1438 </li> 1439<li class="listitem"> 1440 The rtree nearest() predicate support for arbitrary geometries 1441 </li> 1442</ul></div> 1443<p> 1444 <span class="bold"><strong>Improvements</strong></span> 1445 </p> 1446<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1447 The rtree pack-creation algorithm optimization (thanks to Lu Wang) 1448 </li></ul></div> 1449<p> 1450 <span class="bold"><strong>Solved tickets</strong></span> 1451 </p> 1452<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1453<li class="listitem"> 1454 <a href="https://svn.boost.org/trac/boost/ticket/8310" target="_top">8310</a> 1455 Wrong results with overlapping polygons (fixed using point_on_surface for 1456 disjoint) 1457 </li> 1458<li class="listitem"> 1459 <a href="https://svn.boost.org/trac/boost/ticket/8375" target="_top">8375</a> 1460 sym_difference of non-closed polygons returns closed polygon 1461 </li> 1462<li class="listitem"> 1463 <a href="https://svn.boost.org/trac/boost/ticket/8376" target="_top">8376</a> 1464 difference of non-closed polygons returns closed polygon 1465 </li> 1466<li class="listitem"> 1467 <a href="https://svn.boost.org/trac/boost/ticket/9081" target="_top">9081</a> 1468 Booleans create self-intersecting polygons from non-self-intersecting polygons 1469 </li> 1470<li class="listitem"> 1471 <a href="https://svn.boost.org/trac/boost/ticket/9245" target="_top">9245</a> 1472 Check for process errors in make_qbk.py 1473 </li> 1474<li class="listitem"> 1475 <a href="https://svn.boost.org/trac/boost/ticket/9563" target="_top">9563</a> 1476 (Sym)difference not successful, fixed by rescaling to robust type 1477 </li> 1478<li class="listitem"> 1479 <a href="https://svn.boost.org/trac/boost/ticket/9628" target="_top">9628</a> 1480 Wrong result of within() due to the winding strategy not working correctly 1481 for nearly-horizontal segments 1482 </li> 1483<li class="listitem"> 1484 <a href="https://svn.boost.org/trac/boost/ticket/9828" target="_top">9828</a> 1485 boost::geometry::union_(...) creates redundant closing point 1486 </li> 1487<li class="listitem"> 1488 <a href="https://svn.boost.org/trac/boost/ticket/9871" target="_top">9871</a> 1489 Remove spike in polygon with only a spike 1490 </li> 1491<li class="listitem"> 1492 <a href="https://svn.boost.org/trac/boost/ticket/9941" target="_top">9941</a> 1493 Add support for touches(box, box) 1494 </li> 1495<li class="listitem"> 1496 <a href="https://svn.boost.org/trac/boost/ticket/9947" target="_top">9947</a> 1497 Missing info about WKT in documentation 1498 </li> 1499<li class="listitem"> 1500 <a href="https://svn.boost.org/trac/boost/ticket/9759" target="_top">9759</a> 1501 Invalid results of R-tree knn queries for non-cartesian coordinate systems 1502 </li> 1503<li class="listitem"> 1504 <a href="https://svn.boost.org/trac/boost/ticket/10019" target="_top">10019</a> 1505 Difference of Linestring and Box returns their intersection 1506 </li> 1507<li class="listitem"> 1508 <a href="https://svn.boost.org/trac/boost/ticket/10077" target="_top">10077</a> 1509 Wrong types in concept checks in boost/geometry/arithmetic/arithmetic.hpp 1510 </li> 1511<li class="listitem"> 1512 <a href="https://svn.boost.org/trac/boost/ticket/10234" target="_top">10234</a> 1513 Wrong results of covered_by() for nearly-horizontal segments 1514 </li> 1515</ul></div> 1516<p> 1517 <span class="bold"><strong>Bugfixes</strong></span> 1518 </p> 1519<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1520<li class="listitem"> 1521 intersects(polygon) could return a self-intersection-point for its closing 1522 point, fixed 1523 </li> 1524<li class="listitem"> 1525 equals() could return invalid results for non-simple linear geometries 1526 according to the OGC standard, fixed 1527 </li> 1528<li class="listitem"> 1529 touches() didn't work properly for CCW areal geomtries, fixed 1530 </li> 1531<li class="listitem"> 1532 rtree nearest queries returned wrong elements for non-cartesian coordinate 1533 systems, fixed 1534 </li> 1535<li class="listitem"> 1536 rtree crashed in some cases when used with Interprocess allocator, fixed 1537 </li> 1538</ul></div> 1539<h4> 1540<a name="geometry.release_notes.h19"></a> 1541 <span class="phrase"><a name="geometry.release_notes.boost_1_55"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_55">Boost 1542 1.55</a> 1543 </h4> 1544<p> 1545 <span class="bold"><strong>Additional functionality</strong></span> 1546 </p> 1547<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1548<li class="listitem"> 1549 Added centroid for segment type 1550 </li> 1551<li class="listitem"> 1552 Added intersects() and disjoints() for Segment-Box and Linestring-Box 1553 </li> 1554<li class="listitem"> 1555 Added rtree creation using packing algorithm 1556 </li> 1557<li class="listitem"> 1558 Added contains() and covers() spatial query predicates 1559 </li> 1560<li class="listitem"> 1561 Added iterative queries 1562 </li> 1563</ul></div> 1564<p> 1565 <span class="bold"><strong>Documentation</strong></span> 1566 </p> 1567<p> 1568 <span class="bold"><strong>Bugfixes</strong></span> 1569 </p> 1570<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1571<li class="listitem"> 1572 In some cases .back() or .clear() was called, violating the usage of Concepts. 1573 Fixed for the reported cases 1574 </li> 1575<li class="listitem"> 1576 Use consistent side information in cart_intersect and get_turn_info and 1577 handle_tangencies and enrich_intersection_info. This is done by switching 1578 to integer (if necessary) for the specific 6 points only, zooming in on 1579 the 4 or 3 segments 1580 </li> 1581</ul></div> 1582<p> 1583 <span class="bold"><strong>Solved tickets</strong></span> 1584 </p> 1585<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1586<li class="listitem"> 1587 <a href="https://svn.boost.org/trac/boost/ticket/6958" target="_top">6958</a> 1588 Intersection generates self-intersection. Caused by spike, fixed 1589 </li> 1590<li class="listitem"> 1591 <a href="https://svn.boost.org/trac/boost/ticket/8364" target="_top">8364</a> 1592 Invalid input exception, caused by spikes in previous steps, fixed 1593 </li> 1594<li class="listitem"> 1595 <a href="https://svn.boost.org/trac/boost/ticket/8365" target="_top">8365</a> 1596 Invalid input exception, caused by spikes in previous steps, fixed 1597 </li> 1598<li class="listitem"> 1599 <a href="https://svn.boost.org/trac/boost/ticket/8969" target="_top">8969</a> 1600 boost::geometry::model::point single argument constructor should be explicit 1601 </li> 1602<li class="listitem"> 1603 <a href="https://svn.boost.org/trac/boost/ticket/8825" target="_top">8825</a> 1604 Patch adding member variable documentation to doxygen_xml2qbk 1605 </li> 1606<li class="listitem"> 1607 <a href="https://svn.boost.org/trac/boost/ticket/8652" target="_top">8652</a> 1608 Intersection fails for triangle-triangle intersection. Caused by spike, 1609 fixed 1610 </li> 1611<li class="listitem"> 1612 <a href="https://svn.boost.org/trac/boost/ticket/9047" target="_top">9047</a> 1613 Boost files that include themselves (strategies/intersection.hpp), fixed 1614 </li> 1615</ul></div> 1616<p> 1617 <span class="bold"><strong>Internal changes</strong></span> 1618 </p> 1619<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1620<li class="listitem"> 1621 Adapted projected_point<> distance strategy, point-type in template 1622 is replaced by calculation-type 1623 </li> 1624<li class="listitem"> 1625 Adapted transform strategies, they have points now as member-template, 1626 and calculation-type as template. Similar to what was done for projected_point 1627 distance 1628 </li> 1629<li class="listitem"> 1630 Spikes (could be generated in difference) in integer-based overlays are 1631 now avoided during generation 1632 </li> 1633<li class="listitem"> 1634 Cleanup, removed old MSVC2005 project files 1635 </li> 1636<li class="listitem"> 1637 R*-tree balancing algorithm optimized 1638 </li> 1639</ul></div> 1640<h4> 1641<a name="geometry.release_notes.h20"></a> 1642 <span class="phrase"><a name="geometry.release_notes.boost_1_54"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_54">Boost 1643 1.54</a> 1644 </h4> 1645<p> 1646 <span class="bold"><strong>Additional functionality</strong></span> 1647 </p> 1648<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1649<li class="listitem"> 1650 added Spatial Index, developed for Boost.Geometry by Adam Wulkiewicz. The 1651 spatial index was originally started by Federico J. Fernandez during the 1652 Google Summer of Code 2008 program, mentored by Hartmut Kaiser. 1653 </li> 1654<li class="listitem"> 1655 added SVG-output, this was already in extensions for several years 1656 </li> 1657</ul></div> 1658<p> 1659 <span class="bold"><strong>Documentation</strong></span> 1660 </p> 1661<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1662<li class="listitem"> 1663 small fixes of missing words 1664 </li> 1665<li class="listitem"> 1666 fixes in doc of template parameters (convex_hull, exterior_ring, return_buffer) 1667 </li> 1668</ul></div> 1669<p> 1670 <span class="bold"><strong>Bugfixes</strong></span> 1671 </p> 1672<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1673<li class="listitem"> 1674 collinear opposite segments did sometimes (in circles) have a robustness 1675 issue, fixed 1676 </li> 1677<li class="listitem"> 1678 fixed insertion of false intersection point (found by buffer) 1679 </li> 1680<li class="listitem"> 1681 applied patch of Vladimir Petrovic for debugging traversals 1682 </li> 1683</ul></div> 1684<p> 1685 <span class="bold"><strong>Solved tickets</strong></span> 1686 </p> 1687<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1688<li class="listitem"> 1689 <a href="https://svn.boost.org/trac/boost/ticket/7462" target="_top">7462</a> 1690 degenerate union result for float, fixed 1691 </li> 1692<li class="listitem"> 1693 <a href="https://svn.boost.org/trac/boost/ticket/7465" target="_top">7465</a> 1694 wrong construtors access type in scale_transformer class, fixed 1695 </li> 1696<li class="listitem"> 1697 <a href="https://svn.boost.org/trac/boost/ticket/7802" target="_top">7802</a> 1698 cart_intersect.hpp unused parameter warnings, fixed 1699 </li> 1700<li class="listitem"> 1701 <a href="https://svn.boost.org/trac/boost/ticket/8254" target="_top">8254</a> 1702 faulty intersection, fixed 1703 </li> 1704<li class="listitem"> 1705 <a href="https://svn.boost.org/trac/boost/ticket/8393" target="_top">8393</a> 1706 polygon model doesn't adhere to stated Polygon concept rules, doc updated. 1707 </li> 1708<li class="listitem"> 1709 <a href="https://svn.boost.org/trac/boost/ticket/8403" target="_top">8403</a> 1710 silenced compiler warning C4127: conditional expression is constant 1711 </li> 1712<li class="listitem"> 1713 <a href="https://svn.boost.org/trac/boost/ticket/8405" target="_top">8405</a> 1714 silenced compiler warning C4189: '...' : local variable is initialized 1715 but not referenced 1716 </li> 1717</ul></div> 1718<p> 1719 <span class="bold"><strong>Internal changes</strong></span> 1720 </p> 1721<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1722 Made several algorithms variant-aware (append, area, clear, convert, equals, 1723 length, num_points) 1724 </li></ul></div> 1725<h4> 1726<a name="geometry.release_notes.h21"></a> 1727 <span class="phrase"><a name="geometry.release_notes.boost_1_53"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_53">Boost 1728 1.53</a> 1729 </h4> 1730<p> 1731 <span class="bold"><strong>Bugfixes</strong></span> 1732 </p> 1733<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1734<li class="listitem"> 1735 avoid generating output polygons with interior rings below minimum size 1736 (e.g. one or two points) 1737 </li> 1738<li class="listitem"> 1739 <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code> for degenerate segments (patched 1740 by Karsten Ahnert) 1741 </li> 1742<li class="listitem"> 1743 problem in <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">difference</span></code> for missing handling tangency, 1744 reported by H2 1745 </li> 1746<li class="listitem"> 1747 fixed <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">for_each</span></code> for use with Lambda's 1748 </li> 1749<li class="listitem"> 1750 fixed <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">comparable_distance</span></code> point-linestring 1751 (and -range, -polygon) 1752 </li> 1753</ul></div> 1754<p> 1755 <span class="bold"><strong>Additional functionality</strong></span> 1756 </p> 1757<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1758<li class="listitem"> 1759 combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code>: 1760 point/ring, point/polygon, point/multi_polygon 1761 </li> 1762<li class="listitem"> 1763 combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersects</span></code>: 1764 point/ring, point/polygon, point/multi_polygon 1765 </li> 1766</ul></div> 1767<p> 1768 <span class="bold"><strong>Internal changes</strong></span> 1769 </p> 1770<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1771<li class="listitem"> 1772 updates in specializations/not_implemented for various algorithms (as in 1773 an earlier version, these changes are still going on; they take care for 1774 simplified structs, better error reporting, and automatized documentation) 1775 </li> 1776<li class="listitem"> 1777 fixes in unit tests 1778 </li> 1779</ul></div> 1780<h4> 1781<a name="geometry.release_notes.h22"></a> 1782 <span class="phrase"><a name="geometry.release_notes.boost_1_51"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_51">Boost 1783 1.51</a> 1784 </h4> 1785<p> 1786 <span class="bold"><strong>Breaking changes</strong></span> 1787 </p> 1788<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1789 points accessed through a pointer (e.g. in a linestring) should now be 1790 specialized without the pointer. In previous versions a type <code class="computeroutput"><span class="identifier">my_point</span></code> used like <code class="computeroutput"><span class="identifier">linestring</span><span class="special"><</span><span class="identifier">my_point</span><span class="special">*></span></code> had to be specalized like: <code class="computeroutput"><span class="keyword">template</span><span class="special"><></span> 1791 <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">my_point</span><span class="special">*></span></code>. Now the library itself removes the 1792 pointer before calling the traits class, so now it should be like: <code class="computeroutput"><span class="keyword">template</span><span class="special"><></span> 1793 <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">my_point</span><span class="special">></span></code> 1794 </li></ul></div> 1795<p> 1796 <span class="bold"><strong>Bugfixes</strong></span> 1797 </p> 1798<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1799<li class="listitem"> 1800 intersection was sometimes wrong for integer points, fixed 1801 </li> 1802<li class="listitem"> 1803 documentation, order of parameters in simplify was wrong, fixed 1804 </li> 1805</ul></div> 1806<p> 1807 <span class="bold"><strong>Solved tickets</strong></span> 1808 </p> 1809<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1810 <a href="https://svn.boost.org/trac/boost/ticket/7030" target="_top">7030</a> 1811 spherical distance, fixed (by patch of Karsten Ahnert) 1812 </li></ul></div> 1813<h4> 1814<a name="geometry.release_notes.h23"></a> 1815 <span class="phrase"><a name="geometry.release_notes.boost_1_50"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_50">Boost 1816 1.50</a> 1817 </h4> 1818<p> 1819 <span class="bold"><strong>Bugfixes</strong></span> 1820 </p> 1821<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1822<li class="listitem"> 1823 the return type of comparable projected point strategy for integer points 1824 was wrong (integer), fixed 1825 </li> 1826<li class="listitem"> 1827 several robustness issues in intersection of segments and polygons, fixed 1828 </li> 1829<li class="listitem"> 1830 invalid intersection output is filtered out 1831 </li> 1832<li class="listitem"> 1833 disjoint for multi_polygon's might incorrectly return true, fixed 1834 </li> 1835</ul></div> 1836<p> 1837 <span class="bold"><strong>Solved tickets</strong></span> 1838 </p> 1839<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1840<li class="listitem"> 1841 <a href="https://svn.boost.org/trac/boost/ticket/6585" target="_top">6585</a> 1842 patch for alternative syntax multipoint, applied 1843 </li> 1844<li class="listitem"> 1845 <a href="https://svn.boost.org/trac/boost/ticket/6584" target="_top">6584</a> 1846 patch for bug in distance, applied 1847 </li> 1848<li class="listitem"> 1849 <a href="https://svn.boost.org/trac/boost/ticket/5730" target="_top">5730</a> 1850 same issue as 6584, fixed 1851 </li> 1852<li class="listitem"> 1853 <a href="https://svn.boost.org/trac/boost/ticket/6166" target="_top">6166</a> 1854 patch for missing transformation, applied 1855 </li> 1856<li class="listitem"> 1857 <a href="https://svn.boost.org/trac/boost/ticket/6696" target="_top">6696</a> 1858 invalid intersection output, was (by chance) already fixed in Trunk before 1859 reported 1860 </li> 1861</ul></div> 1862<p> 1863 <span class="bold"><strong>Additional functionality</strong></span> 1864 </p> 1865<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1866 added algorithm "touches" (OGC SF compliant) for *polygon/*polygon 1867 </li></ul></div> 1868<h4> 1869<a name="geometry.release_notes.h24"></a> 1870 <span class="phrase"><a name="geometry.release_notes.boost_1_49"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_49">Boost 1871 1.49</a> 1872 </h4> 1873<p> 1874 <span class="bold"><strong>Breaking changes</strong></span> 1875 </p> 1876<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 1877 point_xy was accidentally included in one of the headerfiles. If the point_xy 1878 class is used, it should be included explicitly now. 1879 </li></ul></div> 1880<p> 1881 <span class="bold"><strong>Bugfixes</strong></span> 1882 </p> 1883<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1884<li class="listitem"> 1885 bugfix: distance for multi-geometries ignored specified distance strategy. 1886 Fixed 1887 </li> 1888<li class="listitem"> 1889 bugfix: difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list) 1890 </li> 1891<li class="listitem"> 1892 bugfix: raise exception for calculation of distances of multi-geometrie(s) 1893 where one of them is empty 1894 </li> 1895<li class="listitem"> 1896 bugfix: multi DSV did not correctly use settings, fixed 1897 </li> 1898<li class="listitem"> 1899 bugfix: self-intersections could sometimes be missed (introduced in 1.48), 1900 fixed 1901 </li> 1902<li class="listitem"> 1903 bugfix: convex hull crashed on empty range (e.g. empty multi point), fixed 1904 </li> 1905<li class="listitem"> 1906 bugfix: area/centroid/side/intersection/distance did not work for "int" 1907 type filled with large (but not overflowing) integers. Fixed. 1908 </li> 1909<li class="listitem"> 1910 bugfix: disjoint/intersect did not work for degenerate linestrings. Fixed. 1911 </li> 1912<li class="listitem"> 1913 bugfix: covered_by did not compile for a ring. Fixed. 1914 </li> 1915</ul></div> 1916<p> 1917 <span class="bold"><strong>Solved tickets</strong></span> 1918 </p> 1919<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1920<li class="listitem"> 1921 <a href="https://svn.boost.org/trac/boost/ticket/6019" target="_top">6019</a> 1922 convex_hull / area, fixed. 1923 </li> 1924<li class="listitem"> 1925 <a href="https://svn.boost.org/trac/boost/ticket/6021" target="_top">6021</a> 1926 convex_hull / append (multipoint), fixed. 1927 </li> 1928<li class="listitem"> 1929 <a href="https://svn.boost.org/trac/boost/ticket/6028" target="_top">6028</a> 1930 Documentation: closure, fixed. 1931 </li> 1932<li class="listitem"> 1933 <a href="https://svn.boost.org/trac/boost/ticket/6178" target="_top">6178</a> 1934 Missing headerfile, fixed. 1935 </li> 1936</ul></div> 1937<p> 1938 <span class="bold"><strong>Additional functionality</strong></span> 1939 </p> 1940<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1941<li class="listitem"> 1942 support for line/polygon intersections and differences 1943 </li> 1944<li class="listitem"> 1945 support for convert of segment/box of different point types 1946 </li> 1947<li class="listitem"> 1948 support for append for multi point 1949 </li> 1950<li class="listitem"> 1951 the scalar function distance now throws an empty_input_exception on empty 1952 input 1953 </li> 1954</ul></div> 1955<p> 1956 <span class="bold"><strong>Documentation</strong></span> 1957 </p> 1958<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1959<li class="listitem"> 1960 updated support status in several algorithms 1961 </li> 1962<li class="listitem"> 1963 updated conformance to OGC or std 1964 </li> 1965<li class="listitem"> 1966 other updates and fixes 1967 </li> 1968</ul></div> 1969<p> 1970 <span class="bold"><strong>Internal changes</strong></span> 1971 </p> 1972<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1973<li class="listitem"> 1974 updates in specializations/not_implemented for distance/convert/assign/area/with/covered_by 1975 </li> 1976<li class="listitem"> 1977 move of wkt/dsv to io folder, making domains redundant 1978 </li> 1979<li class="listitem"> 1980 warnings: strategy concepts assigned to zero to avoid clang warnings (patched 1981 by Vishnu) 1982 </li> 1983<li class="listitem"> 1984 warnings: there were several unused parameters, for which gcc/clang warned 1985 (patched by Christophe) 1986 </li> 1987</ul></div> 1988<h4> 1989<a name="geometry.release_notes.h25"></a> 1990 <span class="phrase"><a name="geometry.release_notes.boost_1_48"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_48">Boost 1991 1.48</a> 1992 </h4> 1993<p> 1994 <span class="bold"><strong>Bugfixes</strong></span> 1995 </p> 1996<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 1997<li class="listitem"> 1998 Robustness issue, in some circumstances the union failed to output. Fixed. 1999 </li> 2000<li class="listitem"> 2001 Robustness issue, in some circumstances the calculated intersection point 2002 was outside the segment. Fixed. 2003 </li> 2004<li class="listitem"> 2005 Concept issue, cartesian intersect didn't understand segments other than 2006 the provided one. Fixed. 2007 </li> 2008<li class="listitem"> 2009 Sometimes self-intersections in linestrings were missed. Fixed. 2010 </li> 2011<li class="listitem"> 2012 The fusion coordinate system was not registered correctly. Fixed. 2013 </li> 2014</ul></div> 2015<p> 2016 <span class="bold"><strong>Solved tickets</strong></span> 2017 </p> 2018<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 2019<li class="listitem"> 2020 <a href="https://svn.boost.org/trac/boost/ticket/5726" target="_top">5726</a> 2021 Segment intersection algorithm still assumes 'first', 'second' members 2022 </li> 2023<li class="listitem"> 2024 <a href="https://svn.boost.org/trac/boost/ticket/5744" target="_top">5744</a> 2025 Mistake in fusion adapt example 2026 </li> 2027<li class="listitem"> 2028 <a href="https://svn.boost.org/trac/boost/ticket/5748" target="_top">5748</a> 2029 Needed to include <boost/foreach.hpp> 2030 </li> 2031<li class="listitem"> 2032 <a href="https://svn.boost.org/trac/boost/ticket/5954" target="_top">5954</a> 2033 distance_pythagoras skips sqrt() step 2034 </li> 2035</ul></div> 2036<p> 2037 <span class="bold"><strong>Improvements on algorithms</strong></span> 2038 </p> 2039<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 2040<li class="listitem"> 2041 Checking self-intersections is now not done automatically, this can blast 2042 performance. 2043 </li> 2044<li class="listitem"> 2045 Besides that, checking self-intersections is made faster. 2046 </li> 2047<li class="listitem"> 2048 Intersections now avoid outputting duplicate points. So they output the 2049 minimal set. 2050 </li> 2051</ul></div> 2052<p> 2053 <span class="bold"><strong>Additional algorithms</strong></span> 2054 </p> 2055<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 2056 covered_by: within is defined as "within, not on boundary". covered_by 2057 is "within or on boundary" 2058 </li></ul></div> 2059<p> 2060 <span class="bold"><strong>Additional functionality</strong></span> 2061 </p> 2062<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 2063<li class="listitem"> 2064 within: strategies can now be specified for within<point, box> and 2065 within<box, box> 2066 </li> 2067<li class="listitem"> 2068 convert: a much broader range of conversions is supported 2069 </li> 2070<li class="listitem"> 2071 assign: idem, (currently partly) synonym for convert (but reversed arguments) 2072 </li> 2073</ul></div> 2074<p> 2075 <span class="bold"><strong>Additional coordinate types</strong></span> 2076 </p> 2077<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 2078 Basic (limited) support for Boost.Rational 2079 </li></ul></div> 2080<h4> 2081<a name="geometry.release_notes.h26"></a> 2082 <span class="phrase"><a name="geometry.release_notes.boost_1_47"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_47">Boost 2083 1.47</a> 2084 </h4> 2085<p> 2086 Original release 2087 </p> 2088</div> 2089<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 2090<td align="left"></td> 2091<td align="right"><div class="copyright-footer">Copyright © 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam 2092 Wulkiewicz, Oracle and/or its affiliates<p> 2093 Distributed under the Boost Software License, Version 1.0. (See accompanying 2094 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>) 2095 </p> 2096</div></td> 2097</tr></table> 2098<hr> 2099<div class="spirit-nav"> 2100<a accesskey="p" href="examples/example_source_code__adapting_a_legacy_geometry_object_model.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="aboutdoc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> 2101</div> 2102</body> 2103</html> 2104