<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>