Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / geometry / doc / html / geometry / release_notes.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
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&#160;1.&#160;Geometry">
8 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;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_64"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_64">Boost
32       1.64</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; "><li class="listitem">
38           matrix transformation is now based on Boost.QVM instead of Boost.Ublas
39         </li></ul></div>
40 <p>
41       <span class="bold"><strong>Breaking changes</strong></span>
42     </p>
43 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
44 <li class="listitem">
45           ublas_transformer is renamed to matrix_transformer
46         </li>
47 <li class="listitem">
48           explicit modifier is added to constructors of rtree index::dynamic_* parameters
49         </li>
50 <li class="listitem">
51           strategy::area::huiller replaced by strategy::area::spherical
52         </li>
53 </ul></div>
54 <p>
55       <span class="bold"><strong>Solved issues</strong></span>
56     </p>
57 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
58 <li class="listitem">
59           <a href="https://github.com/boostorg/geometry/issues/363" target="_top">363</a>
60           Missing includes in geometry/index/parameters.hpp
61         </li>
62 <li class="listitem">
63           <a href="https://github.com/boostorg/geometry/issues/364" target="_top">364</a>
64           within(Linear, Areal) compilation error when arguments use different point
65           types
66         </li>
67 <li class="listitem">
68           <a href="https://github.com/boostorg/geometry/issues/370" target="_top">370</a>
69           Buffer Seg Faults with Ring as Input
70         </li>
71 </ul></div>
72 <p>
73       <span class="bold"><strong>Solved tickets</strong></span>
74     </p>
75 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
76 <li class="listitem">
77           <a href="https://svn.boost.org/trac/boost/ticket/11899" target="_top">11899</a>
78           boost::geometry::equals doesn't handle open polygons
79         </li>
80 <li class="listitem">
81           <a href="https://svn.boost.org/trac/boost/ticket/11930" target="_top">11930</a>
82           Inaccuracy of area::huiller strategy
83         </li>
84 <li class="listitem">
85           <a href="https://svn.boost.org/trac/boost/ticket/11931" target="_top">11931</a>
86           Wrong spherical area with pole encircling polygons
87         </li>
88 <li class="listitem">
89           <a href="https://svn.boost.org/trac/boost/ticket/12566" target="_top">12566</a>
90           Ambiguous template instantiation in equal_to&lt;&gt; when pair value contains
91           raw pointer
92         </li>
93 <li class="listitem">
94           <a href="https://svn.boost.org/trac/boost/ticket/12861" target="_top">12861</a>
95           Segmentation fault in stdlibc++ (gcc 4.8.2) affecting rtree
96         </li>
97 <li class="listitem">
98           <a href="https://svn.boost.org/trac/boost/ticket/12885" target="_top">12885</a>
99           Use BOOST_THROW_EXCEPTION instead of throw
100         </li>
101 </ul></div>
102 <p>
103       <span class="bold"><strong>Bugfixes</strong></span>
104     </p>
105 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
106           Fix distance_measure in get_turn_info
107         </li></ul></div>
108 <h4>
109 <a name="geometry.release_notes.h1"></a>
110       <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
111       1.63</a>
112     </h4>
113 <p>
114       <span class="bold"><strong>Improvements</strong></span>
115     </p>
116 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
117           Intersection: take care that output is valid (work in progres, not yet
118           finished - but more is valid)
119         </li></ul></div>
120 <p>
121       <span class="bold"><strong>Solved tickets</strong></span>
122     </p>
123 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
124 <li class="listitem">
125           <a href="https://svn.boost.org/trac/boost/ticket/12289" target="_top">12289</a>
126           Avoid warning/compilation error for std::cout
127         </li>
128 <li class="listitem">
129           <a href="https://svn.boost.org/trac/boost/ticket/12412" target="_top">12412</a>
130           Invalid result of covered_by() with geographic Points and Boxes
131         </li>
132 <li class="listitem">
133           <a href="https://svn.boost.org/trac/boost/ticket/12413" target="_top">12413</a>
134           rtree::remove() not working properly with geographic Points
135         </li>
136 </ul></div>
137 <h4>
138 <a name="geometry.release_notes.h2"></a>
139       <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
140       1.62</a>
141     </h4>
142 <p>
143       <span class="bold"><strong>Improvements</strong></span>
144     </p>
145 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
146 <li class="listitem">
147           Union: take care that output is valid (with some exceptions), also with
148           self-tangent polygons or shared edges
149         </li>
150 <li class="listitem">
151           SVG: support boost::variant of geometries
152         </li>
153 <li class="listitem">
154           SVG: coordinates are now written as double (by default) to svg
155         </li>
156 <li class="listitem">
157           Rename namespace concept to concepts to avoid conflicts with the newest
158           compilers
159         </li>
160 <li class="listitem">
161           New spherical intersection strategy used in relational and set operations
162           for spherical and geographic Geometries (previously cartesian intersection
163           strategy was used for all coordinate systems).
164         </li>
165 </ul></div>
166 <p>
167       <span class="bold"><strong>Solved tickets</strong></span>
168     </p>
169 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
170 <li class="listitem">
171           <a href="https://svn.boost.org/trac/boost/ticket/12189" target="_top">12189</a>
172           Relational operations not compiling when point types of inputs are different
173           (cartesian, affecting rtree)
174         </li>
175 <li class="listitem">
176           <a href="https://svn.boost.org/trac/boost/ticket/12287" target="_top">12287</a>
177           Invalid result of rtree.query() for contains() predicate
178         </li>
179 <li class="listitem">
180           <a href="https://svn.boost.org/trac/boost/ticket/12342" target="_top">12342</a>
181           Relational operations not compiling when point types of inputs are different
182           (geographic, affecting rtree)
183         </li>
184 </ul></div>
185 <h4>
186 <a name="geometry.release_notes.h3"></a>
187       <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
188       1.61</a>
189     </h4>
190 <p>
191       <span class="bold"><strong>Additional functionality</strong></span>
192     </p>
193 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
194           Support within and covered_by for Box/Box in spherical and geographic coordinate
195           systems.
196         </li></ul></div>
197 <p>
198       <span class="bold"><strong>Improvements</strong></span>
199     </p>
200 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
201           Overlay: handle_tangencies replaced by clusters, fixing many cases with
202           colocated turns
203         </li></ul></div>
204 <p>
205       <span class="bold"><strong>Solved tickets</strong></span>
206     </p>
207 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
208 <li class="listitem">
209           <a href="https://svn.boost.org/trac/boost/ticket/9162" target="_top">9162</a>
210           Invalid result of relational operations for non-cartesian Point/Areal.
211         </li>
212 <li class="listitem">
213           <a href="https://svn.boost.org/trac/boost/ticket/10866" target="_top">10866</a>
214           union_ doesn't work in 1.56 and 1.57.
215         </li>
216 <li class="listitem">
217           <a href="https://svn.boost.org/trac/boost/ticket/11018" target="_top">11018</a>
218           Invalid geometry intersection
219         </li>
220 <li class="listitem">
221           <a href="https://svn.boost.org/trac/boost/ticket/11576" target="_top">11576</a>
222           Intersection gives wrong results.
223         </li>
224 <li class="listitem">
225           <a href="https://svn.boost.org/trac/boost/ticket/11637" target="_top">11637</a>
226           Unused parameter warning.
227         </li>
228 <li class="listitem">
229           <a href="https://svn.boost.org/trac/boost/ticket/11725" target="_top">11725</a>
230           union_ fails to create holes
231         </li>
232 <li class="listitem">
233           <a href="https://svn.boost.org/trac/boost/ticket/11789" target="_top">11789</a>
234           Assertion failure or invalid result of set operations for spherical_equatorial
235           coordinate system.
236         </li>
237 <li class="listitem">
238           <a href="https://svn.boost.org/trac/boost/ticket/11917" target="_top">11917</a>
239           Andoyer distance strategy returns 0 for antipodal points (default geographic
240           distance).
241         </li>
242 <li class="listitem">
243           <a href="https://svn.boost.org/trac/boost/ticket/11928" target="_top">11928</a>
244           Improvement of the accuracy of surveyor area strategy.
245         </li>
246 <li class="listitem">
247           <a href="https://svn.boost.org/trac/boost/ticket/11966" target="_top">11966</a>
248           Compilation error in svg() for box and non-int coordinate type.
249         </li>
250 <li class="listitem">
251           <a href="https://svn.boost.org/trac/boost/ticket/11984" target="_top">11984</a>
252           union_() generates self-intersecting polygon
253         </li>
254 <li class="listitem">
255           <a href="https://svn.boost.org/trac/boost/ticket/11987" target="_top">11987</a>
256           rtree::remove() not compiling for geographic CS.
257         </li>
258 <li class="listitem">
259           <a href="https://svn.boost.org/trac/boost/ticket/12000" target="_top">12000</a>
260           Uninitialized reference in (unused) constructor of relate's mask_handler.
261         </li>
262 <li class="listitem">
263           <a href="https://svn.boost.org/trac/boost/ticket/12106" target="_top">12106</a>
264           Invalid assertion failure in envelope() for non-cartesian very short segments.
265         </li>
266 </ul></div>
267 <p>
268       <span class="bold"><strong>Bugfixes</strong></span>
269     </p>
270 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
271 <li class="listitem">
272           Fix intersects and disjoint for Segment/Box in cartesian coordinate system
273           when Segment is parallel to Box's face.
274         </li>
275 <li class="listitem">
276           Fix relation operations for Point/Areal in spherical and geographic coordinate
277           systems for edge cases.
278         </li>
279 <li class="listitem">
280           Fix intersects and disjoint for Point/Box and Box/Box in spherical and
281           geographic coordinate systems for some cases.
282         </li>
283 <li class="listitem">
284           Fix within and covered_by for Point/Box in spherical and geographic coordinate
285           systems for some cases.
286         </li>
287 </ul></div>
288 <h4>
289 <a name="geometry.release_notes.h4"></a>
290       <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
291       1.60</a>
292     </h4>
293 <p>
294       <span class="bold"><strong>Solved tickets</strong></span>
295     </p>
296 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
297 <li class="listitem">
298           <a href="https://svn.boost.org/trac/boost/ticket/10803" target="_top">10803</a>
299           Union algorithm returning invalid geometry
300         </li>
301 <li class="listitem">
302           <a href="https://svn.boost.org/trac/boost/ticket/11522" target="_top">11522</a>
303           Namespace clash in buffer for traits::detail
304         </li>
305 <li class="listitem">
306           <a href="https://svn.boost.org/trac/boost/ticket/11533" target="_top">11533</a>
307           Assert failure in rtree caused by a bug in remove() if min elements number
308           is 1
309         </li>
310 <li class="listitem">
311           <a href="https://svn.boost.org/trac/boost/ticket/11607" target="_top">11607</a>
312           Private geometry::exception::what()
313         </li>
314 <li class="listitem">
315           <a href="https://svn.boost.org/trac/boost/ticket/11709" target="_top">11709</a>
316           is_simple segfault
317         </li>
318 <li class="listitem">
319           <a href="https://svn.boost.org/trac/boost/ticket/11710" target="_top">11710</a>
320           is_simple - empty geometry logic
321         </li>
322 <li class="listitem">
323           <a href="https://svn.boost.org/trac/boost/ticket/11711" target="_top">11711</a>
324           is_simple and is_valid - Points that are NaN or Infinity
325         </li>
326 </ul></div>
327 <p>
328       <span class="bold"><strong>Bugfixes</strong></span>
329     </p>
330 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
331 <li class="listitem">
332           Fix colocations of touching interior ring / exterior ring, where it also
333           touches another polygon
334         </li>
335 <li class="listitem">
336           Fix removing values from an empty rtree - no effect and 0 returned instead
337           of assertion failure
338         </li>
339 <li class="listitem">
340           Fix segfault in centroid for multi geometries containing empty single geometries
341           (thanks to Jiri Drbalek)
342         </li>
343 <li class="listitem">
344           Fix liang_barsky strategy for integral coordinates (thanks to Dane Springmeyer)
345         </li>
346 </ul></div>
347 <h4>
348 <a name="geometry.release_notes.h5"></a>
349       <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
350       1.59</a>
351     </h4>
352 <p>
353       <span class="bold"><strong>Additional functionality</strong></span>
354     </p>
355 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
356 <li class="listitem">
357           Added rtree const_iterator, begin(), end() and the support for Boost.Range.
358         </li>
359 <li class="listitem">
360           The support for C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span></code>
361           in geometries models.
362         </li>
363 <li class="listitem">
364           Disjoint and intersects support the following geometry combinations: multipoint/linestring,
365           multipoint/multilinestring.
366         </li>
367 <li class="listitem">
368           Added relate() and relation() algorithms.
369         </li>
370 <li class="listitem">
371           Intersection has been implemented for combinations of pointlike and linear
372           geometries
373         </li>
374 <li class="listitem">
375           Added implementation for difference(pointlike, linear)
376         </li>
377 <li class="listitem">
378           New algorithm is_empty, returning true if the geometry represents the empty
379           set
380         </li>
381 <li class="listitem">
382           The envelope algorithm supports pointlike and linear geometries in the
383           spherical equatorial coordinate system
384         </li>
385 <li class="listitem">
386           The envelope algorithm supports pointlike geometries in the geographic
387           coordinate system
388         </li>
389 </ul></div>
390 <p>
391       <span class="bold"><strong>Improvements</strong></span>
392     </p>
393 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
394 <li class="listitem">
395           Upgraded rtree const_query_iterator category to ForwardIterator.
396         </li>
397 <li class="listitem">
398           Buffer performance of buffers around multi-points is improved significantly
399         </li>
400 </ul></div>
401 <p>
402       <span class="bold"><strong>Breaking changes</strong></span>
403     </p>
404 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
405           buffer side strategy now returns error_code instead of bool. If you have
406           your own custom side strategy, it should be adapted
407         </li></ul></div>
408 <p>
409       <span class="bold"><strong>Solved tickets</strong></span>
410     </p>
411 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
412 <li class="listitem">
413           <a href="https://svn.boost.org/trac/boost/ticket/11113" target="_top">11113</a>
414           Support easy enumeration of all elements with BOOST_FOREACH
415         </li>
416 <li class="listitem">
417           <a href="https://svn.boost.org/trac/boost/ticket/11232" target="_top">11232</a>
418           Feature request - relate()
419         </li>
420 <li class="listitem">
421           <a href="https://svn.boost.org/trac/boost/ticket/11236" target="_top">11236</a>
422           Invalid result of centroid() for integer coordinate type
423         </li>
424 <li class="listitem">
425           <a href="https://svn.boost.org/trac/boost/ticket/11268" target="_top">11268</a>
426           Regression in boost::geometry::intersection interface with multi_linestring
427           and box -- does not compile on 1.57 VS 1.55
428         </li>
429 <li class="listitem">
430           <a href="https://svn.boost.org/trac/boost/ticket/11332" target="_top">11332</a>
431           Assertion failure in buffer for extreme coordinate differences
432         </li>
433 <li class="listitem">
434           <a href="https://svn.boost.org/trac/boost/ticket/11346" target="_top">11346</a>
435           Segment iterator does not work with ranges returning values instead of
436           references
437         </li>
438 <li class="listitem">
439           <a href="https://svn.boost.org/trac/boost/ticket/11436" target="_top">11436</a>
440           sym_difference(py1, py2, mpy) returns invalid multipolygon
441         </li>
442 </ul></div>
443 <p>
444       <span class="bold"><strong>Bugfixes</strong></span>
445     </p>
446 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
447 <li class="listitem">
448           Buffer: use a more robust way to calculate the side of an intersection,
449           this fixes several errors in buffer generation
450         </li>
451 <li class="listitem">
452           Fix in selection of segment to which calculate from IP from, in intersection
453           of two segments. Now is selected the one close to a segment-point point,
454           or else the one on the shortest segment. This avoids (rarely occuring)
455           generation of tiny triangles making output polygons invalid
456         </li>
457 <li class="listitem">
458           In rescaling round instead of truncate to the integer grid (this fix and
459           the previous mentioned can have some impact on output geometries)
460         </li>
461 <li class="listitem">
462           Fix potential infinite loop in detail::has_spikes (the loop can happen
463           if the points passed have NaN coordinates)
464         </li>
465 </ul></div>
466 <h4>
467 <a name="geometry.release_notes.h6"></a>
468       <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
469       1.58</a>
470     </h4>
471 <p>
472       <span class="bold"><strong>Additional functionality</strong></span>
473     </p>
474 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
475 <li class="listitem">
476           New algorithm num_segments, returning the number of segments of a geometry
477         </li>
478 <li class="listitem">
479           New overload for is_valid algorithm, that takes a string reference as a
480           second argument and fills it with a message related to the validity or
481           invalidity of the geometry
482         </li>
483 <li class="listitem">
484           New overload for is_valid algorithm, that takes an enum reference as a
485           second argument and fills it with a value related to the validity or invalidity
486           of the geometry
487         </li>
488 <li class="listitem">
489           Disjoint and intersects support the following geometry combinations: point/multipoint,
490           multipoint/multipoint, multipoint/segment, multipoint/box
491         </li>
492 </ul></div>
493 <p>
494       <span class="bold"><strong>Improvements</strong></span>
495     </p>
496 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
497 <li class="listitem">
498           Buffer now supports flat-ends for linestrings with a bend close to the
499           start (such that buffered segment crosses flat-end).
500         </li>
501 <li class="listitem">
502           Buffer performance is improved significantly
503         </li>
504 <li class="listitem">
505           Partition performance is improved significantly for polygons, potentially
506           enhancing all overlay operations
507         </li>
508 </ul></div>
509 <p>
510       <span class="bold"><strong>Solved tickets</strong></span>
511     </p>
512 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
513 <li class="listitem">
514           <a href="https://svn.boost.org/trac/boost/ticket/8379" target="_top">8379</a>
515           Invalid comparison of the result of determinant
516         </li>
517 <li class="listitem">
518           <a href="https://svn.boost.org/trac/boost/ticket/10108" target="_top">10108</a>
519           Error in overlay operations in specific cases where geometries touch at
520           one point
521         </li>
522 <li class="listitem">
523           <a href="https://svn.boost.org/trac/boost/ticket/10201" target="_top">10201</a>
524           Suggestion to use different function to compare coordinates [wontfix]
525         </li>
526 <li class="listitem">
527           <a href="https://svn.boost.org/trac/boost/ticket/10467" target="_top">10467</a>
528           Template parameter name coliding with B0 macro name defined in termios.h
529         </li>
530 <li class="listitem">
531           <a href="https://svn.boost.org/trac/boost/ticket/10640" target="_top">10640</a>
532           Invalid result of buffer() for CCW Polygons.
533         </li>
534 <li class="listitem">
535           <a href="https://svn.boost.org/trac/boost/ticket/10666" target="_top">10666</a>
536           MSVC compiler warning C4127: conditional expression is constant
537         </li>
538 <li class="listitem">
539           <a href="https://svn.boost.org/trac/boost/ticket/10747" target="_top">10747</a>
540           Error in rescaling causing errors in areal/areal set operations
541         </li>
542 <li class="listitem">
543           <a href="https://svn.boost.org/trac/boost/ticket/10770" target="_top">10770</a>
544           Buffer fails for large distances, or rough round joins, where concavities
545           where not intersected properly
546         </li>
547 <li class="listitem">
548           <a href="https://svn.boost.org/trac/boost/ticket/10658" target="_top">10658</a>
549           sym_difference yields bad result for int polygons
550         </li>
551 <li class="listitem">
552           <a href="https://svn.boost.org/trac/boost/ticket/10835" target="_top">10835</a>
553           Difference of multilinestring and polygon yields wrong result
554         </li>
555 <li class="listitem">
556           <a href="https://svn.boost.org/trac/boost/ticket/10861" target="_top">10861</a>
557           Rtree failing to compile for Value being a pair or a tuple containing pointer
558           to Geometry and the default equal_to&lt;&gt; used
559         </li>
560 <li class="listitem">
561           <a href="https://svn.boost.org/trac/boost/ticket/10863" target="_top">10863</a>
562           Template parameter name coliding with B0 macro name defined in termios.h
563           (duplicate of 10467)
564         </li>
565 <li class="listitem">
566           <a href="https://svn.boost.org/trac/boost/ticket/10887" target="_top">10887</a>
567           Invalid result of within() and relate() for Linear/MultiPolygon
568         </li>
569 <li class="listitem">
570           <a href="https://svn.boost.org/trac/boost/ticket/10890" target="_top">10890</a>
571           Invalid result of disjoint() for Point/Segment.
572         </li>
573 <li class="listitem">
574           <a href="https://svn.boost.org/trac/boost/ticket/10904" target="_top">10904</a>
575           Invalid calculation of most significant Dimension of a segment in relate_cartesian_segments
576           strategy
577         </li>
578 <li class="listitem">
579           <a href="https://svn.boost.org/trac/boost/ticket/10912" target="_top">10912</a>
580           Invalid result of within() and relate() for Areal/Areal
581         </li>
582 <li class="listitem">
583           <a href="https://svn.boost.org/trac/boost/ticket/10951" target="_top">10951</a>
584           Tests failing on windows with intel compiler due to lack of /bigobj flag.
585         </li>
586 <li class="listitem">
587           <a href="https://svn.boost.org/trac/boost/ticket/10957" target="_top">10957</a>
588           Assertion failure and invalid results of various relational operations.
589         </li>
590 <li class="listitem">
591           <a href="https://svn.boost.org/trac/boost/ticket/10958" target="_top">10958</a>
592           Invalid results of disjoint() L/L and L/A.
593         </li>
594 <li class="listitem">
595           <a href="https://svn.boost.org/trac/boost/ticket/10959" target="_top">10959</a>
596           Assertion failure in get_turns() used with no_rescale_policy.
597         </li>
598 <li class="listitem">
599           <a href="https://svn.boost.org/trac/boost/ticket/10960" target="_top">10960</a>
600           Invalid result of get_turns() for L/A, missing turn.
601         </li>
602 <li class="listitem">
603           <a href="https://svn.boost.org/trac/boost/ticket/10961" target="_top">10961</a>
604           Invalid result of get_turns() for L/A, invalid turn for a Linear spike.
605         </li>
606 <li class="listitem">
607           <a href="https://svn.boost.org/trac/boost/ticket/11112" target="_top">11112</a>
608           Compilation failure on Solaris due to a CS name clash (used for a macro
609           on this platform)
610         </li>
611 <li class="listitem">
612           <a href="https://svn.boost.org/trac/boost/ticket/11121" target="_top">11121</a>
613           Invalid result of difference() for integral coordinates
614         </li>
615 </ul></div>
616 <p>
617       <span class="bold"><strong>Bugfixes</strong></span>
618     </p>
619 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
620 <li class="listitem">
621           Bug in multipoint/polygon multipoint/multipolygon distance computation
622           (wrong detection of points inside the areal geometry)
623         </li>
624 <li class="listitem">
625           Bug in flatten_iterator's assignment operator causing an access violation
626         </li>
627 <li class="listitem">
628           Bug in Cartesian segment-segment intersection strategy when one segment
629           degenerates to a point and is collinear to the other non-degenerate segment
630         </li>
631 <li class="listitem">
632           Bug in centroid(), non-deterministic result if calculated for e.g. a Polygon
633           with zero-area.
634         </li>
635 <li class="listitem">
636           Bug in buffers for joins with a limited number of points
637         </li>
638 <li class="listitem">
639           Bug in buffers for round joins with limited number of points around sharp
640           corners
641         </li>
642 <li class="listitem">
643           Bug in buffers for joins with large buffer distances
644         </li>
645 <li class="listitem">
646           Bug in buffers for round ends with an odd number of points
647         </li>
648 <li class="listitem">
649           Bug in buffers for flat ends with large buffer distances
650         </li>
651 <li class="listitem">
652           Bug in buffers for interior rings with large negative buffer distances
653         </li>
654 <li class="listitem">
655           Bug in closing_iterator not working properly when the input range is empty
656         </li>
657 <li class="listitem">
658           Bug in is_simple, not handling properly closed simple linestrings within
659           multilinestrings
660         </li>
661 <li class="listitem">
662           Bug in rtree constructors taking a pair of Iterators or a Range (packing
663           algorithm), the use of reference to destroyed temporary when Iterator's
664           reference is not true reference, e.g. for some of the Range Adaptors. It
665           also affects distance() and comparable_distance(). This bug may cause unexpected
666           behavior of the rtree or distance() algorithm, e.g. an assertion failure
667           or a SEGFAULT.
668         </li>
669 <li class="listitem">
670           Bug in rtree count() member function, the use of reference to destroyed
671           temporary when object of type convertible but not the same as value_type
672           or indexable_type is passed. If this happens, wrong result may be returned,
673           in most cases 0.
674         </li>
675 <li class="listitem">
676           Bugs related to the handling of Ranges, preventing compilation of Geometries
677           using non-Container Ranges in some algorithms (thanks to Samuel Debionne)
678         </li>
679 </ul></div>
680 <h4>
681 <a name="geometry.release_notes.h7"></a>
682       <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
683       1.57</a>
684     </h4>
685 <p>
686       <span class="bold"><strong>Improvements</strong></span>
687     </p>
688 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
689 <li class="listitem">
690           The support of parameters convertible to value_type in rtree insert(),
691           remove() and count() functions
692         </li>
693 <li class="listitem">
694           Support for counterclockwise input/output in algorithm buffer
695         </li>
696 <li class="listitem">
697           Support for open-geometry input in algorithm buffer (open output not yet
698           supported)
699         </li>
700 <li class="listitem">
701           Support for degenerate input (point-like linestrings, polygons) in algorithm
702           buffer
703         </li>
704 </ul></div>
705 <p>
706       <span class="bold"><strong>Solved tickets</strong></span>
707     </p>
708 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
709 <li class="listitem">
710           <a href="https://svn.boost.org/trac/boost/ticket/6443" target="_top">6443</a>
711           Wrong degenerated hulls returned by convex_hull().
712         </li>
713 <li class="listitem">
714           <a href="https://svn.boost.org/trac/boost/ticket/8402" target="_top">8402</a>
715           Implicit conversion warnings
716         </li>
717 <li class="listitem">
718           <a href="https://svn.boost.org/trac/boost/ticket/9354" target="_top">9354</a>
719           Bug in winding strategy affecting within() and covered_by() for non-cartesian
720           coordinate systems
721         </li>
722 <li class="listitem">
723           <a href="https://svn.boost.org/trac/boost/ticket/10177" target="_top">10177</a>
724           Missing include
725         </li>
726 <li class="listitem">
727           <a href="https://svn.boost.org/trac/boost/ticket/10345" target="_top">10345</a>
728           Distance fails to compile for some coordinate types
729         </li>
730 <li class="listitem">
731           <a href="https://svn.boost.org/trac/boost/ticket/10398" target="_top">10398</a>
732           Wrong neighbour check in buffer, calculating turns
733         </li>
734 <li class="listitem">
735           <a href="https://svn.boost.org/trac/boost/ticket/10421" target="_top">10421</a>
736           Invalid Point-Box distance for spherical CS
737         </li>
738 <li class="listitem">
739           <a href="https://svn.boost.org/trac/boost/ticket/10562" target="_top">10562</a>
740           Invalid number of Points in the result of convex_hull() for open output
741         </li>
742 <li class="listitem">
743           <a href="https://svn.boost.org/trac/boost/ticket/10615" target="_top">10615</a>
744           Rtree constructor feature request
745         </li>
746 <li class="listitem">
747           <a href="https://svn.boost.org/trac/boost/ticket/10643" target="_top">10643</a>
748           Invalid point_on_surface() result for big coordinates
749         </li>
750 <li class="listitem">
751           <a href="https://svn.boost.org/trac/boost/ticket/10647" target="_top">10647</a>
752           Invalid result of disjoint() in some cases when polygon is inside inner
753           ring of other polygon
754         </li>
755 <li class="listitem">
756           <a href="https://svn.boost.org/trac/boost/ticket/10668" target="_top">10668</a>
757           Implicit conversion warnings (duplicated 8402)
758         </li>
759 </ul></div>
760 <p>
761       <span class="bold"><strong>Bugfixes</strong></span>
762     </p>
763 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
764 <li class="listitem">
765           Several fixes of bugs in algorithm buffer
766         </li>
767 <li class="listitem">
768           Bug in point_on_surface() for CCW Polygons (extreme_points()) and numerical
769           issue (thanks to Matt Amos)
770         </li>
771 <li class="listitem">
772           Bug in disjoint() for A/A fixed by replacement of point_on_surface() with
773           point_on_border() (thanks to Matt Amos)
774         </li>
775 <li class="listitem">
776           The result of convex_hull(), duplicated Point in open output, too small
777           number of Points for 1- and 2-Point input
778         </li>
779 <li class="listitem">
780           Imprecision for big coordinates in centroid(), fixed by Points translation
781           (related with ticket 10643)
782         </li>
783 <li class="listitem">
784           for_each_segment() not taking into account the last segment of open Geometry
785         </li>
786 </ul></div>
787 <h4>
788 <a name="geometry.release_notes.h8"></a>
789       <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
790       1.56</a>
791     </h4>
792 <p>
793       <span class="bold"><strong>Additional functionality</strong></span>
794     </p>
795 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
796 <li class="listitem">
797           New algorithm buffer for inflating/deflating geometries (buffer itself
798           already existed but that was only to enlarge a box)
799         </li>
800 <li class="listitem">
801           New algorithm remove_spikes, algorithm to remove spikes from a ring, polygon
802           or multi_polygon
803         </li>
804 <li class="listitem">
805           New algorithm point_on_surface, generating a point lying on the surface
806           (interior) of the polygon
807         </li>
808 <li class="listitem">
809           New algorithm is_simple, returning true if a geometry is simple according
810           to the OGC standard
811         </li>
812 <li class="listitem">
813           New algorithm is_valid, returning true if a geometry is valid according
814           to the OGC standard
815         </li>
816 <li class="listitem">
817           New algorithm crosses for checking this spatial relation according to the
818           OGC standard
819         </li>
820 <li class="listitem">
821           The set operation algorithms (difference, intersection, sym_difference
822           and union_) now support as input pairs of pointlike or linear geometries
823         </li>
824 <li class="listitem">
825           The distance and comparable_distance algorithms now support all pairs of
826           geometry combinations
827         </li>
828 <li class="listitem">
829           The spatial relations which didn't support it (covered_by, touches, within,
830           etc.) now support as input linear and/or areal geometries
831         </li>
832 <li class="listitem">
833           The support for boost::variants as input geometries in various algorithms
834         </li>
835 <li class="listitem">
836           The rtree support for indexing segments
837         </li>
838 <li class="listitem">
839           The rtree nearest() predicate support for arbitrary geometries
840         </li>
841 </ul></div>
842 <p>
843       <span class="bold"><strong>Improvements</strong></span>
844     </p>
845 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
846           The rtree pack-creation algorithm optimization (thanks to Lu Wang)
847         </li></ul></div>
848 <p>
849       <span class="bold"><strong>Solved tickets</strong></span>
850     </p>
851 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
852 <li class="listitem">
853           <a href="https://svn.boost.org/trac/boost/ticket/8310" target="_top">8310</a>
854           Wrong results with overlapping polygons (fixed using point_on_surface for
855           disjoint)
856         </li>
857 <li class="listitem">
858           <a href="https://svn.boost.org/trac/boost/ticket/8375" target="_top">8375</a>
859           sym_difference of non-closed polygons returns closed polygon
860         </li>
861 <li class="listitem">
862           <a href="https://svn.boost.org/trac/boost/ticket/8376" target="_top">8376</a>
863           difference of non-closed polygons returns closed polygon
864         </li>
865 <li class="listitem">
866           <a href="https://svn.boost.org/trac/boost/ticket/9081" target="_top">9081</a>
867           Booleans create self-intersecting polygons from non-self-intersecting polygons
868         </li>
869 <li class="listitem">
870           <a href="https://svn.boost.org/trac/boost/ticket/9245" target="_top">9245</a>
871           Check for process errors in make_qbk.py
872         </li>
873 <li class="listitem">
874           <a href="https://svn.boost.org/trac/boost/ticket/9563" target="_top">9563</a>
875           (Sym)difference not successful, fixed by rescaling to robust type
876         </li>
877 <li class="listitem">
878           <a href="https://svn.boost.org/trac/boost/ticket/9628" target="_top">9628</a>
879           Wrong result of within() due to the winding strategy not working correctly
880           for nearly-horizontal segments
881         </li>
882 <li class="listitem">
883           <a href="https://svn.boost.org/trac/boost/ticket/9828" target="_top">9828</a>
884           boost::geometry::union_(...) creates redundant closing point
885         </li>
886 <li class="listitem">
887           <a href="https://svn.boost.org/trac/boost/ticket/9871" target="_top">9871</a>
888           Remove spike in polygon with only a spike
889         </li>
890 <li class="listitem">
891           <a href="https://svn.boost.org/trac/boost/ticket/9941" target="_top">9941</a>
892           Add support for touches(box, box)
893         </li>
894 <li class="listitem">
895           <a href="https://svn.boost.org/trac/boost/ticket/9947" target="_top">9947</a>
896           Missing info about WKT in documentation
897         </li>
898 <li class="listitem">
899           <a href="https://svn.boost.org/trac/boost/ticket/9759" target="_top">9759</a>
900           Invalid results of R-tree knn queries for non-cartesian coordinate systems
901         </li>
902 <li class="listitem">
903           <a href="https://svn.boost.org/trac/boost/ticket/10019" target="_top">10019</a>
904           Difference of Linestring and Box returns their intersection
905         </li>
906 <li class="listitem">
907           <a href="https://svn.boost.org/trac/boost/ticket/10077" target="_top">10077</a>
908           Wrong types in concept checks in boost/geometry/arithmetic/arithmetic.hpp
909         </li>
910 <li class="listitem">
911           <a href="https://svn.boost.org/trac/boost/ticket/10234" target="_top">10234</a>
912           Wrong results of covered_by() for nearly-horizontal segments
913         </li>
914 </ul></div>
915 <p>
916       <span class="bold"><strong>Bugfixes</strong></span>
917     </p>
918 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
919 <li class="listitem">
920           intersects(polygon) could return a self-intersection-point for its closing
921           point, fixed
922         </li>
923 <li class="listitem">
924           equals() could return invalid results for non-simple linear geometries
925           according to the OGC standard, fixed
926         </li>
927 <li class="listitem">
928           touches() didn't work properly for CCW areal geomtries, fixed
929         </li>
930 <li class="listitem">
931           rtree nearest queries returned wrong elements for non-cartesian coordinate
932           systems, fixed
933         </li>
934 <li class="listitem">
935           rtree crashed in some cases when used with Interprocess allocator, fixed
936         </li>
937 </ul></div>
938 <h4>
939 <a name="geometry.release_notes.h9"></a>
940       <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
941       1.55</a>
942     </h4>
943 <p>
944       <span class="bold"><strong>Additional functionality</strong></span>
945     </p>
946 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
947 <li class="listitem">
948           Added centroid for segment type
949         </li>
950 <li class="listitem">
951           Added intersects() and disjoints() for Segment-Box and Linestring-Box
952         </li>
953 <li class="listitem">
954           Added rtree creation using packing algorithm
955         </li>
956 <li class="listitem">
957           Added contains() and covers() spatial query predicates
958         </li>
959 <li class="listitem">
960           Added iterative queries
961         </li>
962 </ul></div>
963 <p>
964       <span class="bold"><strong>Documentation</strong></span>
965     </p>
966 <p>
967       <span class="bold"><strong>Bugfixes</strong></span>
968     </p>
969 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
970 <li class="listitem">
971           In some cases .back() or .clear() was called, violating the usage of Concepts.
972           Fixed for the reported cases
973         </li>
974 <li class="listitem">
975           Use consistent side information in cart_intersect and get_turn_info and
976           handle_tangencies and enrich_intersection_info. This is done by switching
977           to integer (if necessary) for the specific 6 points only, zooming in on
978           the 4 or 3 segments
979         </li>
980 </ul></div>
981 <p>
982       <span class="bold"><strong>Solved tickets</strong></span>
983     </p>
984 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
985 <li class="listitem">
986           <a href="https://svn.boost.org/trac/boost/ticket/6958" target="_top">6958</a>
987           Intersection generates self-intersection. Caused by spike, fixed
988         </li>
989 <li class="listitem">
990           <a href="https://svn.boost.org/trac/boost/ticket/8364" target="_top">8364</a>
991           Invalid input exception, caused by spikes in previous steps, fixed
992         </li>
993 <li class="listitem">
994           <a href="https://svn.boost.org/trac/boost/ticket/8365" target="_top">8365</a>
995           Invalid input exception, caused by spikes in previous steps, fixed
996         </li>
997 <li class="listitem">
998           <a href="https://svn.boost.org/trac/boost/ticket/8969" target="_top">8969</a>
999           boost::geometry::model::point single argument constructor should be explicit
1000         </li>
1001 <li class="listitem">
1002           <a href="https://svn.boost.org/trac/boost/ticket/8825" target="_top">8825</a>
1003           Patch adding member variable documentation to doxygen_xml2qbk
1004         </li>
1005 <li class="listitem">
1006           <a href="https://svn.boost.org/trac/boost/ticket/8652" target="_top">8652</a>
1007           Intersection fails for triangle-triangle intersection. Caused by spike,
1008           fixed
1009         </li>
1010 <li class="listitem">
1011           <a href="https://svn.boost.org/trac/boost/ticket/9047" target="_top">9047</a>
1012           Boost files that include themselves (strategies/intersection.hpp), fixed
1013         </li>
1014 </ul></div>
1015 <p>
1016       <span class="bold"><strong>Internal changes</strong></span>
1017     </p>
1018 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1019 <li class="listitem">
1020           Adapted projected_point&lt;&gt; distance strategy, point-type in template
1021           is replaced by calculation-type
1022         </li>
1023 <li class="listitem">
1024           Adapted transform strategies, they have points now as member-template,
1025           and calculation-type as template. Similar to what was done for projected_point
1026           distance
1027         </li>
1028 <li class="listitem">
1029           Spikes (could be generated in difference) in integer-based overlays are
1030           now avoided during generation
1031         </li>
1032 <li class="listitem">
1033           Cleanup, removed old MSVC2005 project files
1034         </li>
1035 <li class="listitem">
1036           R*-tree balancing algorithm optimized
1037         </li>
1038 </ul></div>
1039 <h4>
1040 <a name="geometry.release_notes.h10"></a>
1041       <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
1042       1.54</a>
1043     </h4>
1044 <p>
1045       <span class="bold"><strong>Additional functionality</strong></span>
1046     </p>
1047 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1048 <li class="listitem">
1049           added Spatial Index, developed for Boost.Geometry by Adam Wulkiewicz. The
1050           spatial index was originally started by Federico J. Fernandez during the
1051           Google Summer of Code 2008 program, mentored by Hartmut Kaiser.
1052         </li>
1053 <li class="listitem">
1054           added SVG-output, this was already in extensions for several years
1055         </li>
1056 </ul></div>
1057 <p>
1058       <span class="bold"><strong>Documentation</strong></span>
1059     </p>
1060 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1061 <li class="listitem">
1062           small fixes of missing words
1063         </li>
1064 <li class="listitem">
1065           fixes in doc of template parameters (convex_hull, exterior_ring, return_buffer)
1066         </li>
1067 </ul></div>
1068 <p>
1069       <span class="bold"><strong>Bugfixes</strong></span>
1070     </p>
1071 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1072 <li class="listitem">
1073           collinear opposite segments did sometimes (in circles) have a robustness
1074           issue, fixed
1075         </li>
1076 <li class="listitem">
1077           fixed insertion of false intersection point (found by buffer)
1078         </li>
1079 <li class="listitem">
1080           applied patch of Vladimir Petrovic for debugging traversals
1081         </li>
1082 </ul></div>
1083 <p>
1084       <span class="bold"><strong>Solved tickets</strong></span>
1085     </p>
1086 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1087 <li class="listitem">
1088           <a href="https://svn.boost.org/trac/boost/ticket/7462" target="_top">7462</a>
1089           degenerate union result for float, fixed
1090         </li>
1091 <li class="listitem">
1092           <a href="https://svn.boost.org/trac/boost/ticket/7465" target="_top">7465</a>
1093           wrong construtors access type in scale_transformer class, fixed
1094         </li>
1095 <li class="listitem">
1096           <a href="https://svn.boost.org/trac/boost/ticket/7802" target="_top">7802</a>
1097           cart_intersect.hpp unused parameter warnings, fixed
1098         </li>
1099 <li class="listitem">
1100           <a href="https://svn.boost.org/trac/boost/ticket/8254" target="_top">8254</a>
1101           faulty intersection, fixed
1102         </li>
1103 <li class="listitem">
1104           <a href="https://svn.boost.org/trac/boost/ticket/8393" target="_top">8393</a>
1105           polygon model doesn't adhere to stated Polygon concept rules, doc updated.
1106         </li>
1107 <li class="listitem">
1108           <a href="https://svn.boost.org/trac/boost/ticket/8403" target="_top">8403</a>
1109           silenced compiler warning C4127: conditional expression is constant
1110         </li>
1111 <li class="listitem">
1112           <a href="https://svn.boost.org/trac/boost/ticket/8405" target="_top">8405</a>
1113           silenced compiler warning C4189: '...' : local variable is initialized
1114           but not referenced
1115         </li>
1116 </ul></div>
1117 <p>
1118       <span class="bold"><strong>Internal changes</strong></span>
1119     </p>
1120 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1121           Made several algorithms variant-aware (append, area, clear, convert, equals,
1122           length, num_points)
1123         </li></ul></div>
1124 <h4>
1125 <a name="geometry.release_notes.h11"></a>
1126       <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
1127       1.53</a>
1128     </h4>
1129 <p>
1130       <span class="bold"><strong>Bugfixes</strong></span>
1131     </p>
1132 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1133 <li class="listitem">
1134           avoid generating output polygons with interior rings below minimum size
1135           (e.g. one or two points)
1136         </li>
1137 <li class="listitem">
1138           <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code> for degenerate segments (patched
1139           by Karsten Ahnert)
1140         </li>
1141 <li class="listitem">
1142           problem in <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">difference</span></code> for missing handling tangency,
1143           reported by H2
1144         </li>
1145 <li class="listitem">
1146           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
1147         </li>
1148 <li class="listitem">
1149           fixed <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">comparable_distance</span></code> point-linestring
1150           (and -range, -polygon)
1151         </li>
1152 </ul></div>
1153 <p>
1154       <span class="bold"><strong>Additional functionality</strong></span>
1155     </p>
1156 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1157 <li class="listitem">
1158           combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code>:
1159           point/ring, point/polygon, point/multi_polygon
1160         </li>
1161 <li class="listitem">
1162           combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersects</span></code>:
1163           point/ring, point/polygon, point/multi_polygon
1164         </li>
1165 </ul></div>
1166 <p>
1167       <span class="bold"><strong>Internal changes</strong></span>
1168     </p>
1169 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1170 <li class="listitem">
1171           updates in specializations/not_implemented for various algorithms (as in
1172           an earlier version, these changes are still going on; they take care for
1173           simplified structs, better error reporting, and automatized documentation)
1174         </li>
1175 <li class="listitem">
1176           fixes in unit tests
1177         </li>
1178 </ul></div>
1179 <h4>
1180 <a name="geometry.release_notes.h12"></a>
1181       <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
1182       1.51</a>
1183     </h4>
1184 <p>
1185       <span class="bold"><strong>Breaking changes</strong></span>
1186     </p>
1187 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1188           points accessed through a pointer (e.g. in a linestring) should now be
1189           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>
1190           <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
1191           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>
1192           <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>
1193         </li></ul></div>
1194 <p>
1195       <span class="bold"><strong>Bugfixes</strong></span>
1196     </p>
1197 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1198 <li class="listitem">
1199           intersection was sometimes wrong for integer points, fixed
1200         </li>
1201 <li class="listitem">
1202           documentation, order of parameters in simplify was wrong, fixed
1203         </li>
1204 </ul></div>
1205 <p>
1206       <span class="bold"><strong>Solved tickets</strong></span>
1207     </p>
1208 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1209           <a href="https://svn.boost.org/trac/boost/ticket/7030" target="_top">7030</a>
1210           spherical distance, fixed (by patch of Karsten Ahnert)
1211         </li></ul></div>
1212 <h4>
1213 <a name="geometry.release_notes.h13"></a>
1214       <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
1215       1.50</a>
1216     </h4>
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           the return type of comparable projected point strategy for integer points
1223           was wrong (integer), fixed
1224         </li>
1225 <li class="listitem">
1226           several robustness issues in intersection of segments and polygons, fixed
1227         </li>
1228 <li class="listitem">
1229           invalid intersection output is filtered out
1230         </li>
1231 <li class="listitem">
1232           disjoint for multi_polygon's might incorrectly return true, fixed
1233         </li>
1234 </ul></div>
1235 <p>
1236       <span class="bold"><strong>Solved tickets</strong></span>
1237     </p>
1238 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1239 <li class="listitem">
1240           <a href="https://svn.boost.org/trac/boost/ticket/6585" target="_top">6585</a>
1241           patch for alternative syntax multipoint, applied
1242         </li>
1243 <li class="listitem">
1244           <a href="https://svn.boost.org/trac/boost/ticket/6584" target="_top">6584</a>
1245           patch for bug in distance, applied
1246         </li>
1247 <li class="listitem">
1248           <a href="https://svn.boost.org/trac/boost/ticket/5730" target="_top">5730</a>
1249           same issue as 6584, fixed
1250         </li>
1251 <li class="listitem">
1252           <a href="https://svn.boost.org/trac/boost/ticket/6166" target="_top">6166</a>
1253           patch for missing transformation, applied
1254         </li>
1255 <li class="listitem">
1256           <a href="https://svn.boost.org/trac/boost/ticket/6696" target="_top">6696</a>
1257           invalid intersection output, was (by chance) already fixed in Trunk before
1258           reported
1259         </li>
1260 </ul></div>
1261 <p>
1262       <span class="bold"><strong>Additional functionality</strong></span>
1263     </p>
1264 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1265           added algorithm "touches" (OGC SF compliant) for *polygon/*polygon
1266         </li></ul></div>
1267 <h4>
1268 <a name="geometry.release_notes.h14"></a>
1269       <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
1270       1.49</a>
1271     </h4>
1272 <p>
1273       <span class="bold"><strong>Breaking changes</strong></span>
1274     </p>
1275 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1276           point_xy was accidentally included in one of the headerfiles. If the point_xy
1277           class is used, it should be included explicitly now.
1278         </li></ul></div>
1279 <p>
1280       <span class="bold"><strong>Bugfixes</strong></span>
1281     </p>
1282 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1283 <li class="listitem">
1284           bugfix: distance for multi-geometries ignored specified distance strategy.
1285           Fixed
1286         </li>
1287 <li class="listitem">
1288           bugfix: difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list)
1289         </li>
1290 <li class="listitem">
1291           bugfix: raise exception for calculation of distances of multi-geometrie(s)
1292           where one of them is empty
1293         </li>
1294 <li class="listitem">
1295           bugfix: multi DSV did not correctly use settings, fixed
1296         </li>
1297 <li class="listitem">
1298           bugfix: self-intersections could sometimes be missed (introduced in 1.48),
1299           fixed
1300         </li>
1301 <li class="listitem">
1302           bugfix: convex hull crashed on empty range (e.g. empty multi point), fixed
1303         </li>
1304 <li class="listitem">
1305           bugfix: area/centroid/side/intersection/distance did not work for "int"
1306           type filled with large (but not overflowing) integers. Fixed.
1307         </li>
1308 <li class="listitem">
1309           bugfix: disjoint/intersect did not work for degenerate linestrings. Fixed.
1310         </li>
1311 <li class="listitem">
1312           bugfix: covered_by did not compile for a ring. Fixed.
1313         </li>
1314 </ul></div>
1315 <p>
1316       <span class="bold"><strong>Solved tickets</strong></span>
1317     </p>
1318 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1319 <li class="listitem">
1320           <a href="https://svn.boost.org/trac/boost/ticket/6019" target="_top">6019</a>
1321           convex_hull / area, fixed.
1322         </li>
1323 <li class="listitem">
1324           <a href="https://svn.boost.org/trac/boost/ticket/6021" target="_top">6021</a>
1325           convex_hull / append (multipoint), fixed.
1326         </li>
1327 <li class="listitem">
1328           <a href="https://svn.boost.org/trac/boost/ticket/6028" target="_top">6028</a>
1329           Documentation: closure, fixed.
1330         </li>
1331 <li class="listitem">
1332           <a href="https://svn.boost.org/trac/boost/ticket/6178" target="_top">6178</a>
1333           Missing headerfile, fixed.
1334         </li>
1335 </ul></div>
1336 <p>
1337       <span class="bold"><strong>Additional functionality</strong></span>
1338     </p>
1339 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1340 <li class="listitem">
1341           support for line/polygon intersections and differences
1342         </li>
1343 <li class="listitem">
1344           support for convert of segment/box of different point types
1345         </li>
1346 <li class="listitem">
1347           support for append for multi point
1348         </li>
1349 <li class="listitem">
1350           the scalar function distance now throws an empty_input_exception on empty
1351           input
1352         </li>
1353 </ul></div>
1354 <p>
1355       <span class="bold"><strong>Documentation</strong></span>
1356     </p>
1357 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1358 <li class="listitem">
1359           updated support status in several algorithms
1360         </li>
1361 <li class="listitem">
1362           updated conformance to OGC or std
1363         </li>
1364 <li class="listitem">
1365           other updates and fixes
1366         </li>
1367 </ul></div>
1368 <p>
1369       <span class="bold"><strong>Internal changes</strong></span>
1370     </p>
1371 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1372 <li class="listitem">
1373           updates in specializations/not_implemented for distance/convert/assign/area/with/covered_by
1374         </li>
1375 <li class="listitem">
1376           move of wkt/dsv to io folder, making domains redundant
1377         </li>
1378 <li class="listitem">
1379           warnings: strategy concepts assigned to zero to avoid clang warnings (patched
1380           by Vishnu)
1381         </li>
1382 <li class="listitem">
1383           warnings: there were several unused parameters, for which gcc/clang warned
1384           (patched by Christophe)
1385         </li>
1386 </ul></div>
1387 <h4>
1388 <a name="geometry.release_notes.h15"></a>
1389       <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
1390       1.48</a>
1391     </h4>
1392 <p>
1393       <span class="bold"><strong>Bugfixes</strong></span>
1394     </p>
1395 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1396 <li class="listitem">
1397           Robustness issue, in some circumstances the union failed to output. Fixed.
1398         </li>
1399 <li class="listitem">
1400           Robustness issue, in some circumstances the calculated intersection point
1401           was outside the segment. Fixed.
1402         </li>
1403 <li class="listitem">
1404           Concept issue, cartesian intersect didn't understand segments other than
1405           the provided one. Fixed.
1406         </li>
1407 <li class="listitem">
1408           Sometimes self-intersections in linestrings were missed. Fixed.
1409         </li>
1410 <li class="listitem">
1411           The fusion coordinate system was not registered correctly. Fixed.
1412         </li>
1413 </ul></div>
1414 <p>
1415       <span class="bold"><strong>Solved tickets</strong></span>
1416     </p>
1417 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1418 <li class="listitem">
1419           <a href="https://svn.boost.org/trac/boost/ticket/5726" target="_top">5726</a>
1420           Segment intersection algorithm still assumes 'first', 'second' members
1421         </li>
1422 <li class="listitem">
1423           <a href="https://svn.boost.org/trac/boost/ticket/5744" target="_top">5744</a>
1424           Mistake in fusion adapt example
1425         </li>
1426 <li class="listitem">
1427           <a href="https://svn.boost.org/trac/boost/ticket/5748" target="_top">5748</a>
1428           Needed to include &lt;boost/foreach.hpp&gt;
1429         </li>
1430 <li class="listitem">
1431           <a href="https://svn.boost.org/trac/boost/ticket/5954" target="_top">5954</a>
1432           distance_pythagoras skips sqrt() step
1433         </li>
1434 </ul></div>
1435 <p>
1436       <span class="bold"><strong>Improvements on algorithms</strong></span>
1437     </p>
1438 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1439 <li class="listitem">
1440           Checking self-intersections is now not done automatically, this can blast
1441           performance.
1442         </li>
1443 <li class="listitem">
1444           Besides that, checking self-intersections is made faster.
1445         </li>
1446 <li class="listitem">
1447           Intersections now avoid outputting duplicate points. So they output the
1448           minimal set.
1449         </li>
1450 </ul></div>
1451 <p>
1452       <span class="bold"><strong>Additional algorithms</strong></span>
1453     </p>
1454 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1455           covered_by: within is defined as "within, not on boundary". covered_by
1456           is "within or on boundary"
1457         </li></ul></div>
1458 <p>
1459       <span class="bold"><strong>Additional functionality</strong></span>
1460     </p>
1461 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1462 <li class="listitem">
1463           within: strategies can now be specified for within&lt;point, box&gt; and
1464           within&lt;box, box&gt;
1465         </li>
1466 <li class="listitem">
1467           convert: a much broader range of conversions is supported
1468         </li>
1469 <li class="listitem">
1470           assign: idem, (currently partly) synonym for convert (but reversed arguments)
1471         </li>
1472 </ul></div>
1473 <p>
1474       <span class="bold"><strong>Additional coordinate types</strong></span>
1475     </p>
1476 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
1477           Basic (limited) support for Boost.Rational
1478         </li></ul></div>
1479 <h4>
1480 <a name="geometry.release_notes.h16"></a>
1481       <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
1482       1.47</a>
1483     </h4>
1484 <p>
1485       Original release
1486     </p>
1487 </div>
1488 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1489 <td align="left"></td>
1490 <td align="right"><div class="copyright-footer">Copyright &#169; 2009-2017 Barend
1491       Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its
1492       affiliates<p>
1493         Distributed under the Boost Software License, Version 1.0. (See accompanying
1494         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>)
1495       </p>
1496 </div></td>
1497 </tr></table>
1498 <hr>
1499 <div class="spirit-nav">
1500 <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>
1501 </div>
1502 </body>
1503 </html>