blob: 5b82ec10a91a054c084fe75061c56cef5122ef0e [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Release Notes</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Geometry">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Geometry">
<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">
<link rel="next" href="aboutdoc.html" title="About this Documentation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<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>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="geometry.release_notes"></a><a class="link" href="release_notes.html" title="Release Notes">Release Notes</a>
</h2></div></div></div>
<h4>
<a name="geometry.release_notes.h0"></a>
<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
1.58</a>
</h4>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
New algorithm num_segments, returning the number of segments of a geometry
</li>
<li class="listitem">
New overload for is_valid algorithm, that takes a string reference as a
second argument and fills it with a message related to the validity or
invalidity of the geometry
</li>
<li class="listitem">
New overload for is_valid algorithm, that takes an enum reference as a
second argument and fills it with a value related to the validity or invalidity
of the geometry
</li>
<li class="listitem">
Disjoint and intersects support the following geometry combinations: point/multipoint,
multipoint/multipoint, multipoint/segment, multipoint/box
</li>
</ul></div>
<p>
<span class="bold"><strong>Improvements</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Buffer now supports flat-ends for linestrings with a bend close to the
start (such that buffered segment crosses flat-end).
</li>
<li class="listitem">
Buffer performance is improved significantly
</li>
<li class="listitem">
Partition performance is improved significantly for polygons, potentially
enhancing all overlay operations
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8379" target="_top">8379</a>
Invalid comparison of the result of determinant
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10108" target="_top">10108</a>
Error in overlay operations in specific cases where geometries touch at
one point
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10201" target="_top">10201</a>
Suggestion to use different function to compare coordinates [wontfix]
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10467" target="_top">10467</a>
Template parameter name coliding with B0 macro name defined in termios.h
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10640" target="_top">10640</a>
Invalid result of buffer() for CCW Polygons.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10666" target="_top">10666</a>
MSVC compiler warning C4127: conditional expression is constant
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10747" target="_top">10747</a>
Error in rescaling causing errors in areal/areal set operations
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10770" target="_top">10770</a>
Buffer fails for large distances, or rough round joins, where concavities
where not intersected properly
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10658" target="_top">10658</a>
sym_difference yields bad result for int polygons
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10835" target="_top">10835</a>
Difference of multilinestring and polygon yields wrong result
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10861" target="_top">10861</a>
Rtree failing to compile for Value being a pair or a tuple containing pointer
to Geometry and the default equal_to&lt;&gt; used
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10863" target="_top">10863</a>
Template parameter name coliding with B0 macro name defined in termios.h
(duplicate of 10467)
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10887" target="_top">10887</a>
Invalid result of within() and relate() for Linear/MultiPolygon
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10890" target="_top">10890</a>
Invalid result of disjoint() for Point/Segment.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10904" target="_top">10904</a>
Invalid calculation of most significant Dimension of a segment in relate_cartesian_segments
strategy
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10912" target="_top">10912</a>
Invalid result of within() and relate() for Areal/Areal
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10951" target="_top">10951</a>
Tests failing on windows with intel compiler due to lack of /bigobj flag.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10957" target="_top">10957</a>
Assertion failure and invalid results of various relational operations.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10958" target="_top">10958</a>
Invalid results of disjoint() L/L and L/A.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10959" target="_top">10959</a>
Assertion failure in get_turns() used with no_rescale_policy.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10960" target="_top">10960</a>
Invalid result of get_turns() for L/A, missing turn.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10961" target="_top">10961</a>
Invalid result of get_turns() for L/A, invalid turn for a Linear spike.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/11112" target="_top">11112</a>
Compilation failure on Solaris due to a CS name clash (used for a macro
on this platform)
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/11121" target="_top">11121</a>
Invalid result of difference() for integral coordinates
</li>
</ul></div>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Bug in multipoint/polygon multipoint/multipolygon distance computation
(wrong detection of points inside the areal geometry)
</li>
<li class="listitem">
Bug in flatten_iterator's assignment operator causing an access violation
</li>
<li class="listitem">
Bug in Cartesian segment-segment intersection strategy when one segment
degenerates to a point and is collinear to the other non-degenerate segment
</li>
<li class="listitem">
Bug in centroid(), non-deterministic result if calculated for e.g. a Polygon
with zero-area.
</li>
<li class="listitem">
Bug in buffers for joins with a limited number of points
</li>
<li class="listitem">
Bug in buffers for round joins with limited number of points around sharp
corners
</li>
<li class="listitem">
Bug in buffers for joins with large buffer distances
</li>
<li class="listitem">
Bug in buffers for round ends with an odd number of points
</li>
<li class="listitem">
Bug in buffers for flat ends with large buffer distances
</li>
<li class="listitem">
Bug in buffers for interior rings with large negative buffer distances
</li>
<li class="listitem">
Bug in closing_iterator not working properly when the input range is empty
</li>
<li class="listitem">
Bug in is_simple, not handling properly closed simple linestrings within
multilinestrings
</li>
<li class="listitem">
Bug in rtree constructors taking a pair of Iterators or a Range (packing
algorithm), the use of reference to destroyed temporary when Iterator's
reference is not true reference, e.g. for some of the Range Adaptors. It
also affects distance() and comparable_distance(). This bug may cause unexpected
behavior of the rtree or distance() algorithm, e.g. an assertion failure
or a SEGFAULT.
</li>
<li class="listitem">
Bug in rtree count() member function, the use of reference to destroyed
temporary when object of type convertible but not the same as value_type
or indexable_type is passed. If this happens, wrong result may be returned,
in most cases 0.
</li>
<li class="listitem">
Bugs related to the handling of Ranges, preventing compilation of Geometries
using non-Container Ranges in some algorithms (thanks to Samuel Debionne)
</li>
</ul></div>
<h4>
<a name="geometry.release_notes.h1"></a>
<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
1.57</a>
</h4>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<p>
<span class="bold"><strong>Improvements</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
The support of parameters convertible to value_type in rtree insert(),
remove() and count() functions
</li>
<li class="listitem">
Support for counterclockwise input/output in algorithm buffer
</li>
<li class="listitem">
Support for open-geometry input in algorithm buffer (open output not yet
supported)
</li>
<li class="listitem">
Support for degenerate input (point-like linestrings, polygons) in algorithm
buffer
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6443" target="_top">6443</a>
Wrong degenerated hulls returned by convex_hull().
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8402" target="_top">8402</a>
Implicit conversion warnings
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9354" target="_top">9354</a>
Bug in winding strategy affecting within() and covered_by() for non-cartesian
coordinate systems
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10177" target="_top">10177</a>
Missing include
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10345" target="_top">10345</a>
Distance fails to compile for some coordinate types
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10398" target="_top">10398</a>
Wrong neighbour check in buffer, calculating turns
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10421" target="_top">10421</a>
Invalid Point-Box distance for spherical CS
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10562" target="_top">10562</a>
Invalid number of Points in the result of convex_hull() for open output
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10615" target="_top">10615</a>
Rtree constructor feature request
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10643" target="_top">10643</a>
Invalid point_on_surface() result for big coordinates
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10647" target="_top">10647</a>
Invalid result of disjoint() in some cases when polygon is inside inner
ring of other polygon
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10668" target="_top">10668</a>
Implicit conversion warnings (duplicated 8402)
</li>
</ul></div>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Several fixes of bugs in algorithm buffer
</li>
<li class="listitem">
Bug in point_on_surface() for CCW Polygons (extreme_points()) and numerical
issue (thanks to Matt Amos)
</li>
<li class="listitem">
Bug in disjoint() for A/A fixed by replacement of point_on_surface() with
point_on_border() (thanks to Matt Amos)
</li>
<li class="listitem">
The result of convex_hull(), duplicated Point in open output, too small
number of Points for 1- and 2-Point input
</li>
<li class="listitem">
Imprecision for big coordinates in centroid(), fixed by Points translation
(related with ticket 10643)
</li>
<li class="listitem">
for_each_segment() not taking into account the last segment of open Geometry
</li>
</ul></div>
<h4>
<a name="geometry.release_notes.h2"></a>
<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
1.56</a>
</h4>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
New algorithm buffer for inflating/deflating geometries (buffer itself
already existed but that was only to enlarge a box)
</li>
<li class="listitem">
New algorithm remove_spikes, algorithm to remove spikes from a ring, polygon
or multi_polygon
</li>
<li class="listitem">
New algorithm point_on_surface, generating a point lying on the surface
(interior) of the polygon
</li>
<li class="listitem">
New algorithm is_simple, returning true if a geometry is simple according
to the OGC standard
</li>
<li class="listitem">
New algorithm is_valid, returning true if a geometry is valid according
to the OGC standard
</li>
<li class="listitem">
New algorithm crosses for checking this spatial relation according to the
OGC standard
</li>
<li class="listitem">
The set operation algorithms (difference, intersection, sym_difference
and union_) now support as input pairs of pointlike or linear geometries
</li>
<li class="listitem">
The distance and comparable_distance algorithms now support all pairs of
geometry combinations
</li>
<li class="listitem">
The spatial relations which didn't support it (covered_by, touches, within,
etc.) now support as input linear and/or areal geometries
</li>
<li class="listitem">
The support for boost::variants as input geometries in various algorithms
</li>
<li class="listitem">
The rtree support for indexing segments
</li>
<li class="listitem">
The rtree nearest() predicate support for arbitrary geometries
</li>
</ul></div>
<p>
<span class="bold"><strong>Improvements</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
The rtree pack-creation algorithm optimization (thanks to Lu Wang)
</li></ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8310" target="_top">8310</a>
Wrong results with overlapping polygons (fixed using point_on_surface for
disjoint)
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8375" target="_top">8375</a>
sym_difference of non-closed polygons returns closed polygon
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8376" target="_top">8376</a>
difference of non-closed polygons returns closed polygon
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9081" target="_top">9081</a>
Booleans create self-intersecting polygons from non-self-intersecting polygons
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9245" target="_top">9245</a>
Check for process errors in make_qbk.py
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9563" target="_top">9563</a>
(Sym)difference not successful, fixed by rescaling to robust type
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9628" target="_top">9628</a>
Wrong result of within() due to the winding strategy not working correctly
for nearly-horizontal segments
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9828" target="_top">9828</a>
boost::geometry::union_(...) creates redundant closing point
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9871" target="_top">9871</a>
Remove spike in polygon with only a spike
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9941" target="_top">9941</a>
Add support for touches(box, box)
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9947" target="_top">9947</a>
Missing info about WKT in documentation
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9759" target="_top">9759</a>
Invalid results of R-tree knn queries for non-cartesian coordinate systems
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10019" target="_top">10019</a>
Difference of Linestring and Box returns their intersection
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10077" target="_top">10077</a>
Wrong types in concept checks in boost/geometry/arithmetic/arithmetic.hpp
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/10234" target="_top">10234</a>
Wrong results of covered_by() for nearly-horizontal segments
</li>
</ul></div>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
intersects(polygon) could return a self-intersection-point for its closing
point, fixed
</li>
<li class="listitem">
equals() could return invalid results for non-simple linear geometries
according to the OGC standard, fixed
</li>
<li class="listitem">
touches() didn't work properly for CCW areal geomtries, fixed
</li>
<li class="listitem">
rtree nearest queries returned wrong elements for non-cartesian coordinate
systems, fixed
</li>
<li class="listitem">
rtree crashed in some cases when used with Interprocess allocator, fixed
</li>
</ul></div>
<h4>
<a name="geometry.release_notes.h3"></a>
<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
1.55</a>
</h4>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Added centroid for segment type
</li>
<li class="listitem">
Added intersects() and disjoints() for Segment-Box and Linestring-Box
</li>
<li class="listitem">
Added rtree creation using packing algorithm
</li>
<li class="listitem">
Added contains() and covers() spatial query predicates
</li>
<li class="listitem">
Added iterative queries
</li>
</ul></div>
<p>
<span class="bold"><strong>Documentation</strong></span>
</p>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
In some cases .back() or .clear() was called, violating the usage of Concepts.
Fixed for the reported cases
</li>
<li class="listitem">
Use consistent side information in cart_intersect and get_turn_info and
handle_tangencies and enrich_intersection_info. This is done by switching
to integer (if necessary) for the specific 6 points only, zooming in on
the 4 or 3 segments
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6958" target="_top">6958</a>
Intersection generates self-intersection. Caused by spike, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8364" target="_top">8364</a>
Invalid input exception, caused by spikes in previous steps, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8365" target="_top">8365</a>
Invalid input exception, caused by spikes in previous steps, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8969" target="_top">8969</a>
boost::geometry::model::point single argument constructor should be explicit
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8825" target="_top">8825</a>
Patch adding member variable documentation to doxygen_xml2qbk
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8652" target="_top">8652</a>
Intersection fails for triangle-triangle intersection. Caused by spike,
fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/9047" target="_top">9047</a>
Boost files that include themselves (strategies/intersection.hpp), fixed
</li>
</ul></div>
<p>
<span class="bold"><strong>Internal changes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Adapted projected_point&lt;&gt; distance strategy, point-type in template
is replaced by calculation-type
</li>
<li class="listitem">
Adapted transform strategies, they have points now as member-template,
and calculation-type as template. Similar to what was done for projected_point
distance
</li>
<li class="listitem">
Spikes (could be generated in difference) in integer-based overlays are
now avoided during generation
</li>
<li class="listitem">
Cleanup, removed old MSVC2005 project files
</li>
<li class="listitem">
R*-tree balancing algorithm optimized
</li>
</ul></div>
<h4>
<a name="geometry.release_notes.h4"></a>
<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
1.54</a>
</h4>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
added Spatial Index, developed for Boost.Geometry by Adam Wulkiewicz. The
spatial index was originally started by Federico J. Fernandez during the
Google Summer of Code 2008 program, mentored by Hartmut Kaiser.
</li>
<li class="listitem">
added SVG-output, this was already in extensions for several years
</li>
</ul></div>
<p>
<span class="bold"><strong>Documentation</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
small fixes of missing words
</li>
<li class="listitem">
fixes in doc of template parameters (convex_hull, exterior_ring, return_buffer)
</li>
</ul></div>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
collinear opposite segments did sometimes (in circles) have a robustness
issue, fixed
</li>
<li class="listitem">
fixed insertion of false intersection point (found by buffer)
</li>
<li class="listitem">
applied patch of Vladimir Petrovic for debugging traversals
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/7462" target="_top">7462</a>
degenerate union result for float, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/7465" target="_top">7465</a>
wrong construtors access type in scale_transformer class, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/7802" target="_top">7802</a>
cart_intersect.hpp unused parameter warnings, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8254" target="_top">8254</a>
faulty intersection, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8393" target="_top">8393</a>
polygon model doesn't adhere to stated Polygon concept rules, doc updated.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8403" target="_top">8403</a>
silenced compiler warning C4127: conditional expression is constant
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/8405" target="_top">8405</a>
silenced compiler warning C4189: '...' : local variable is initialized
but not referenced
</li>
</ul></div>
<p>
<span class="bold"><strong>Internal changes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Made several algorithms variant-aware (append, area, clear, convert, equals,
length, num_points)
</li></ul></div>
<h4>
<a name="geometry.release_notes.h5"></a>
<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
1.53</a>
</h4>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
avoid generating output polygons with interior rings below minimum size
(e.g. one or two points)
</li>
<li class="listitem">
<code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code> for degenerate segments (patched
by Karsten Ahnert)
</li>
<li class="listitem">
problem in <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">difference</span></code> for missing handling tangency,
reported by H2
</li>
<li class="listitem">
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
</li>
<li class="listitem">
fixed <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">comparable_distance</span></code> point-linestring
(and -range, -polygon)
</li>
</ul></div>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code>:
point/ring, point/polygon, point/multi_polygon
</li>
<li class="listitem">
combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersects</span></code>:
point/ring, point/polygon, point/multi_polygon
</li>
</ul></div>
<p>
<span class="bold"><strong>Internal changes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
updates in specializations/not_implemented for various algorithms (as in
an earlier version, these changes are still going on; they take care for
simplified structs, better error reporting, and automatized documentation)
</li>
<li class="listitem">
fixes in unit tests
</li>
</ul></div>
<h4>
<a name="geometry.release_notes.h6"></a>
<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
1.51</a>
</h4>
<p>
<span class="bold"><strong>Breaking changes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
points accessed through a pointer (e.g. in a linestring) should now be
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>
<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
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>
<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>
</li></ul></div>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
intersection was sometimes wrong for integer points, fixed
</li>
<li class="listitem">
documentation, order of parameters in simplify was wrong, fixed
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/7030" target="_top">7030</a>
spherical distance, fixed (by patch of Karsten Ahnert)
</li></ul></div>
<h4>
<a name="geometry.release_notes.h7"></a>
<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
1.50</a>
</h4>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
the return type of comparable projected point strategy for integer points
was wrong (integer), fixed
</li>
<li class="listitem">
several robustness issues in intersection of segments and polygons, fixed
</li>
<li class="listitem">
invalid intersection output is filtered out
</li>
<li class="listitem">
disjoint for multi_polygon's might incorrectly return true, fixed
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6585" target="_top">6585</a>
patch for alternative syntax multipoint, applied
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6584" target="_top">6584</a>
patch for bug in distance, applied
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/5730" target="_top">5730</a>
same issue as 6584, fixed
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6166" target="_top">6166</a>
patch for missing transformation, applied
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6696" target="_top">6696</a>
invalid intersection output, was (by chance) already fixed in Trunk before
reported
</li>
</ul></div>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
added algorithm "touches" (OGC SF compliant) for *polygon/*polygon
</li></ul></div>
<h4>
<a name="geometry.release_notes.h8"></a>
<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
1.49</a>
</h4>
<p>
<span class="bold"><strong>Breaking changes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
point_xy was accidentally included in one of the headerfiles. If the point_xy
class is used, it should be included explicitly now.
</li></ul></div>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
bugfix: distance for multi-geometries ignored specified distance strategy.
Fixed
</li>
<li class="listitem">
bugfix: difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list)
</li>
<li class="listitem">
bugfix: raise exception for calculation of distances of multi-geometrie(s)
where one of them is empty
</li>
<li class="listitem">
bugfix: multi DSV did not correctly use settings, fixed
</li>
<li class="listitem">
bugfix: self-intersections could sometimes be missed (introduced in 1.48),
fixed
</li>
<li class="listitem">
bugfix: convex hull crashed on empty range (e.g. empty multi point), fixed
</li>
<li class="listitem">
bugfix: area/centroid/side/intersection/distance did not work for "int"
type filled with large (but not overflowing) integers. Fixed.
</li>
<li class="listitem">
bugfix: disjoint/intersect did not work for degenerate linestrings. Fixed.
</li>
<li class="listitem">
bugfix: covered_by did not compile for a ring. Fixed.
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6019" target="_top">6019</a>
convex_hull / area, fixed.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6021" target="_top">6021</a>
convex_hull / append (multipoint), fixed.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6028" target="_top">6028</a>
Documentation: closure, fixed.
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/6178" target="_top">6178</a>
Missing headerfile, fixed.
</li>
</ul></div>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
support for line/polygon intersections and differences
</li>
<li class="listitem">
support for convert of segment/box of different point types
</li>
<li class="listitem">
support for append for multi point
</li>
<li class="listitem">
the scalar function distance now throws an empty_input_exception on empty
input
</li>
</ul></div>
<p>
<span class="bold"><strong>Documentation</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
updated support status in several algorithms
</li>
<li class="listitem">
updated conformance to OGC or std
</li>
<li class="listitem">
other updates and fixes
</li>
</ul></div>
<p>
<span class="bold"><strong>Internal changes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
updates in specializations/not_implemented for distance/convert/assign/area/with/covered_by
</li>
<li class="listitem">
move of wkt/dsv to io folder, making domains redundant
</li>
<li class="listitem">
warnings: strategy concepts assigned to zero to avoid clang warnings (patched
by Vishnu)
</li>
<li class="listitem">
warnings: there were several unused parameters, for which gcc/clang warned
(patched by Christophe)
</li>
</ul></div>
<h4>
<a name="geometry.release_notes.h9"></a>
<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
1.48</a>
</h4>
<p>
<span class="bold"><strong>Bugfixes</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Robustness issue, in some circumstances the union failed to output. Fixed.
</li>
<li class="listitem">
Robustness issue, in some circumstances the calculated intersection point
was outside the segment. Fixed.
</li>
<li class="listitem">
Concept issue, cartesian intersect didn't understand segments other than
the provided one. Fixed.
</li>
<li class="listitem">
Sometimes self-intersections in linestrings were missed. Fixed.
</li>
<li class="listitem">
The fusion coordinate system was not registered correctly. Fixed.
</li>
</ul></div>
<p>
<span class="bold"><strong>Solved tickets</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/5726" target="_top">5726</a>
Segment intersection algorithm still assumes 'first', 'second' members
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/5744" target="_top">5744</a>
Mistake in fusion adapt example
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/5748" target="_top">5748</a>
Needed to include &lt;boost/foreach.hpp&gt;
</li>
<li class="listitem">
<a href="https://svn.boost.org/trac/boost/ticket/5954" target="_top">5954</a>
distance_pythagoras skips sqrt() step
</li>
</ul></div>
<p>
<span class="bold"><strong>Improvements on algorithms</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Checking self-intersections is now not done automatically, this can blast
performance.
</li>
<li class="listitem">
Besides that, checking self-intersections is made faster.
</li>
<li class="listitem">
Intersections now avoid outputting duplicate points. So they output the
minimal set.
</li>
</ul></div>
<p>
<span class="bold"><strong>Additional algorithms</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
covered_by: within is defined as "within, not on boundary". covered_by
is "within or on boundary"
</li></ul></div>
<p>
<span class="bold"><strong>Additional functionality</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
within: strategies can now be specified for within&lt;point, box&gt; and
within&lt;box, box&gt;
</li>
<li class="listitem">
convert: a much broader range of conversions is supported
</li>
<li class="listitem">
assign: idem, (currently partly) synonym for convert (but reversed arguments)
</li>
</ul></div>
<p>
<span class="bold"><strong>Additional coordinate types</strong></span>
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Basic (limited) support for Boost.Rational
</li></ul></div>
<h4>
<a name="geometry.release_notes.h10"></a>
<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
1.47</a>
</h4>
<p>
Original release
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2009-2015 Barend Gehrels, Bruno Lalande,
Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its affiliates<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
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>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<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>
</div>
</body>
</html>