|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| C#/ | H | 03-May-2022 | - | 7,472 | 6,058 |
| Delphi/ | H | 03-May-2022 | - | 7,532 | 6,148 |
| Documentation/ | H | 03-May-2022 | - | 12,260 | 9,348 |
| Third Party/ | H | 03-May-2022 | - | 2,527 | 2,151 |
| cpp/ | H | 03-May-2022 | - | 7,983 | 6,508 |
| README | H A D | 27-Feb-2017 | 16.1 KiB | 413 | 343 |
README
1=====================================================================
2Clipper Change Log
3=====================================================================
4v6.4.2 (27 February 2017) Rev 512
5* Several minor bugfixes: #152 #160 #161 #162
6
7v6.4 (2 July 2015) Rev 495
8* Numerous generally minor bugfixes
9
10v6.2.1 (31 October 2014) Rev 482
11* Bugfix in ClipperOffset.Execute where the Polytree.IsHole property
12 was returning incorrect values with negative offsets
13* Very minor improvement to join rounding in ClipperOffset
14* Fixed CPP OpenGL demo.
15
16v6.2.0 (17 October 2014) Rev 477
17* Numerous minor bugfixes, too many to list.
18 (See revisions 454-475 in Sourceforge Repository)
19* The ZFillFunction (custom callback function) has had its parameters
20 changed.
21* Curves demo removed (temporarily).
22* Deprecated functions have been removed.
23
24v6.1.5 (26 February 2014) Rev 460
25* Improved the joining of output polygons sharing a common edge
26 when those common edges are horizontal.
27* Fixed a bug in ClipperOffset.AddPath() which would produce
28 incorrect solutions when open paths were added before closed paths.
29* Minor code tidy and performance improvement
30
31v6.1.4 (6 February 2014)
32* Fixed bugs in MinkowskiSum
33* Fixed minor bug when using Clipper.ForceSimplify.
34* Modified use_xyz callback so that all 4 vertices around an
35 intersection point are now passed to the callback function.
36
37v6.1.3a (22 January 2014) Rev 453
38* Fixed buggy PointInPolygon function (C++ and C# only).
39 Note this bug only affected the newly exported function, the
40 internal PointInPolygon function used by Clipper was OK.
41
42v6.1.3 (19 January 2014) Rev 452
43* Fixed potential endless loop condition when adding open
44 paths to Clipper.
45* Fixed missing implementation of SimplifyPolygon function
46 in C++ code.
47* Fixed incorrect upper range constant for polygon coordinates
48 in Delphi code.
49* Added PointInPolygon function.
50* Overloaded MinkowskiSum function to accommodate multi-contour
51 paths.
52
53v6.1.2 (15 December 2013) Rev 444
54* Fixed broken C++ header file.
55* Minor improvement to joining polygons.
56
57v6.1.1 (13 December 2013) Rev 441
58* Fixed a couple of bugs affecting open paths that could
59 raise unhandled exceptions.
60
61v6.1.0 (12 December 2013)
62* Deleted: Previously deprecated code has been removed.
63* Modified: The OffsetPaths function is now deprecated as it has
64 been replaced by the ClipperOffset class which is much more
65 flexible.
66* Bugfixes: Several minor bugs have been fixed including
67 occasionally an incorrect nesting within the PolyTree structure.
68
69v6.0.0 (30 October 2013)
70* Added: Open path (polyline) clipping. A new 'Curves' demo
71 application showcases this (see the 'Curves' directory).
72* Update: Major improvement in the merging of
73 shared/collinear edges in clip solutions (see Execute).
74* Added: The IntPoint structure now has an optional 'Z' member.
75 (See the precompiler directive use_xyz.)
76* Added: Users can now force Clipper to use 32bit integers
77 (via the precompiler directive use_int32) instead of using
78 64bit integers.
79* Modified: To accommodate open paths, the Polygon and Polygons
80 structures have been renamed Path and Paths respectively. The
81 AddPolygon and AddPolygons methods of the ClipperBase class
82 have been renamed AddPath and AddPaths respectively. Several
83 other functions have been similarly renamed.
84* Modified: The PolyNode Class has a new IsOpen property.
85* Modified: The Clipper class has a new ZFillFunction property.
86* Added: MinkowskiSum and MinkowskiDiff functions added.
87* Added: Several other new functions have been added including
88 PolyTreeToPaths, OpenPathsFromPolyTree and ClosedPathsFromPolyTree.
89* Added: The Clipper constructor now accepts an optional InitOptions
90 parameter to simplify setting properties.
91* Bugfixes: Numerous minor bugs have been fixed.
92* Deprecated: Version 6 is a major upgrade from previous versions
93 and quite a number of changes have been made to exposed structures
94 and functions. To minimize inconvenience to existing library users,
95 some code has been retained and some added to maintain backward
96 compatibility. However, because this code will be removed in a
97 future update, it has been marked as deprecated and a precompiler
98 directive use_deprecated has been defined.
99
100v5.1.6 (23 May 2013)
101* BugFix: CleanPolygon function was buggy.
102* Changed: The behaviour of the 'miter' JoinType has been
103 changed so that when squaring occurs, it's no longer
104 extended up to the miter limit but is squared off at
105 exactly 'delta' units. (This improves the look of mitering
106 with larger limits at acute angles.)
107* Added: New OffsetPolyLines function
108* Update: Minor code refactoring and optimisations
109
110v5.1.5 (5 May 2013)
111* Added: ForceSimple property to Clipper class
112* Update: Improved documentation
113
114v5.1.4 (24 March 2013)
115* Update: CleanPolygon function enhanced.
116* Update: Documentation improved.
117
118v5.1.3 (14 March 2013)
119* Bugfix: Minor bugfixes.
120* Update: Documentation significantly improved.
121
122v5.1.2 (26 February 2013)
123* Bugfix: PolyNode class was missing a constructor.
124* Update: The MiterLimit parameter in the OffsetPolygons
125 function has been renamed Limit and can now also be used to
126 limit the number of vertices used to construct arcs when
127 JoinType is set to jtRound.
128
129v5.1.0 (17 February 2013)
130* Update: ExPolygons has been replaced with the PolyTree &
131 PolyNode classes to more fully represent the parent-child
132 relationships of the polygons returned by Clipper.
133* Added: New CleanPolygon and CleanPolygons functions.
134* Bugfix: Another orientation bug fixed.
135
136v5.0.2 - 30 December 2012
137* Bugfix: Significant fixes in and tidy of the internal
138 Int128 class (which is used only when polygon coordinate
139 values are greater than �0x3FFFFFFF (~1.07e9)).
140* Update: The Area algorithm has been updated and is faster.
141* Update: Documentation updates. The newish but undocumented
142 'CheckInputs' parameter of the OffsetPolygons function has been
143 renamed 'AutoFix' and documented too. The comments on rounding
144 have also been improved (ie clearer and expanded).
145
146v4.10.0 - 25 December 2012
147* Bugfix: Orientation bugs should now be resolved (finally!).
148* Bugfix: Bug in Int128 class
149
150v4.9.8 - 2 December 2012
151* Bugfix: Further fixes to rare Orientation bug.
152
153v4.9.7 - 29 November 2012
154* Bugfix: Bug that very rarely returned the wrong polygon
155 orientation.
156* Bugfix: Obscure bug affecting OffsetPolygons when using
157 jtRound for the JoinType parameter and when polygons also
158 contain very large coordinate values (> +/-100000000000).
159
160v4.9.6 - 9 November 2012
161* Bugfix: Another obscure bug related to joining polygons.
162
163v4.9.4 - 2 November 2012
164* Bugfix: Bugs in Int128 class occasionally causing
165 wrong orientations.
166* Bugfix: Further fixes related to joining polygons.
167
168v4.9.0 - 9 October 2012
169* Bugfix: Obscure bug related to joining polygons.
170
171v4.8.9 - 25 September 2012
172* Bugfix: Obscure bug related to precision of intersections.
173
174v4.8.8 - 30 August 2012
175* Bugfix: Fixed bug in OffsetPolygons function introduced in
176 version 4.8.5.
177
178v4.8.7 - 24 August 2012
179* Bugfix: ReversePolygon function in C++ translation was broken.
180* Bugfix: Two obscure bugs affecting orientation fixed too.
181
182v4.8.6 - 11 August 2012
183* Bugfix: Potential for memory overflow errors when using
184 ExPolygons structure.
185* Bugfix: The polygon coordinate range has been reduced to
186 +/- 0x3FFFFFFFFFFFFFFF (4.6e18).
187* Update: ReversePolygons function was misnamed ReversePoints in C++.
188* Update: SimplifyPolygon function now takes a PolyFillType parameter.
189
190v4.8.5 - 15 July 2012
191* Bugfix: Potential for memory overflow errors in OffsetPolygons().
192
193v4.8.4 - 1 June 2012
194* Bugfix: Another obscure bug affecting ExPolygons structure.
195
196v4.8.3 - 27 May 2012
197* Bugfix: Obscure bug causing incorrect removal of a vertex.
198
199v4.8.2 - 21 May 2012
200* Bugfix: Obscure bug could cause an exception when using
201 ExPolygon structure.
202
203v4.8.1 - 12 May 2012
204* Update: Cody tidy and minor bug fixes.
205
206v4.8.0 - 30 April 2012
207* Bugfix: Occasional errors in orientation fixed.
208* Update: Added notes on rounding to the documentation.
209
210v4.7.6 - 11 April 2012
211* Fixed a bug in Orientation function (affecting C# translations only).
212* Minor documentation update.
213
214v4.7.5 - 28 March 2012
215* Bugfix: Fixed a recently introduced bug that occasionally caused an
216 unhandled exception in C++ and C# translations.
217
218v4.7.4 - 15 March 2012
219* Bugfix: Another minor bugfix.
220
221v4.7.2 - 4 March 2012
222* Bugfix: Fixed bug introduced in ver 4.7 which sometimes caused
223 an exception if ExPolygon structure was passed to Clipper's
224 Execute method.
225
226v4.7.1 - 3 March 2012
227* Bugfix: Rare crash when JoinCommonEdges joined polygons that
228 'cancelled' each other.
229* Bugfix: Clipper's internal Orientation method occasionally
230 returned wrong result.
231* Update: Improved C# code (thanks to numerous excellent suggestions
232 from David Piepgrass)
233
234v4.7 - 10 February 2012
235* Improved the joining of output polygons sharing a common edge.
236
237v4.6.6 - 3 February 2012
238* Bugfix: Another obscure bug occasionally causing incorrect
239 polygon orientation.
240
241v4.6.5 - 17 January 2012
242* Bugfix: Obscure bug occasionally causing incorrect hole
243 assignment in ExPolygon structure.
244
245v4.6.4 - 8 November 2011
246* Added: SimplifyPolygon and SimplifyPolygons functions.
247
248v4.6.3 - 11 November 2011
249* Bugfix: Fixed another minor mitering bug in OffsetPolygons.
250
251v4.6.2 - 10 November 2011
252* Bugfix: Fixed a rare bug in the orientation of polygons
253 returned by Clipper's Execute() method.
254* Bugfix: Previous update introduced a mitering bug in the
255 OffsetPolygons function.
256
257v4.6 - 29 October 2011
258* Added: Support for Positive and Negative polygon fill
259 types (in addition to the EvenOdd and NonZero fill types).
260* Bugfix: The OffsetPolygons function was generating the
261 occasional artefact when 'shrinking' polygons.
262
263v4.5.5 - 8 October 2011
264* Bugfix: Fixed an obscure bug in Clipper's JoinCommonEdges
265 method.
266* Update: Replaced IsClockwise function with Orientation
267 function. The orientation issues affecting OffsetPolygons
268 should now be finally resolved.
269* Change: The Area function once again returns a signed value.
270
271v4.5.1 - 28 September 2011
272* Deleted: The UseFullCoordinateRange property has been
273 deleted since integer range is now managed implicitly.
274* BugFix: Minor bug in OffsetPolygon mitering.
275* Change: C# JoinType enum moved from Clipper class to
276 ClipperLib namespace.
277* Change: The Area function now returns the absolute area
278 (irrespective of orientation).
279* Change: The IsClockwise function now requires a second
280 parameter - YAxisPositiveUpward - to accommodate displays
281 with Y-axis oriented in either direction
282
283v4.4.4 - 10 September 2011
284* Change: Deleted jtButt from JoinType (used by the
285 OffsetPolygons function).
286* BugFix: Fixed another minor bug in OffsetPolygons function.
287* Update: Further improvements to the help file
288
289v4.4.3 - 29 August 2011
290* BugFix: fixed a minor rounding issue in OffsetPolygons
291 function (affected C++ & C# translations).
292* BugFix: fixed a minor bug in OffsetPolygons' function
293 declaration (affected C++ translation only).
294* Change: 'clipper' namespace changed to 'ClipperLib'
295 namespace in both C++ and C# code to remove the ambiguity
296 between the Clipper class and the namespace. (This also
297 required numerous updates to the accompanying demos.)
298
299v4.4.2 - 26 August 2011
300* BugFix: minor bugfixes in Clipper.
301* Update: the OffsetPolygons function has been significantly
302 improved by offering 4 different join styles.
303
304v4.4.0 - 6 August 2011
305* BugFix: A number of minor bugs have been fixed that mostly
306 affected the new ExPolygons structure.
307
308v4.3.0 - 17 June 2011
309* New: ExPolygons structure that explicitly associates 'hole'
310 polygons with their 'outer' container polygons.
311* New: Execute method overloaded so the solution parameter
312 can now be either Polygons or ExPolygons.
313* BugFix: Fixed a rare bug in solution polygons orientation.
314
315v4.2.8 - 21 May 2011
316* Update: JoinCommonEdges() improved once more.
317* BugFix: Several minor bugs fixed.
318
319v4.2.6 - 1 May 2011
320* Bugfix: minor bug in SlopesEqual function.
321* Update: Merging of output polygons sharing common edges
322 has been significantly inproved
323
324v4.2.4 - 26 April 2011
325 Input polygon coordinates can now contain the full range of
326 signed 64bit integers (ie +/-9,223,372,036,854,775,807). This
327 means that floating point values can be converted to and from
328 Clipper's 64bit integer coordinates structure (IntPoint) and
329 still retain a precision of up to 18 decimal places. However,
330 since the large-integer math that supports this expanded range
331 imposes a small cost on performance (~15%), a new property
332 UseFullCoordinateRange has been added to the Clipper class to
333 allow users the choice of whether or not to use this expanded
334 coordinate range. If this property is disabled, coordinate values
335 are restricted to +/-1,500,000,000.
336
337v4.2 - 12 April 2011
338 JoinCommonEdges() code significantly improved plus other minor
339 improvements.
340
341v4.1.2 - 9 April 2011
342* Update: Minor code tidy.
343* Bugfix: Possible endless loop in JoinCommonEdges() in clipper.pas.
344
345v4.1.1 - 8 April 2011
346* Update: All polygon coordinates are now stored as 64bit integers
347 (though they're still restricted to range -1.5e9 to +1.5e9 pending
348 the inclusion of code supporting 64bit math).
349* Change: AddPolygon and AddPolygons methods now return boolean
350 values.
351* Bugfix: Bug in JoinCommonEdges() caused potential endless loop.
352* Bugfix: Bug in IsClockwise(). (C++ code only)
353
354v4.0 - 5 April 2011
355* Clipper 4 is a major rewrite of earlier versions. The biggest
356 change is that floating point values are no longer used,
357 except for the storing of edge slope values. The main benefit
358 of this is the issue of numerical robustness has been
359 addressed. Due to other major code improvements Clipper v4
360 is approximately 40% faster than Clipper v3.
361* The AddPolyPolygon method has been renamed to AddPolygons.
362* The IgnoreOrientation property has been removed.
363* The clipper_misc library has been merged back into the
364 main clipper library.
365
366v3.1.0 - 17 February 2011
367* Bugfix: Obscure bug in TClipperBase.SetDx method that caused
368 problems with very small edges ( edges <1/1000th pixel in size).
369
370v3.0.3 - 9 February 2011
371* Bugfix: Significant bug, but only in C# code.
372* Update: Minor refactoring.
373
374v3.0 - 31 January 2011
375* Update: Major rewrite of the portion of code that calculates
376 the output polygons' orientation.
377* Update: Help file significantly improved.
378* Change: Renamed ForceOrientation property to IgnoreOrientation.
379 If the orientation of output polygons is not important, or can
380 be managed separately, clipping routines can be sped up by about
381 60% by setting IgnoreOrientation to true. Defaults to false.
382* Change: The OffsetPolygon and Area functions have been moved to
383 the new unit - clipper_misc.
384
3852.99 - 15 January 2011
386* Bugfix: Obscure bug in AddPolygon method could cause an endless loop.
387
3882.8 - 20 November 2010
389* Updated: Output polygons which previously shared a common
390 edge are now merged.
391* Changed: The orientation of outer polygons is now clockwise
392 when the display's Y axis is positive downwards (as is
393 typical for most Windows applications). Inner polygons
394 (holes) have the opposite orientation.
395* Added: Support module for Cairo Graphics Library (with demo).
396* Updated: C# and C++ demos.
397
3982.522 - 15 October 2010
399* Added C# translation (thanks to Olivier Lejeune) and
400 a link to Ruby bindings (thanks to Mike Owens).
401
4022.0 - 30 July 2010
403* Clipper now clips using both the Even-Odd (alternate) and
404 Non-Zero (winding) polygon filling rules. (Previously Clipper
405 assumed the Even-Odd rule for polygon filling.)
406
4071.4c - 16 June 2010
408* Added C++ support for AGG graphics library
409
4101.2s - 2 June 2010
411* Added C++ translation of clipper.pas
412
4131.0 - 9 May 2010