• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;&gt; 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&lt;&gt; 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&lt;&gt; 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">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code> had to be specalized like: <code class="computeroutput"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
1791          <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</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">&lt;&gt;</span>
1793          <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">&gt;</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 &lt;boost/foreach.hpp&gt;
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&lt;point, box&gt; and
2065          within&lt;box, box&gt;
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