1<html>
2
3<head>
4
5  <script type="text/javascript" src="../../Scripts/jquery.js">
6  </script>
7
8  <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shCore.js">
9  </script>
10
11  <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shBrushDelphi.js">
12  </script>
13
14  <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shBrushCpp.js">
15  </script>
16
17  <script type="text/javascript" src="../../Scripts/SyntaxHighlighter/scripts/shBrushCSharp.js">
18  </script>
19
20  <link type="text/css" rel="stylesheet" href="../../Scripts/SyntaxHighlighter/styles/shCoreDefault.css">
21
22  <link type="text/css" rel="stylesheet" href="../../Scripts/SyntaxHighlighter/styles/shThemeDefault.css">
23
24
25  <title>Changes</title>
26
27
28  <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
29
30
31  <script src="../../Scripts/expandable.js" type="text/javascript">
32  </script>
33
34
35  <style>
36    /* barebones expandable list */
37
38    ul.barebones {
39        margin-left: 30px;
40        padding: 0;
41    }
42
43    ul.barebones ul {
44        margin: 0;
45        padding-left: 1.5em;
46    }
47
48    ul.barebones li {
49        list-style-type: none;
50        position: relative;
51    }
52
53    ul.barebones a.switch {
54    	font-size: 2px;
55    	text-indent: -500px;
56    	background: transparent url(../../Images/_buttons.gif) no-repeat top left;
57    	height: 9px;
58    	width: 9px;
59        left: -13px;
60    	top: 2px;
61        position: absolute;
62    }
63
64    ul.barebones a { text-decoration: none; }
65    ul.barebones a:hover { text-decoration: underline; }
66    ul.barebones a.switch:hover { text-decoration: none; }
67
68    ul.barebones a.on { background-position: top left; }
69    ul.barebones a.off { background-position: bottom left; }
70
71    ul.barebones h2 {
72    	margin: 0px;
73    	padding: 0px;
74    	display: inline;
75    }
76
77    ul.dots li {
78    	list-style-type: square;
79    }
80
81    blockquote {
82    	margin: 0px 0px 0px 20px;
83    }
84
85
86  </style>
87
88
89  <script type="text/javascript" src="../../Scripts/bootstrap.js">
90  </script>
91
92
93  <script type="text/javascript" src="../../Scripts/bootstrap.js">
94  </script>
95
96</head>
97
98<body style="background-color: rgb(255, 255, 255);">
99
100  <!-- THIS FILE HAS BEEN AUTOMATICALLY PROCESSED FROM A SOURCE COPY -->
101
102  <!-- DO NOT EDIT MANUALLY !!! -->
103
104  <table class="Banner" cellspacing="0" cellpadding="0" border="1" bordercolorlight="#303080" bordercolordark="#7070B0">
105    <tr>
106      <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../Images/_Home.gif" align="absmiddle">Home</a>
107      </td>
108      <td class="Banner" nowrap=""><a href="_Body.htm" class="Banner">Overview</a>
109      </td>
110      <td class="Banner" width="100%" align="right"><img src="../../Images/_Project_Logo.gif" align="absmiddle">
111      </td>
112    </tr>
113  </table>
114  <h1>Changes</h1>
115
116  <ul class="barebones expandable">
117
118
119    <!--
120<li>
121  <h2>v6.2.X (XX December 2015)</h2><br>
122  <ul>
123    <li>
124      <h2>Bugfix:</h2>
125      <ul class="dots">
126      xxxxxxxxxxxxxxxxxxxxxxxxxxx
127      </ul>
128    </li>
129  </ul>
130</li>
131<li>
132 -->
133
134
135    <li>
136      <h2>v6.2.1 (31 October 2014)</h2><br>
137      <ul>
138
139        <li>
140          <h2>Bugfix:</h2>
141          <ul class="dots">
142      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
143
144          </ul> </li>
145
146      </ul>
147      <ul>
148
149        <li>
150          <h2>Modified:</h2>
151          <ul class="dots">
152      Very minor improvement to join rounding in ClipperOffset
153
154          </ul> </li>
155
156      </ul>
157      <ul>
158
159        <li>
160          <h2>Bugfix:</h2>
161          <ul class="dots">
162      Fixed CPP OpenGL demo
163
164          </ul> </li>
165
166      </ul> </li>
167
168
169    <li>
170      <h2>v6.2.0 (26 September 2014)</h2><br>
171      <ul>
172
173        <li>
174          <h2>Bugfix:</h2>
175          <ul class="dots">
176        Numerous minor bugfixes - too many to list. (See revisions 454-475 in Sourceforge Repository.)
177
178          </ul> </li>
179
180        <li>
181          <h2>Modified:</h2>
182          <ul class="dots">
183        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>.
184
185          </ul> </li>
186
187        <li>
188          <h2>Modified:</h2>
189          <ul class="dots">
190        Deprecated functions have been removed.
191
192          </ul> </li>
193
194        <li>
195          <h2>Modified:</h2>
196          <ul class="dots">
197        The Curves demo has been temporarily removed. (It needs to be updated but that was holding up this latest release of the Clipper library.)
198
199          </ul> </li>
200
201      </ul> </li>
202
203
204    <li>
205      <h2>v6.1.3 (18 January 2014)</h2><br>
206      <ul>
207
208        <li>
209          <h2>Bugfix:</h2>
210          <ul class="dots">
211        Fixed potential endless loop condition when adding open paths to Clipper.
212
213          </ul> </li>
214
215        <li>
216          <h2>Bugfix:</h2>
217          <ul class="dots">
218        Fixed missing implementation of <a href="../Units/ClipperLib/Functions/SimplifyPolygon.htm"><b>SimplifyPolygon</b></a> function in C++ code.
219
220          </ul> </li>
221
222        <li>
223          <h2>Bugfix:</h2>
224          <ul class="dots">
225        Fixed incorrect upper range constant for polygon coordinates in Delphi code.
226
227          </ul> </li>
228
229        <li>
230          <h2>Added:</h2>
231          <ul class="dots">
232        Added <a href="../Units/ClipperLib/Functions/PointInPolygon.htm"><b>PointInPolygon</b></a> function.
233
234          </ul> </li>
235
236        <li>
237          <h2>Added:</h2>
238          <ul class="dots">
239        Overloaded <a href="../Units/ClipperLib/Functions/MinkowskiSum.htm"><b>MinkowskiSum</b></a> function to accommodate multi-contour paths.
240
241          </ul> </li>
242
243        <li>
244          <h2>Modified:</h2>
245          <ul class="dots">
246        Documentation updated.
247
248          </ul> </li>
249
250      </ul> </li>
251
252
253    <li>
254      <h2>v6.1.2 (15 December 2013)</h2><br>
255      <ul>
256
257        <li>
258          <h2>Bugfix:</h2>
259          <ul class="dots">
260Fixed broken C++ header file.
261
262          </ul> </li>
263
264        <li>
265          <h2>Modified:</h2>
266          <ul class="dots">
267Minor improvement to joining polygons.
268
269          </ul> </li>
270
271      </ul> </li>
272
273
274    <li>
275      <h2>v6.1.1 (13 December 2013)</h2><br>
276      <ul>
277
278        <li>
279          <h2>Bugfix:</h2>
280          <ul class="dots">
281Fixed a couple of bugs affecting open paths that could raise unhandled exceptions.
282
283          </ul> </li>
284
285      </ul> </li>
286
287
288    <li>
289      <h2>v6.1.0 (2 December 2013)</h2><br>
290      <ul>
291
292        <li>
293          <h2>Deleted:</h2>
294          <ul class="dots">Previously deprecated code has been removed.
295          </ul> </li>
296
297        <li>
298          <h2>Modified:</h2>
299          <ul class="dots">
300The <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.
301
302          </ul> </li>
303
304        <li>
305          <h2>Bugfix:</h2>
306          <ul class="dots">
307Several minor bugs have been fixed including occasionally an incorrect nesting within the PolyTree structure.
308
309          </ul> </li>
310
311      </ul> </li>
312
313
314    <li>
315      <h2>v6.0.0 (30 October 2013)</h2><br>
316      <ul>
317
318        <li><span class="maroon"><b>Ver 6 is a MAJOR update that adds support for open path clipping.</b></span></li>
319
320      </ul>
321      <ul>
322
323        <li>
324          <h2>Added:</h2>
325          <ul class="dots">
326Open path (polyline) clipping. A new 'Curves' demo application showcases this (see the 'Curves' directory).
327
328          </ul> </li>
329
330      </ul>
331      <ul>
332
333        <li>
334          <h2>Update:</h2>
335          <ul class="dots">
336Major improvement in the merging of shared/collinear edges in clip solutions (see <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Execute</a>).
337
338          </ul> </li>
339
340      </ul>
341      <ul>
342
343        <li>
344          <h2>Added:</h2>
345          <ul class="dots">
346The <a href="../Units/ClipperLib/Types/IntPoint.htm"><b>IntPoint</b></a>
347structure now has an optional 'Z' member. (See the precompiler directive
348          <a href="../Units/ClipperLib/PreProcessor/Defines.htm"><b><b>use_xyz</b></b></a>.)
349
350          </ul> </li>
351
352      </ul>
353      <ul>
354
355        <li>
356          <h2>Added:</h2>
357          <ul class="dots">
358Users can now force Clipper to use 32bit integers (via the precompiler
359directive <a href="../Units/ClipperLib/PreProcessor/Defines.htm"><b>use_int32</b></a>)
360instead of using 64bit integers. Using 32bit integers improves clipping
361performance by about 20-30%. (This has required the introduction of a
362new <a href="../Units/ClipperLib/Types/CInt.htm"><b>cInt</b></a>
363integer type.) The trade-off to this speed up in performance is a very
364restricted vertex coordinate range of � 46340.
365
366          </ul> </li>
367
368      </ul>
369      <ul>
370
371        <li>
372          <h2>Modified:</h2>
373          <ul class="dots">
374To 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>
375respectively. 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.
376
377          </ul> </li>
378
379      </ul>
380      <ul>
381
382        <li>
383          <h2>Modified:</h2>
384          <ul class="dots">
385The PolyNode Class has a new IsOpen property (to support open paths).
386
387          </ul> </li>
388
389      </ul>
390      <ul>
391
392        <li>
393          <h2>Modified:</h2>
394          <ul class="dots">
395The Clipper class has a new <a href="../Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm"><b>ZFillFunction</b></a>
396property.
397
398          </ul> </li>
399
400      </ul>
401      <ul>
402
403        <li>
404          <h2>Added:</h2>
405          <ul class="dots">
406          <a href="../Units/ClipperLib/Functions/MinkowskiSum.htm"><b>MinkowskiSum</b></a> and
407          <a href="../Units/ClipperLib/Functions/MinkowskiDiff.htm"><b>MinkowskiDiff</b></a> functions added.
408
409          </ul> </li>
410
411      </ul>
412      <ul>
413
414        <li>
415          <h2>Added:</h2>
416          <ul class="dots">
417Several other new functions have been added including <a href="../Units/ClipperLib/Functions/PolyTreeToPaths.htm"><b>PolyTreeToPaths</b></a>,
418          <a href="../Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm"><b>OpenPathsFromPolyTree</b></a>
419and <a href="../Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm"><b>ClosedPathsFromPolyTree</b></a>.
420
421          </ul> </li>
422
423      </ul>
424      <ul>
425
426        <li>
427          <h2>Added:</h2>
428          <ul class="dots">
429The <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.
430
431          </ul> </li>
432
433      </ul>
434      <ul>
435
436        <li>
437          <h2>Bugfix:</h2>
438          <ul class="dots">
439Numerous minor bugs have been fixed.
440
441          </ul> </li>
442
443      </ul>
444      <ul>
445
446        <li>
447          <h2>Deprecated:</h2>
448          <ul class="dots">
449Version 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
450to maintain backward compatibility. However, because this code will be
451removed in a future update, it has been marked as deprecated and a
452precompiler directive <a href="./Deprecated.htm"><b>use_deprecated</b></a>
453has been defined.
454
455          </ul> </li>
456
457      </ul> </li>
458
459
460    <li>
461      <h2>v5.1.6 (23 May 2013)</h2>
462      <ul>
463
464        <li>
465          <h2>BugFix:</h2>
466          <ul class="dots">
467The <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
468function was buggy.
469
470          </ul> </li>
471
472        <li>
473          <h2>Added:</h2>
474          <ul class="dots">
475New OffsetPolyLines function. (Replaced with OffsetPaths function in
476ver 6.)
477
478          </ul> </li>
479
480        <li>
481          <h2>Changed:</h2>
482          <ul class="dots">
483The behaviour of the 'miter' JoinType has
484been changed so that when squaring occurs, it's no longer extended up
485to the miter limit but is squared off at exactly 'delta' units. (This
486improves the look of mitering with larger limits at acute angles.)
487
488          </ul> </li>
489
490        <li>
491          <h2>Update:</h2>
492          <ul class="dots">
493Minor code refactoring and optimisations.
494
495          </ul> </li>
496
497      </ul> </li>
498
499    <li>
500      <h2>v5.1.5 (5 May 2013)</h2>
501      <ul>
502
503        <li>
504          <h2>Update:</h2>
505          <ul class="dots">
506ForceSimple property added to the Clipper Class. (Renamed
507StrictlySimple in ver 6.)
508
509          </ul> </li>
510
511        <li>
512          <h2>Update:</h2>
513          <ul class="dots">
514Further improvements to this documentation.
515
516          </ul> </li>
517
518        <li>
519          <h2>Update:</h2>
520          <ul class="dots">
521Minor code optimisations and trivial bug fixes.
522
523          </ul> </li>
524
525      </ul> </li>
526
527    <li>
528      <h2>v5.1.4 (24 March 2013)</h2>
529      <ul>
530
531        <li>
532          <h2>Update:</h2>
533          <ul class="dots">
534          <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
535function enhanced.
536
537          </ul> </li>
538
539        <li>
540          <h2>Update:</h2>
541          <ul class="dots">
542Documentation improved.
543
544          </ul> </li>
545
546      </ul> </li>
547
548    <li>
549      <h2>v5.1.3 (12 March 2013)</h2>
550      <ul>
551
552        <li>
553          <h2>Bugfix:</h2>
554          <ul class="dots">
555Minor bug fixes.
556
557          </ul> </li>
558
559        <li>
560          <h2>Update:</h2>
561          <ul class="dots">
562Documentation significantly improved.
563
564          </ul> </li>
565
566      </ul> </li>
567
568    <li>
569      <h2>v5.1.2 (26 February 2013)</h2>
570      <ul>
571
572        <li>
573          <h2>Bugfix:</h2>
574          <ul class="dots">
575PolyNode class was missing a constructor.
576
577          </ul> </li>
578
579        <li>
580          <h2>Update:</h2>
581          <ul class="dots">
582The <i>MiterLimit</i> parameter in the <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>
583function has been renamed <i>Limit</i> and can now also be used to
584limit the number of vertices used to construct arcs when JoinType is
585set to jtRound.
586
587          </ul> </li>
588
589      </ul> </li>
590
591    <li>
592      <h2>v5.1.0 (17 February 2013)</h2>
593      <ul>
594
595        <li>
596          <h2>Update:</h2>
597          <ul class="dots">
598ExPolygons 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>
599classes to more fully represent the parent-child relationships of the
600polygons returned by Clipper's <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Execute</a>
601method.
602
603          </ul> </li>
604
605        <li>
606          <h2>Added:</h2>
607          <ul class="dots">
608New <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
609and <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a>
610functions.
611
612          </ul> </li>
613
614        <li>
615          <h2>Bugfix:</h2>
616          <ul class="dots">
617Another orientation bug fixed.
618
619          </ul> </li>
620
621      </ul> </li>
622
623    <li>
624      <h2>v5.0.2 (30 December 2012)</h2>
625      <ul>
626
627        <li>
628          <h2>Bugfix:</h2>
629          <ul class="dots">
630Significant fixes in and tidy of the internal Int128 class (which is
631used only when polygon coordinate values are greater than �0x3FFFFFFF
632(~1.07e9)).
633
634          </ul> </li>
635
636        <li>
637          <h2>Update:</h2>
638          <ul class="dots">
639The <a href="../Units/ClipperLib/Functions/Area.htm">Area</a> function
640has been updated with a faster algorithm.
641
642          </ul> </li>
643
644        <li>
645          <h2>Update:</h2>
646          <ul class="dots">
647Documentation updates. The newish but undocumented 'CheckInputs'
648parameter of the <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>
649function has been renamed 'AutoFix' and documented too. The comments on
650          <a href="./Rounding.htm">rounding</a> have also been improved
651(ie clearer and expanded).
652
653          </ul> </li>
654
655      </ul> </li>
656
657    <li>
658      <h2>v4.10.0 (25 December 2012)</h2>
659      <ul>
660
661        <li>
662          <h2>Bugfix:</h2>
663          <ul class="dots">
664Orientation bugs should now be resolved (finally!).
665
666          </ul> </li>
667
668        <li>
669          <h2>Bugfix:</h2>
670          <ul class="dots">
671Bug in Int128 class.
672
673          </ul> </li>
674
675      </ul> </li>
676
677    <li>
678      <h2>v4.9.8 (2 December 2012)</h2>
679      <ul>
680
681        <li>
682          <h2>Bugfix:</h2>
683          <ul class="dots">
684Further fixes to rare Orientation bug.
685
686          </ul> </li>
687
688      </ul> </li>
689
690    <li>
691      <h2>v4.9.7 (29 November 2012)</h2>
692      <ul>
693
694        <li>
695          <h2>Bugfix:</h2>
696          <ul class="dots">
697Bug that very rarely returned a wrong polygon orientation.
698
699          </ul> </li>
700
701        <li>
702          <h2>Bugfix:</h2>
703          <ul class="dots">
704Obscure bug affecting OffsetPolygons when using jtRound for the
705JoinType parameter and when polygons also contain very large coordinate
706values.
707
708          </ul> </li>
709
710      </ul> </li>
711
712    <li>
713      <h2>v4.9.6 (9 November 2012)</h2>
714      <ul>
715
716        <li>
717          <h2>Bugfix:</h2>
718          <ul class="dots">
719Another obscure bug related to joining intersections.
720
721          </ul> </li>
722
723      </ul> </li>
724
725    <li>
726      <h2>v4.9.4 (2 November 2012)</h2>
727      <ul>
728
729        <li>
730          <h2>Bugfix:</h2>
731          <ul class="dots">
732Bugs in Int128 class occasionally causing wrong orientations.
733
734          </ul> </li>
735
736        <li>
737          <h2>Bugfix:</h2>
738          <ul class="dots">
739Further fixes related to joining intersections.
740
741          </ul> </li>
742
743      </ul> </li>
744
745    <li>
746      <h2>v4.9.0 (9 October 2012)</h2>
747      <ul>
748
749        <li>
750          <h2>Bugfix:</h2>
751          <ul class="dots">
752Obscure bug related to joining intersections.
753
754          </ul> </li>
755
756      </ul> </li>
757
758    <li>
759      <h2>v4.8.9 (25 September 2012)</h2>
760      <ul>
761
762        <li>
763          <h2>Bugfix:</h2>
764          <ul class="dots">
765Obscure bug related to precision of intersections.
766
767          </ul> </li>
768
769      </ul> </li>
770
771    <li>
772      <h2>v4.8.8 (30 August 2012)</h2>
773      <ul>
774
775        <li>
776          <h2>Bugfix:</h2>
777          <ul class="dots">
778Fixed bug in OffsetPolygons function introduced in version 4.8.5.
779
780          </ul> </li>
781
782      </ul> </li>
783
784    <li>
785      <h2>v4.8.7 (24 August 2012)</h2>
786      <ul>
787
788        <li>
789          <h2>Bugfix:</h2>
790          <ul class="dots">
791ReversePolygon function in C++ translation was broken.
792
793          </ul> </li>
794
795        <li>
796          <h2>Bugfix:</h2>
797          <ul class="dots">
798Two obscure bugs affecting orientation fixed too.
799
800          </ul> </li>
801
802      </ul> </li>
803
804    <li>
805      <h2>v4.8.6 (11 August 2012)</h2>
806      <ul>
807
808        <li>
809          <h2>Bugfix:</h2>
810          <ul class="dots">
811Potential for memory overflow errors when using ExPolygons structure.
812
813          </ul> </li>
814
815      </ul>
816      <ul>
817
818        <li>
819          <h2>Bugfix:</h2>
820          <ul class="dots">
821The polygon coordinate range has been reduced to � 0x3FFFFFFFFFFFFFFF
822(4.6e18).
823
824          </ul> </li>
825
826      </ul>
827      <ul>
828
829        <li>
830          <h2>Update:</h2>
831          <ul class="dots">
832ReversePolygons function was misnamed ReversePoints in C++.
833
834          </ul> </li>
835
836      </ul>
837      <ul>
838
839        <li>
840          <h2>Update:</h2>
841          <ul class="dots">
842SimplifyPolygon function now takes a PolyFillType parameter.
843
844          </ul> </li>
845
846      </ul> </li>
847
848    <li>
849      <h2>v4.8.5 (15 July 2012)</h2>
850      <ul>
851
852        <li>
853          <h2>Bugfix:</h2>
854          <ul class="dots">
855Potential for memory overflow errors in <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>().
856
857          </ul> </li>
858
859      </ul> </li>
860
861    <li>
862      <h2>v4.8.4 (1 June 2012)</h2>
863      <ul>
864
865        <li>
866          <h2>Bugfix:</h2>
867          <ul class="dots">
868Another obscure bug affecting ExPolygons structure.
869
870          </ul> </li>
871
872      </ul> </li>
873
874    <li>
875      <h2>v4.8.3 (27 May 2012)</h2>
876      <ul>
877
878        <li>
879          <h2>Bugfix:</h2>
880          <ul class="dots">
881Obscure bug causing incorrect removal of a vertex.
882
883          </ul> </li>
884
885      </ul> </li>
886
887    <li>
888      <h2>v4.8.2 (21 May 2012)</h2>
889      <ul>
890
891        <li>
892          <h2>Bugfix:</h2>
893          <ul class="dots">
894Obscure bug could cause an exception when using ExPolygon structure.
895
896          </ul> </li>
897
898      </ul> </li>
899
900    <li>
901      <h2>v4.8.1 (12 May 2012)</h2>
902      <ul>
903
904        <li>
905          <h2>Update:</h2>
906          <ul class="dots">
907Code tidy and minor bug fixes.
908
909          </ul> </li>
910
911      </ul> </li>
912
913    <li>
914      <h2>v4.8.0 (30 April 2012)</h2>
915      <ul>
916
917        <li>
918          <h2>Bugfix:</h2>
919          <ul class="dots">
920Occasional errors in orientation fixed.
921
922          </ul> </li>
923
924        <li>
925          <h2>Update:</h2>
926          <ul class="dots">
927Added notes on <a href="Rounding.htm">rounding</a> to the
928documentation.
929
930          </ul> </li>
931
932      </ul> </li>
933
934    <li>
935      <h2>v4.7.6 (11 April 2012)</h2>
936      <ul>
937
938        <li>
939          <h2>Bugfix:</h2>
940          <ul class="dots">
941Fixed a bug in the <a href="../Units/ClipperLib/Functions/Orientation.htm">Orientation</a>
942function (affecting C# translations only).
943
944          </ul> </li>
945
946        <li>
947          <h2>Update:</h2>
948          <ul class="dots">
949Minor documentation update.
950
951          </ul> </li>
952
953      </ul> </li>
954
955    <li>
956      <h2>v4.7.5 (28 March 2012)</h2>
957      <ul>
958
959        <li>
960          <h2>Bugfix:</h2>
961          <ul class="dots">
962Fixed a recently introduced bug that occasionally caused an unhandled
963exception in C++ and C# translations.
964
965          </ul> </li>
966
967      </ul> </li>
968
969    <li>
970      <h2>v4.7.1 (3 March 2012)</h2>
971      <ul>
972
973        <li>
974          <h2>Bugfix:</h2>
975          <ul class="dots">
976Rare crash when JoinCommonEdges joined polygons that 'cancelled' each
977other.
978
979          </ul> </li>
980
981        <li>
982          <h2>Bugfix:</h2>
983          <ul class="dots">
984Clipper's internal Orientation method occasionally returned wrong
985result.
986
987          </ul> </li>
988
989        <li>
990          <h2>Update:</h2>
991          <ul class="dots">
992Improved C# code (thanks to numerous suggestions from David Piepgrass)
993
994          </ul> </li>
995
996      </ul> </li>
997
998    <li>
999      <h2>v4.7 (10 February 2012)</h2>
1000      <ul>
1001
1002        <li>
1003          <h2>Update:</h2>
1004          <ul class="dots">
1005Improved the joining of output polygons sharing a common edge.
1006
1007          </ul> </li>
1008
1009      </ul> </li>
1010
1011    <li>
1012      <h2>v4.6.4 (8 December 2011)</h2>
1013      <ul>
1014
1015        <li>
1016          <h2>Added:</h2>
1017          <ul class="dots">
1018Added <a href="../Units/ClipperLib/Functions/SimplifyPolygon.htm">SimplifyPolygon</a>
1019and <a href="../Units/ClipperLib/Functions/SimplifyPolygons.htm">SimplifyPolygons</a>
1020functions.
1021
1022          </ul> </li>
1023
1024      </ul> </li>
1025
1026    <li>
1027      <h2>v4.6 (29 October 2011)</h2>
1028      <ul>
1029
1030        <li>
1031          <h2>Added:</h2>
1032          <ul class="dots">
1033Support 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).
1034
1035          </ul> </li>
1036
1037        <li>
1038          <h2>Bugfix:</h2>
1039          <ul class="dots">
1040The <a href="../Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPolygons</a>
1041function was generating the occasional artefact when 'shrinking'
1042polygons.
1043
1044          </ul> </li>
1045
1046      </ul> </li>
1047
1048    <li>
1049      <h2>v4.5.5 (6 October 2011)</h2>
1050      <ul>
1051
1052        <li>
1053          <h2>Bugfix:</h2>
1054          <ul class="dots">
1055Fixed an obscure bug in Clipper's JoinCommonEdges method.
1056
1057          </ul> </li>
1058
1059        <li>
1060          <h2>Update:</h2>
1061          <ul class="dots">
1062Replaced IsClockwise function with <a href="../Units/ClipperLib/Functions/Orientation.htm">Orientation</a>
1063function. The orientation issues affecting OffsetPolygons should
1064finally be resolved.
1065
1066          </ul> </li>
1067
1068        <li>
1069          <h2>Change:</h2>
1070          <ul class="dots">
1071The <a href="../Units/ClipperLib/Functions/Area.htm">Area</a> function
1072once again returns the <em>signed</em> area.
1073
1074          </ul> </li>
1075
1076      </ul> </li>
1077
1078    <li>
1079      <h2>v4.4.0 (6 August 2011)</h2>
1080      <ul>
1081
1082        <li>
1083          <h2>BugFix:</h2>
1084          <ul class="dots">
1085A number of minor bugfixes that mostly affected the new ExPolygons
1086structure.
1087
1088          </ul> </li>
1089
1090      </ul> </li>
1091
1092    <li>
1093      <h2>v4.3.0 (17 June 2011)</h2>
1094      <ul>
1095
1096        <li>
1097          <h2>Added:</h2>
1098          <ul class="dots">
1099ExPolygons structure that explicitly associates 'hole' polygons with
1100their 'outer' container polygons.
1101
1102          </ul> </li>
1103
1104        <li>
1105          <h2>Added:</h2>
1106          <ul class="dots">
1107          <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Execute</a>
1108method now overloaded so the solution parameter can be either <a href="../Units/ClipperLib/Types/Paths.htm">Polygons</a> or
1109ExPolygons.
1110
1111          </ul> </li>
1112
1113        <li>
1114          <h2>Bug fix:</h2>
1115          <ul class="dots">
1116Fixed a rare bug in the orientation of solution polygons.
1117
1118          </ul> </li>
1119
1120      </ul> </li>
1121
1122    <li>
1123      <h2>v4.2.4 (26 April 2011)</h2>
1124      <ul>
1125
1126        <li>
1127          <h2>Update:</h2>
1128          <ul class="dots">
1129Input polygon coordinates can now contain the full range of signed
113064bit integers (ie +/-9,223,372,036,854,775,807). This means that
1131floating point values can be converted to and from Clipper's 64bit
1132vertex structure (<a href="../Units/ClipperLib/Types/IntPoint.htm">IntPoint</a>)
1133and still retain a precision of up to 18 decimal places. However, since
1134the large-integer math that supports this expanded range imposes a
1135small cost on performance (~15%), a new property UseFullCoordinateRange
1136has been added to the Clipper class to allow users the choice of
1137whether or not to use this expanded coordinate range. If this property
1138is disabled, coordinate values are restricted to +/-1,500,000,000. (By
1139default, this property is enabled.)
1140
1141          </ul> </li>
1142
1143      </ul> </li>
1144
1145    <li>
1146      <h2>v4.0 (4 April 2011)</h2>
1147      <ul>
1148
1149        <li>
1150          <h2>Major update:</h2>
1151          <ul class="dots">
1152Clipper is a major rewrite of earlier versions. The biggest change is
1153that floating point values are no longer used, except for the storing
1154of edge slope values. The main benefit of this is the issue of
1155numerical robustness has been addressed. Due to other major code
1156improvements Clipper v4 is approximately 40% faster than Clipper v3.
1157
1158          </ul> </li>
1159
1160        <li>
1161          <h2>Changes:</h2>
1162          <ul class="dots">
1163The AddPolyPolygon method has been renamed to AddPolygons, and the
1164IgnoreOrientation property has been removed. The clipper_misc library
1165has been merged back into the clipper library.
1166
1167          </ul> </li>
1168
1169      </ul> </li>
1170
1171    <li>
1172      <h2>v2.8 (20 November 2010)</h2>
1173      <ul>
1174
1175        <li>
1176          <h2>Updated:</h2>
1177          <ul class="dots">
1178Output polygons which previously shared a common edge are now merged.
1179
1180          </ul> </li>
1181
1182        <li>
1183          <h2>Added:</h2>
1184          <ul class="dots">
1185Added support module for Cairo Graphics Library (with accompanying
1186demo).
1187
1188          </ul> </li>
1189
1190        <li>
1191          <h2>Added:</h2>
1192          <ul class="dots">
1193Added C# and C++ demos.
1194
1195          </ul> </li>
1196
1197      </ul> </li>
1198
1199    <li>
1200      <h2>v2.522 (15 October 2010)</h2>
1201      <ul>
1202
1203        <li>
1204          <h2>Added:</h2>
1205          <ul class="dots">
1206Added C# translation (thanks to Olivier Lejeune) and a link to Ruby
1207bindings (thanks to Mike Owens).
1208
1209          </ul> </li>
1210
1211      </ul> </li>
1212
1213    <li>
1214      <h2>v2.0 (31 July 2010)</h2>
1215      <ul>
1216
1217        <li>
1218          <h2>Major update:</h2>
1219          <ul class="dots">
1220Clipper now processes polygons using both the Even-Odd (alternate) and
1221Non-Zero (winding) filling rules.
1222
1223          </ul> </li>
1224
1225      </ul> </li>
1226
1227    <li>
1228      <h2>v1.4c (16 June 2010)</h2>
1229      <ul>
1230
1231        <li>
1232          <h2>Additions:</h2>
1233          <ul class="dots">
1234Added Delphi and C++ units to support the AGG graphics library
1235
1236          </ul> </li>
1237
1238      </ul> </li>
1239
1240    <li>
1241      <h2>v1.2s (2 June 2010)</h2>
1242      <ul>
1243
1244        <li>
1245          <h2>Additions:</h2>
1246          <ul class="dots">
1247C++ translation of Delphi code
1248
1249          </ul> </li>
1250
1251      </ul> </li>
1252
1253    <li>
1254      <h2>v1.0 (9 May 2010) - Initial public release</h2> </li>
1255
1256
1257  </ul>
1258
1259<img src="../../Images/_buttons.gif" height="1" width="1">
1260
1261
1262  <h2 id="Auto-SeeAlso">See Also</h2>
1263  <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>
1264
1265  <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>
1266
1267</body>
1268
1269</html>