aboutsummaryrefslogtreecommitdiff
path: root/upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm')
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm1269
1 files changed, 1269 insertions, 0 deletions
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm
new file mode 100644
index 0000000..c05e9b3
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm
@@ -0,0 +1,1269 @@
+<html>
+
+<head>
+
+ <script type="text/javascript" src="../../Scripts/jquery.js">
+ </script>
+
+ <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shCore.js">
+ </script>
+
+ <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shBrushDelphi.js">
+ </script>
+
+ <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shBrushCpp.js">
+ </script>
+
+ <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shBrushCSharp.js">
+ </script>
+
+ <link type="text/css" rel="stylesheet" href="../../Scripts/SyntaxHighlighter/styles/shCoreDefault.css">
+
+ <link type="text/css" rel="stylesheet" href="../../Scripts/SyntaxHighlighter/styles/shThemeDefault.css">
+
+
+ <title>Changes</title>
+
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+
+ <script src="../../Scripts/expandable.js" type="text/javascript">
+ </script>
+
+
+ <style>
+ /* barebones expandable list */
+
+ ul.barebones {
+ margin-left: 30px;
+ padding: 0;
+ }
+
+ ul.barebones ul {
+ margin: 0;
+ padding-left: 1.5em;
+ }
+
+ ul.barebones li {
+ list-style-type: none;
+ position: relative;
+ }
+
+ ul.barebones a.switch {
+ font-size: 2px;
+ text-indent: -500px;
+ background: transparent url(../../Images/_buttons.gif) no-repeat top left;
+ height: 9px;
+ width: 9px;
+ left: -13px;
+ top: 2px;
+ position: absolute;
+ }
+
+ ul.barebones a { text-decoration: none; }
+ ul.barebones a:hover { text-decoration: underline; }
+ ul.barebones a.switch:hover { text-decoration: none; }
+
+ ul.barebones a.on { background-position: top left; }
+ ul.barebones a.off { background-position: bottom left; }
+
+ ul.barebones h2 {
+ margin: 0px;
+ padding: 0px;
+ display: inline;
+ }
+
+ ul.dots li {
+ list-style-type: square;
+ }
+
+ blockquote {
+ margin: 0px 0px 0px 20px;
+ }
+
+
+ </style>
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body style="background-color: rgb(255, 255, 255);">
+
+ <!-- THIS FILE HAS BEEN AUTOMATICALLY PROCESSED FROM A SOURCE COPY -->
+
+ <!-- DO NOT EDIT MANUALLY !!! -->
+
+ <table class="Banner" cellspacing="0" cellpadding="0" border="1" bordercolorlight="#303080" bordercolordark="#7070B0">
+ <tr>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../Images/_Home.gif" align="absmiddle">Home</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="_Body.htm" class="Banner">Overview</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Changes</h1>
+
+ <ul class="barebones expandable">
+
+
+ <!--
+<li>
+ <h2>v6.2.X (XX December 2015)</h2><br>
+ <ul>
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ xxxxxxxxxxxxxxxxxxxxxxxxxxx
+ </ul>
+ </li>
+ </ul>
+</li>
+<li>
+ -->
+
+
+ <li>
+ <h2>v6.2.1 (31 October 2014)</h2><br>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ Bugfix in <strong><a href="../Units/ClipperLib/Classes/ClipperOffset/Methods/Execute.htm">ClipperOffset.Execute</a></strong> where the Polytree.IsHole property was returning incorrect values with negative offsets
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+ Very minor improvement to join rounding in ClipperOffset
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ Fixed CPP OpenGL demo
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v6.2.0 (26 September 2014)</h2><br>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ Numerous minor bugfixes - too many to list. (See revisions 454-475 in Sourceforge Repository.)
+
+ </ul> </li>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+ Parameters have changed in the <a href="../Units/ClipperLib/Types/ZFillCallback.htm"><b>custom callback function</b></a> that can be assigned to <a href="../Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm"><strong>ZFillFunction</strong></a>.
+
+ </ul> </li>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+ Deprecated functions have been removed.
+
+ </ul> </li>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+ The Curves demo has been temporarily removed. (It needs to be updated but that was holding up this latest release of the Clipper library.)
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v6.1.3 (18 January 2014)</h2><br>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ Fixed potential endless loop condition when adding open paths to Clipper.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ Fixed missing implementation of <a href="../Units/ClipperLib/Functions/SimplifyPolygon.htm"><b>SimplifyPolygon</b></a> function in C++ code.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ Fixed incorrect upper range constant for polygon coordinates in Delphi code.
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+ Added <a href="../Units/ClipperLib/Functions/PointInPolygon.htm"><b>PointInPolygon</b></a> function.
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+ Overloaded <a href="../Units/ClipperLib/Functions/MinkowskiSum.htm"><b>MinkowskiSum</b></a> function to accommodate multi-contour paths.
+
+ </ul> </li>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+ Documentation updated.
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v6.1.2 (15 December 2013)</h2><br>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Fixed broken C++ header file.
+
+ </ul> </li>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+Minor improvement to joining polygons.
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v6.1.1 (13 December 2013)</h2><br>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Fixed a couple of bugs affecting open paths that could raise unhandled exceptions.
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v6.1.0 (2 December 2013)</h2><br>
+ <ul>
+
+ <li>
+ <h2>Deleted:</h2>
+ <ul class="dots">Previously deprecated code has been removed.
+ </ul> </li>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPaths</a> function is now deprecated as it has been replaced by the <a href="../Units/ClipperLib/Classes/ClipperOffset/_Body.htm"><b>ClipperOffset</b></a> class which is much more flexible.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Several minor bugs have been fixed including occasionally an incorrect nesting within the PolyTree structure.
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v6.0.0 (30 October 2013)</h2><br>
+ <ul>
+
+ <li><span class="maroon"><b>Ver 6 is a MAJOR update that adds support for open path clipping.</b></span></li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Open path (polyline) clipping. A new 'Curves' demo application showcases this (see the 'Curves' directory).
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Major improvement in the merging of shared/collinear edges in clip solutions (see <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Execute</a>).
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Types/IntPoint.htm"><b>IntPoint</b></a>
+structure now has an optional 'Z' member. (See the precompiler directive
+ <a href="../Units/ClipperLib/PreProcessor/Defines.htm"><b><b>use_xyz</b></b></a>.)
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Users can now force Clipper to use 32bit integers (via the precompiler
+directive <a href="../Units/ClipperLib/PreProcessor/Defines.htm"><b>use_int32</b></a>)
+instead of using 64bit integers. Using 32bit integers improves clipping
+performance by about 20-30%. (This has required the introduction of a
+new <a href="../Units/ClipperLib/Types/CInt.htm"><b>cInt</b></a>
+integer type.) The trade-off to this speed up in performance is a very
+restricted vertex coordinate range of ± 46340.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+To accommodate open paths, the <b>Polygon</b> and <b>Polygons</b> structures have been renamed <a href="../Units/ClipperLib/Types/Path.htm"><b>Path</b></a> and <a href="../Units/ClipperLib/Types/Paths.htm"><b>Paths</b></a>
+respectively. The <b>AddPolygon</b> and <b>AddPolygons</b> methods of the ClipperBase class have been renamed <a href="../Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm"><b>AddPath</b></a> and <a href="../Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm"><b>AddPaths</b></a> respectively. Several other functions have been similarly renamed.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+The PolyNode Class has a new IsOpen property (to support open paths).
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Modified:</h2>
+ <ul class="dots">
+The Clipper class has a new <a href="../Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm"><b>ZFillFunction</b></a>
+property.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+ <a href="../Units/ClipperLib/Functions/MinkowskiSum.htm"><b>MinkowskiSum</b></a> and
+ <a href="../Units/ClipperLib/Functions/MinkowskiDiff.htm"><b>MinkowskiDiff</b></a> functions added.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Several other new functions have been added including <a href="../Units/ClipperLib/Functions/PolyTreeToPaths.htm"><b>PolyTreeToPaths</b></a>,
+ <a href="../Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm"><b>OpenPathsFromPolyTree</b></a>
+and <a href="../Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm"><b>ClosedPathsFromPolyTree</b></a>.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Classes/Clipper/Methods/Constructor.htm">Clipper constructor</a> now accepts an optional <a href="../Units/ClipperLib/Types/InitOptions.htm">InitOptions</a> parameter to simplify setting properties.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Numerous minor bugs have been fixed.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Deprecated:</h2>
+ <ul class="dots">
+Version 6 is a major upgrade from previous versions and <span class="maroon"><b>quite a number of changes have been made to exposed structures and functions</b></span>. To minimize inconvenience to existing library users, some code has been retained and some added
+to maintain backward compatibility. However, because this code will be
+removed in a future update, it has been marked as deprecated and a
+precompiler directive <a href="./Deprecated.htm"><b>use_deprecated</b></a>
+has been defined.
+
+ </ul> </li>
+
+ </ul> </li>
+
+
+ <li>
+ <h2>v5.1.6 (23 May 2013)</h2>
+ <ul>
+
+ <li>
+ <h2>BugFix:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
+function was buggy.
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+New OffsetPolyLines function. (Replaced with OffsetPaths function in
+ver 6.)
+
+ </ul> </li>
+
+ <li>
+ <h2>Changed:</h2>
+ <ul class="dots">
+The behaviour of the 'miter' JoinType has
+been changed so that when squaring occurs, it's no longer extended up
+to the miter limit but is squared off at exactly 'delta' units. (This
+improves the look of mitering with larger limits at acute angles.)
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Minor code refactoring and optimisations.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v5.1.5 (5 May 2013)</h2>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+ForceSimple property added to the Clipper Class. (Renamed
+StrictlySimple in ver 6.)
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Further improvements to this documentation.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Minor code optimisations and trivial bug fixes.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v5.1.4 (24 March 2013)</h2>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+ <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
+function enhanced.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Documentation improved.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v5.1.3 (12 March 2013)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Minor bug fixes.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Documentation significantly improved.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v5.1.2 (26 February 2013)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+PolyNode class was missing a constructor.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+The <i>MiterLimit</i> parameter in the <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>
+function has been renamed <i>Limit</i> and can now also be used to
+limit the number of vertices used to construct arcs when JoinType is
+set to jtRound.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v5.1.0 (17 February 2013)</h2>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+ExPolygons has been replaced with the <a href="../Units/ClipperLib/Classes/PolyTree/_Body.htm">PolyTree</a> / <a href="../Units/ClipperLib/Classes/PolyNode/_Body.htm">PolyNode</a>
+classes to more fully represent the parent-child relationships of the
+polygons returned by Clipper's <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Execute</a>
+method.
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+New <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
+and <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a>
+functions.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Another orientation bug fixed.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v5.0.2 (30 December 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Significant fixes in and tidy of the internal Int128 class (which is
+used only when polygon coordinate values are greater than ±0x3FFFFFFF
+(~1.07e9)).
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Functions/Area.htm">Area</a> function
+has been updated with a faster algorithm.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Documentation updates. The newish but undocumented 'CheckInputs'
+parameter of the <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>
+function has been renamed 'AutoFix' and documented too. The comments on
+ <a href="./Rounding.htm">rounding</a> have also been improved
+(ie clearer and expanded).
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.10.0 (25 December 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Orientation bugs should now be resolved (finally!).
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Bug in Int128 class.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.9.8 (2 December 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Further fixes to rare Orientation bug.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.9.7 (29 November 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Bug that very rarely returned a wrong polygon orientation.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Obscure bug affecting OffsetPolygons when using jtRound for the
+JoinType parameter and when polygons also contain very large coordinate
+values.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.9.6 (9 November 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Another obscure bug related to joining intersections.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.9.4 (2 November 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Bugs in Int128 class occasionally causing wrong orientations.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Further fixes related to joining intersections.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.9.0 (9 October 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Obscure bug related to joining intersections.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.9 (25 September 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Obscure bug related to precision of intersections.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.8 (30 August 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Fixed bug in OffsetPolygons function introduced in version 4.8.5.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.7 (24 August 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+ReversePolygon function in C++ translation was broken.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Two obscure bugs affecting orientation fixed too.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.6 (11 August 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Potential for memory overflow errors when using ExPolygons structure.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+The polygon coordinate range has been reduced to ± 0x3FFFFFFFFFFFFFFF
+(4.6e18).
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+ReversePolygons function was misnamed ReversePoints in C++.
+
+ </ul> </li>
+
+ </ul>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+SimplifyPolygon function now takes a PolyFillType parameter.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.5 (15 July 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Potential for memory overflow errors in <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>().
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.4 (1 June 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Another obscure bug affecting ExPolygons structure.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.3 (27 May 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Obscure bug causing incorrect removal of a vertex.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.2 (21 May 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Obscure bug could cause an exception when using ExPolygon structure.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.1 (12 May 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Code tidy and minor bug fixes.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.8.0 (30 April 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Occasional errors in orientation fixed.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Added notes on <a href="Rounding.htm">rounding</a> to the
+documentation.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.7.6 (11 April 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Fixed a bug in the <a href="../Units/ClipperLib/Functions/Orientation.htm">Orientation</a>
+function (affecting C# translations only).
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Minor documentation update.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.7.5 (28 March 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Fixed a recently introduced bug that occasionally caused an unhandled
+exception in C++ and C# translations.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.7.1 (3 March 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Rare crash when JoinCommonEdges joined polygons that 'cancelled' each
+other.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Clipper's internal Orientation method occasionally returned wrong
+result.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Improved C# code (thanks to numerous suggestions from David Piepgrass)
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.7 (10 February 2012)</h2>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Improved the joining of output polygons sharing a common edge.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.6.4 (8 December 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Added <a href="../Units/ClipperLib/Functions/SimplifyPolygon.htm">SimplifyPolygon</a>
+and <a href="../Units/ClipperLib/Functions/SimplifyPolygons.htm">SimplifyPolygons</a>
+functions.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.6 (29 October 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Support for <b>Positive</b> and <b>Negative</b> <a href="../Units/ClipperLib/Types/PolyFillType.htm">polygon fill types </a>(in addition to the EvenOdd and NonZero fill types).
+
+ </ul> </li>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>
+function was generating the occasional artefact when 'shrinking'
+polygons.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.5.5 (6 October 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>Bugfix:</h2>
+ <ul class="dots">
+Fixed an obscure bug in Clipper's JoinCommonEdges method.
+
+ </ul> </li>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Replaced IsClockwise function with <a href="../Units/ClipperLib/Functions/Orientation.htm">Orientation</a>
+function. The orientation issues affecting OffsetPolygons should
+finally be resolved.
+
+ </ul> </li>
+
+ <li>
+ <h2>Change:</h2>
+ <ul class="dots">
+The <a href="../Units/ClipperLib/Functions/Area.htm">Area</a> function
+once again returns the <em>signed</em> area.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.4.0 (6 August 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>BugFix:</h2>
+ <ul class="dots">
+A number of minor bugfixes that mostly affected the new ExPolygons
+structure.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.3.0 (17 June 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+ExPolygons structure that explicitly associates 'hole' polygons with
+their 'outer' container polygons.
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+ <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Execute</a>
+method now overloaded so the solution parameter can be either <a href="../Units/ClipperLib/Types/Paths.htm">Polygons</a> or
+ExPolygons.
+
+ </ul> </li>
+
+ <li>
+ <h2>Bug fix:</h2>
+ <ul class="dots">
+Fixed a rare bug in the orientation of solution polygons.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.2.4 (26 April 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>Update:</h2>
+ <ul class="dots">
+Input polygon coordinates can now contain the full range of signed
+64bit integers (ie +/-9,223,372,036,854,775,807). This means that
+floating point values can be converted to and from Clipper's 64bit
+vertex structure (<a href="../Units/ClipperLib/Types/IntPoint.htm">IntPoint</a>)
+and still retain a precision of up to 18 decimal places. However, since
+the large-integer math that supports this expanded range imposes a
+small cost on performance (~15%), a new property UseFullCoordinateRange
+has been added to the Clipper class to allow users the choice of
+whether or not to use this expanded coordinate range. If this property
+is disabled, coordinate values are restricted to +/-1,500,000,000. (By
+default, this property is enabled.)
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v4.0 (4 April 2011)</h2>
+ <ul>
+
+ <li>
+ <h2>Major update:</h2>
+ <ul class="dots">
+Clipper is a major rewrite of earlier versions. The biggest change is
+that floating point values are no longer used, except for the storing
+of edge slope values. The main benefit of this is the issue of
+numerical robustness has been addressed. Due to other major code
+improvements Clipper v4 is approximately 40% faster than Clipper v3.
+
+ </ul> </li>
+
+ <li>
+ <h2>Changes:</h2>
+ <ul class="dots">
+The AddPolyPolygon method has been renamed to AddPolygons, and the
+IgnoreOrientation property has been removed. The clipper_misc library
+has been merged back into the clipper library.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v2.8 (20 November 2010)</h2>
+ <ul>
+
+ <li>
+ <h2>Updated:</h2>
+ <ul class="dots">
+Output polygons which previously shared a common edge are now merged.
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Added support module for Cairo Graphics Library (with accompanying
+demo).
+
+ </ul> </li>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Added C# and C++ demos.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v2.522 (15 October 2010)</h2>
+ <ul>
+
+ <li>
+ <h2>Added:</h2>
+ <ul class="dots">
+Added C# translation (thanks to Olivier Lejeune) and a link to Ruby
+bindings (thanks to Mike Owens).
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v2.0 (31 July 2010)</h2>
+ <ul>
+
+ <li>
+ <h2>Major update:</h2>
+ <ul class="dots">
+Clipper now processes polygons using both the Even-Odd (alternate) and
+Non-Zero (winding) filling rules.
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v1.4c (16 June 2010)</h2>
+ <ul>
+
+ <li>
+ <h2>Additions:</h2>
+ <ul class="dots">
+Added Delphi and C++ units to support the AGG graphics library
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v1.2s (2 June 2010)</h2>
+ <ul>
+
+ <li>
+ <h2>Additions:</h2>
+ <ul class="dots">
+C++ translation of Delphi code
+
+ </ul> </li>
+
+ </ul> </li>
+
+ <li>
+ <h2>v1.0 (9 May 2010) - Initial public release</h2> </li>
+
+
+ </ul>
+
+<img src="../../Images/_buttons.gif" height="1" width="1">
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="Deprecated.htm">Deprecated</a>, <a href="Rounding.htm">Rounding</a>, <a href="../Units/ClipperLib/Classes/Clipper/Methods/Constructor.htm">Clipper.Constructor</a>, <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="../Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm">Clipper.ZFillFunction</a>, <a href="../Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm">ClipperBase.AddPath</a>, <a href="../Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm">ClipperBase.AddPaths</a>, <a href="../Units/ClipperLib/Classes/ClipperOffset/_Body.htm">ClipperOffset</a>, <a href="../Units/ClipperLib/Classes/ClipperOffset/Methods/Execute.htm">ClipperOffset.Execute</a>, <a href="../Units/ClipperLib/Classes/PolyNode/_Body.htm">PolyNode</a>, <a href="../Units/ClipperLib/Classes/PolyTree/_Body.htm">PolyTree</a>, <a href="../Units/ClipperLib/Functions/Area.htm">Area</a>, <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>, <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a>, <a href="../Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm">ClosedPathsFromPolyTree</a>, <a href="../Units/ClipperLib/Functions/MinkowskiDiff.htm">MinkowskiDiff</a>, <a href="../Units/ClipperLib/Functions/MinkowskiSum.htm">MinkowskiSum</a>, <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPaths</a>, <a href="../Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm">OpenPathsFromPolyTree</a>, <a href="../Units/ClipperLib/Functions/Orientation.htm">Orientation</a>, <a href="../Units/ClipperLib/Functions/PointInPolygon.htm">PointInPolygon</a>, <a href="../Units/ClipperLib/Functions/PolyTreeToPaths.htm">PolyTreeToPaths</a>, <a href="../Units/ClipperLib/Functions/SimplifyPolygon.htm">SimplifyPolygon</a>, <a href="../Units/ClipperLib/Functions/SimplifyPolygons.htm">SimplifyPolygons</a>, <a href="../Units/ClipperLib/PreProcessor/Defines.htm">Defines</a>, <a href="../Units/ClipperLib/Types/CInt.htm">CInt</a>, <a href="../Units/ClipperLib/Types/InitOptions.htm">InitOptions</a>, <a href="../Units/ClipperLib/Types/IntPoint.htm">IntPoint</a>, <a href="../Units/ClipperLib/Types/Path.htm">Path</a>, <a href="../Units/ClipperLib/Types/Paths.htm">Paths</a>, <a href="../Units/ClipperLib/Types/PolyFillType.htm">PolyFillType</a>, <a href="../Units/ClipperLib/Types/ZFillCallback.htm">ZFillCallback</a></p>
+
+ <p class="Copyright" id="auto"> <br><br> Copyright &copy;2010-2014 Angus Johnson&nbsp; - &nbsp; Clipper 6.2.1 &nbsp; - &nbsp; Help file built on 1-November-2014 <br><br> </p>
+
+</body>
+
+</html> \ No newline at end of file