aboutsummaryrefslogtreecommitdiff
path: root/upstream/clipper-6.4.2/Documentation/Docs
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/clipper-6.4.2/Documentation/Docs')
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/Changes.htm1269
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/Deprecated.htm69
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/Example.htm234
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/FAQ.htm104
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/License.htm75
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/Rounding.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Overview/_Body.htm106
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Constructor.htm95
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Execute.htm91
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/PreserveCollinear.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ReverseSolution.htm76
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm88
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm75
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/_Body.htm149
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm95
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm93
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/Clear.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/GetBounds.htm76
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/_Body.htm91
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPath.htm73
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPaths.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Clear.htm72
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Constructor.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Execute.htm111
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/ArcTolerance.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/MiterLimit.htm75
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/_Body.htm136
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Methods/GetNext.htm97
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/ChildCount.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Childs.htm75
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Contour.htm69
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsHole.htm72
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsOpen.htm72
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Parent.htm69
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/_Body.htm125
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/Clear.htm73
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/GetFirst.htm77
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Properties/Total.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/_Body.htm189
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Area.htm72
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygon.htm88
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygons.htm87
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiDiff.htm74
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiSum.htm101
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OffsetPaths.htm70
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Orientation.htm92
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PointInPolygon.htm72
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PolyTreeToPaths.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePath.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePaths.htm70
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygon.htm75
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygons.htm76
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/CInt.htm70
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ClipType.htm100
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/EndType.htm88
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/InitOptions.htm75
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntPoint.htm73
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntRect.htm69
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/JoinType.htm78
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Path.htm69
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Paths.htm76
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyFillType.htm83
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyType.htm73
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ZFillCallback.htm71
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/_Body.htm188
-rw-r--r--upstream/clipper-6.4.2/Documentation/Docs/_Body.htm168
68 files changed, 7199 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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/Deprecated.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Deprecated.htm
new file mode 100644
index 0000000..7a8f254
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Deprecated.htm
@@ -0,0 +1,69 @@
+<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>Deprecated</title>
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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>Deprecated</h1>
+
+
+ <p class="Body"> The precompiler directive <b>'use_deprecated'</b> allows users to update the Clipper library without being forced to make immediate changes to code that accesses the library. Depricated code will be removed in a future update. (Enabled by default.)<br><br> <b>Deprecated types and functions:</b><br><br> All deprecated code has been removed from version 6.2.0.
+ <!-- <table cellspacing="2" cellpadding="2" border="0">
+<tr>
+ <td width="140px">&nbsp;</td>
+ <td>Replaced by &nbsp;</td>
+</tr>
+</table>
+ --> </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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/Example.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Example.htm
new file mode 100644
index 0000000..ded5dd5
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Example.htm
@@ -0,0 +1,234 @@
+<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>Example</title>
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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>Example</h1>
+
+
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="600px">
+ <th align="left">Delphi Code Sample:
+ </th>
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: delphi;">
+ uses
+ graphics32, clipper;
+
+ function GetEllipsePoints(bounds: TIntRect): TPath;
+ begin
+ //code to create an elliptical polygon here
+ end;
+
+ procedure DrawPolygons(polys: TPaths; color: TColor32);
+ begin
+ //code to display the polygons here
+ end;
+
+ var
+ sub, clp, sol: TPaths;
+ begin
+
+ //set up the subject and clip polygons ...
+ setlength(sub, 3);
+ sub[0] := GetEllipsePoints(IntRect(100,100,300,300));
+ sub[1] := GetEllipsePoints(IntRect(125,130,275,180));
+ sub[2] := GetEllipsePoints(IntRect(125,220,275,270));
+
+ setlength(clp, 1);
+ clp[0] := GetEllipsePoints(IntRect(140,70,220,320));
+
+ //display the subject and clip polygons ...
+ DrawPolygons(sub, 0x8033FFFF);
+ DrawPolygons(clp, 0x80FFFF33);
+
+ //get the intersection of the subject and clip polygons ...
+ with TClipper.Create do
+ try
+ AddPaths(sub, ptSubject, true);
+ AddPaths(clp, ptClip, true);
+ Execute(ctIntersection, sol, pftEvenOdd, pftEvenOdd);
+ finally
+ free;
+ end;
+
+ //finally draw the intersection polygons ...
+ DrawPolygons(sol, 0x40808080);
+ </pre>
+
+ </td>
+ </tr>
+
+ </table>
+ <div style="clear:both">&nbsp;</div>
+
+
+
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="600px">
+ <th align="left">C++ Code Sample:
+ </th>
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: cpp;">
+ #include "clipper.hpp"
+
+ ...
+
+ //from clipper.hpp ...
+ //typedef long long cInt;
+ //struct IntPoint {cInt X; cInt Y;};
+ //typedef std::vector&lt;IntPoint&gt; Path;
+ //typedef std::vector&lt;Polygon&gt; Paths;
+
+ using namespace ClipperLib;
+
+ void GetEllipsePoints(IntRect& bounds, Path& p)
+ {/* ... */}
+
+ void DrawPolygons(Paths& p, unsigned color)
+ {/* ... */}
+
+ int main()
+ {
+ //set up the subject and clip polygons ...
+ Paths sub(3);
+ GetEllipsePoints(IntRect(100,100,300,300), sub[0]);
+ GetEllipsePoints(IntRect(125,130,275,180), sub[1]);
+ GetEllipsePoints(IntRect(125,220,275,270), sub[2]);
+
+ Paths clp(1);
+ GetEllipsePoints(IntRect(140,70,220,320), clp[0]);
+
+ //display the subject and clip polygons ...
+ DrawPolygons(sub, 0x8033FFFF);
+ DrawPolygons(clp, 0x80FFFF33);
+
+ //get the intersection of the subject and clip polygons ...
+ Clipper clpr;
+ clpr.AddPaths(sub, ptSubject, true);
+ clpr.AddPaths(clp, ptClip, true);
+ Paths solution;
+ clpr.Execute(ctIntersection, solution, pftEvenOdd, pftEvenOdd);
+
+ //finally draw the intersection polygons ...
+ DrawPolygons(solution, 0x40808080);
+ }
+ </pre>
+
+
+ </td>
+ </tr>
+
+ </table>
+ <div style="clear:both">&nbsp;</div>
+
+
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="600px">
+ <th align="left">C# Code Sample:
+ </th>
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: csharp;">
+ ...
+ using ClipperLib;
+
+ ...
+ using Path = List&lt;IntPoint&gt;;
+ using Paths = List&lt;List&lt;IntPoint&gt;&gt;;
+
+ static Path GetEllipsePoints(IntRect bounds)
+ {/* ... */}
+
+ static void DrawPolygons(Path p, uint color)
+ {/* ... */}
+
+ static void Main(string[] args)
+ {
+ Paths subjs = new Paths(3);
+ subjs.Add(GetEllipsePoints(new IntRect(100,100,300,300)));
+ subjs.Add(GetEllipsePoints(new IntRect(125,130,275,180)));
+ subjs.Add(GetEllipsePoints(new IntRect(125,220,275,270)));
+
+ Paths clips = new Paths(1);
+ clips.Add(GetEllipsePoints(new IntRect(140,70,220,320)));
+
+ DrawPolygons(subjs, 0x8033FFFF);
+ DrawPolygons(clips, 0x80FFFF33);
+
+ Paths solution = new Paths();
+ Clipper c = new Clipper();
+ c.AddPaths(subjs, PolyType.ptSubject, true);
+ c.AddPaths(clips, PolyType.ptClip, true);
+ c.Execute(ClipType.ctIntersection, solution);
+
+ DrawPolygons(solution, 0x40808080);
+ }
+ </pre>
+
+ </td>
+ </tr>
+
+ </table>
+
+ <div style="clear:both">&nbsp;</div>
+ <img src="../../Images/sample1.png" alt="" border="0">
+
+
+
+ <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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/FAQ.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/FAQ.htm
new file mode 100644
index 0000000..91459b9
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/FAQ.htm
@@ -0,0 +1,104 @@
+<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>FAQ</title>
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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>FAQ</h1>
+
+
+ <p class="Decl5">Why does Clipper use integer coordinates, not floats?</p>
+
+ <p class="Decl4">This has been done to preserve <a href="http://www.mpi-inf.mpg.de/~kettner/pub/nonrobust_cgta_06.pdf" target="_blank">numerical robustness</a>. Early versions of the library did use floating point coordinates, but it became apparent that floating point imprecision was always going to cause occasional errors.<br><br> </p>
+
+
+ <p class="Decl5">How do I use floating point coordinates with Clipper?</p>
+
+ <p class="Decl4">It's a simple task to multiply your floating point coordinates by a scaling factor (that's typically a power of 10 depending on the desired precision). Then with the solution paths, divide the returned coordinates by this same scaling factor. Clipper accepts integer coordinates as large as &plusmn;4.6e18, so it can accommodate very large scaling.<br><br> </p>
+
+
+ <p class="Decl5">Does Clipper handle polygons with holes?</p>
+
+ <p class="Decl4">'Holes' are defined by the specified <a href="../Units/ClipperLib/Types/PolyFillType.htm">polygon filling rule</a>. (See also <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a>)<br><br> </p>
+
+
+ <p class="Decl5">Some polygons in the solution share a common edge. Is this a bug?</p>
+
+ <p class="Decl4"> No, though this should happen rarely as of version 6. (See <a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a> for more about this.)<br><br> </p>
+
+
+ <p class="Decl5">I have lots of polygons that I want to 'union'. Can I do this in one operation?</p>
+
+ <p class="Decl4"> Yes. Just add all the polygons as subject polygons to the Clipper object. (You don't have to assign both subject and clip polygons.)<br><br> </p>
+
+
+ <p class="Decl5"> <img src="../../Images/kangaroo_small.png" width="292" height="292" alt="" align="right"> The polygons produced by <a href="../Units/ClipperLib/Classes/ClipperOffset/_Body.htm">ClipperOffset</a> have tiny artefacts? Could this be a bug?</p>
+
+ <p class="Decl4"> Make sure the input polygons don't self-intersect. Tiny self-intersections can sometimes be produced by previous clipping operations. These can be cleaned up using the <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a> and <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a> functions. Also, make sure the supplied polygons don't overlap. If they do, offset these separately. Finally, the precision of the input coordinates may be a problem. Because the Clipper Library only operates on integer coordinates, you may need to scale your coordinates (eg by a factor of 10) to improve precision. <br><br> </p>
+
+
+ <p class="Decl5">Is there an easy way to reverse polygon orientations?</p>
+
+ <p class="Decl4"> Yes, see <a href="../Units/ClipperLib/Functions/ReversePaths.htm">ReversePaths</a>. <br><br> </p>
+
+<div style="clear:both">&nbsp;</div>
+
+
+ <p class="Decl5">My drawings contain lots of beziers, ellipses and arcs. How can I perform clipping operations on these?</p>
+
+ <p class="Decl4"> You'll have to convert them to 'flattened' paths. For an example of how this can be done (and even reconstructed back into beziers, arcs etc), see the CurvesDemo application included in this library. <br><br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Units/ClipperLib/Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="../Units/ClipperLib/Classes/ClipperOffset/_Body.htm">ClipperOffset</a>, <a href="../Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>, <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a>, <a href="../Units/ClipperLib/Functions/ReversePaths.htm">ReversePaths</a>, <a href="../Units/ClipperLib/Types/PolyFillType.htm">PolyFillType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/License.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/License.htm
new file mode 100644
index 0000000..928dda8
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/License.htm
@@ -0,0 +1,75 @@
+<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>License</title>
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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>License</h1>
+
+
+ <p class="Body"> The Clipper Library (including Delphi, C++ &amp; C# source code, other accompanying code, examples and documentation), hereafter called "the Software", has been released under the following license, terms and conditions:</p>
+
+
+ <p class="Body">Boost Software License - Version 1.0 - August 17th, 2003<br> <a href="http://www.boost.org/LICENSE_1_0.txt" target="_blank">http://www.boost.org/LICENSE_1_0.txt</a></p>
+
+
+ <p class="Body">Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the Software covered by this license to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:</p>
+
+
+ <p class="Body">The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.</p>
+
+
+ <p class="Body">THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/Rounding.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Rounding.htm
new file mode 100644
index 0000000..cb4d62b
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/Rounding.htm
@@ -0,0 +1,71 @@
+<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>Rounding</title>
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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>Rounding</h1>
+
+
+ <p class="Body"> By using an integer type for polygon coordinates, the Clipper Library has been able to avoid problems of <a href="http://www.mpi-inf.mpg.de/~kettner/pub/nonrobust_cgta_06.pdf"><b>numerical robustness</b></a> that can cause havoc with geometric computations. Problems associated with integer <b>rounding</b> and their possible solutions are discussed below.<br><br> <img src="../../Images/clipper_rounding.png" width="488" height="365" alt="" align="left"> <span class="maroon">It's important to stress at the outset that rounding causes vertices to move fractions of a unit away from their 'true' positions. Nevertheless, the resulting imprecision can be very effectively managed by appropriate scaling.</span><br><br> The Clipper Library supports scaling to <span class="maroon">very high degrees of precision</span> by accepting integer coordinate values in the range &plusmn;0x3FFFFFFFFFFFFFFF (± 4.6e+18).<br><br> Another complication of using a discrete numbers (as opposed to <a href="http://en.wikipedia.org/wiki/Real_number" target="_blank">real numbers</a>) is that very occasionally tiny <b>self-intersection</b> artefacts arise. In the unscaled image on the left (where one unit equals one pixel), the area of intersection of two polygons has been highlighted in bright green.<br><br> </p>
+
+
+ <p class="Body" style="clear='both'"> <img src="../../Images/clipper_rounding2.png" width="440" height="316" alt="" align="right"><br><br> A 30X 'close up' of the lower points of intersection of these same two polygons shows the presence of a tiny self-intersecting artefact. The three 'black dots' highlight the actual points of intersection (with their fractional coordinates displayed). The 'red dots' show where these points of intersection are located once rounding is applied. With a little care you can see that rounding reverses the orientation of these vertices and causes a tiny self-intersecting artefact.<br><br> Although these tiny self-intersections are uncommon, if it's deemed necessary, they are best removed with <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a>. (Setting Clipper's <a href="../Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm">StrictlySimple</a> property to true would also address this self-intersection but the tiny (sub-unit) polygon 'artefact' with incorrect orientation would still appear in the solution.) <br><br> </p>
+
+
+ <p class="Body" style="clear='both'"> <img src="../../Images/clipper_rounding4.png" width="292" height="224" alt="" align="left"><br><br> In this final example, the single polygon on the left also has a tiny self-intersection. However, the clipping algorithm sees this vertex (88,50) as simply 'touching' rather than intersecting the right edge of the polygon (though only by a fraction of a unit). Since this intersection won't normally be detected, the clipping solution (eg following a union operation) will still contain this tiny self-intersection. Setting Clipper's <a href="../Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm">StrictlySimple</a> property to true avoids this uncommon problem.<br><br> </p>
+<div style="clear='both'"></div>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm">Clipper.StrictlySimple</a>, <a href="../Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Overview/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Overview/_Body.htm
new file mode 100644
index 0000000..5135549
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Overview/_Body.htm
@@ -0,0 +1,106 @@
+<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>Overview</title>
+
+ <link rel="stylesheet" href="../../Styles/default.css" type="text/css">
+
+ <meta name="keywords" content="clipper,clipping,clip,intersection,union,polygon,offset,library,algorithm,line">
+
+
+ <script type="text/javascript" src="../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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" width="100%" align="right"><img src="../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Overview</h1>
+
+
+ <p class="Body"> The <a href="../_Body.htm"><b>Clipper Library</b></a> performs <b><a href="../Units/ClipperLib/Types/ClipType.htm">clipping</a></b>, and <a href="../Units/ClipperLib/Classes/ClipperOffset/_Body.htm"><b>offsetting</b></a> of both lines and polygons.<br><br> A number of features set Clipper apart from other clipping libraries:
+ <ul>
+
+ <li>it accepts all types of polygons including self-intersecting ones</li>
+
+ <li>it supports multiple polygon filling rules (EvenOdd, NonZero, Positive, Negative)</li>
+
+ <li>it's very fast relative to <a href="http://www.angusj.com/delphi/clipper.php#features" target="_blank">other libraries</a></li>
+
+ <li>it's <a href="http://www.mpi-inf.mpg.de/~kettner/pub/nonrobust_cgta_06.pdf" target="_blank">numerically robust</a></li>
+
+ <li>it also performs line and polygon offsetting</li>
+
+ <li>it's free to use in both freeware and commercial applications</li>
+
+ </ul> <br> </p>
+
+
+ <p class="Body"> <b>Current Version:</b> 6.2.1<br><br> <b>Author &amp; copyright:</b><br> Angus Johnson. Copyright &copy; 2010-2014<br> License, terms and conditions: <a href="./License.htm">Boost Software License</a><br><br> </p>
+
+
+ <p class="Body" id="terminology"> <img src="../../Images/int.png" alt="" border="0" align="right"> <b>Terminology:</b><br>
+ <ul>
+
+ <li><b>Clipping:</b> commonly refers to the process of cutting away from a set of 2-dimensional geometric shapes those parts that are outside a rectangular '<em>clipping</em>' window. This can be achieved by <em>intersecting</em> subject paths (lines and polygons) with a clipping rectangle. In a more general sense, the clipping window need not be rectangular but can be any type of polygon, even multiple polygons. Also, while clipping typically refers to an <em>intersection</em> operation, in this documentation it will refer to any one of the <a href="../Units/ClipperLib/Types/ClipType.htm">four boolean operations</a> (intersection, union, difference and exclusive-or).</li>
+
+ <li><b>Path:</b> is an ordered sequence of vertices defining a single geometric contour that's either a line (an open path) or a polygon (a closed path).</li>
+
+ <li><b>Line:</b> or polyline is an <em>open</em> path containing 2 or more vertices.</li>
+
+ <li><b>Polygon:</b> commonly refers to a two-dimensional region bounded by an outer non-intersecting closed contour. That region may also contain a number of 'holes'. In this documentation however, polygon will simply refer to a <em>closed</em> path.</li>
+
+ <li><b>Contour:</b> synonymous with path.</li>
+
+ <li><b>Hole:</b> is a closed region within a polygon that's not part of the polygon. A 'hole polygon' is a closed path that forms the outer boundaries of a hole.</li>
+
+ <li><b>Polygon Filling Rule:</b> the <a href="../Units/ClipperLib/Types/PolyFillType.htm"><b>filling rule</b></a>, together with a list of closed paths, defines those regions (bounded by paths) that are <em>inside</em> (ie regions 'brush filled' in a graphical display) and those which are <em>outside</em> (ie 'holes').</li>
+
+ </ul><br> </p>
+
+
+ <p class="Body"> <b>Distribution package contents:</b><br><br> The ZIP package contains the Clipper library's source code, a Windows CHM help file, HTML help, and a number of compiled demo applications (with full source code). The library was initially written in <strong>Delphi Pascal</strong> (and compiles with Delphi version 7 or above) but now contains <strong>C++</strong>, <strong>C#</strong> and <strong>Python</strong> translations too. The library's source code in each language is about 5000 lines. The Delphi code contains reasonably extensive comments, but comments are fewer in the C++ and C# code. The included sample applications show how Clipper can be used with the different languages using a number of graphics display libraries including - <b>AGG, Cairo, OpenGL, Graphics32, GDI+</b> and <b>SVG</b>.<br><br> <b>Download Link:</b><br><br> <a href="http://sourceforge.net/projects/polyclipping">SourceForge</a><br><br> <b>References:</b><br><br> The Library is based on but significantly extends Bala Vatti's polygon clipping algorithm as described in <a href="http://portal.acm.org/citation.cfm?id=129906" target="_blank">"A generic solution to polygon clipping"</a>, Communications of the ACM, Vol 35, Issue 7 (July 1992) pp 56-63.<br><br> A section in <a href="http://books.google.com/books?q=vatti+clipping+agoston" target="_blank">"Computer graphics and geometric modeling: implementation and algorithms"</a> by By Max K. Agoston (Springer, 2005) discussing <em>Vatti Polygon Clipping</em> was also helpful in creating the initial Clipper implementation.<br><br> The paper titled <a href="http://www.me.berkeley.edu/~mcmains/pubs/DAC05OffsetPolygon.pdf">"Polygon Offsetting by Computing Winding Numbers"</a> by Chen & McMains (Paper no. DETC2005-85513, ASME 2005. Pages 565-575) contains helpful discussion on the complexities of polygon offsetting together with some solutions.<br><br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../_Body.htm">Source</a>, <a href="License.htm">License</a>, <a href="../Units/ClipperLib/Classes/Clipper/_Body.htm">Clipper</a>, <a href="../Units/ClipperLib/Classes/ClipperOffset/_Body.htm">ClipperOffset</a>, <a href="../Units/ClipperLib/Types/ClipType.htm">ClipType</a>, <a href="../Units/ClipperLib/Types/PolyFillType.htm">PolyFillType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Constructor.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Constructor.htm
new file mode 100644
index 0000000..f51279f
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Constructor.htm
@@ -0,0 +1,95 @@
+<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>Constructor</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">Clipper</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper.Constructor</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>constructor</b> TClipper.Create(InitOptions: <a href="../../../Types/InitOptions.htm">TInitOptions</a> = []);</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> Clipper::Clipper(<b>int</b> initOptions = 0) : ClipperBase();</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public</b> Clipper(initOptions = 0): base() {};</p>
+
+ <p class="Body"> The Clipper constructor creates an instance of the Clipper class. One or more <a href="../../../Types/InitOptions.htm">InitOptions</a> may be passed as a parameter to set the corresponding properties. (These properties can still be set or reset after construction.)<br><br> Examples:<br><br>
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="600px">
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: delphi;">
+ //C++ constructor setting StrictlySimple and PreserveCollinear properties ...
+ Clipper clipper(ioStrictlySimple | ioPreserveCollinear);
+
+ //C# constructor setting StrictlySimple and PreserveCollinear properties ...
+ Clipper clipper = new Clipper(Clipper.ioStrictlySimple | Clipper.ioPreserveCollinear);
+
+ //Delphi constructor setting StrictlySimple and PreserveCollinear properties ...
+ clipper := TClipper.Create([ioStrictlySimple, ioPreserveCollinear]);
+ </pre>
+
+ </td>
+ </tr>
+
+ </table> <div style="clear:both">&nbsp;</div> </p>
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Properties/PreserveCollinear.htm">PreserveCollinear</a>, <a href="../Properties/ReverseSolution.htm">ReverseSolution</a>, <a href="../Properties/StrictlySimple.htm">StrictlySimple</a>, <a href="../../../Types/InitOptions.htm">InitOptions</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Execute.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Execute.htm
new file mode 100644
index 0000000..b551a19
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Methods/Execute.htm
@@ -0,0 +1,91 @@
+<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>Execute</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">Clipper</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper.Execute</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span><br> <b>function</b> Execute(clipType: <a href="../../../Types/ClipType.htm">TClipType</a>;<br> &nbsp;&nbsp;<b>out</b> solution: <a href="../../../Types/Paths.htm">TPaths</a>;<br> &nbsp;&nbsp;subjFillType: <a href="../../../Types/PolyFillType.htm">TPolyFillType</a> = pftEvenOdd;<br> &nbsp;&nbsp;clipFillType: <a href="../../../Types/PolyFillType.htm">TPolyFillType</a> = pftEvenOdd): boolean; <b>overload</b>;<br><br> <b>function</b> Execute(clipType: <a href="../../../Types/ClipType.htm">TClipType</a>;<br> &nbsp;&nbsp;<b>out</b> solution: <a href="../../PolyTree/_Body.htm">TPolyTree</a>;<br> &nbsp;&nbsp;subjFillType: <a href="../../../Types/PolyFillType.htm">TPolyFillType</a> = pftEvenOdd;<br> &nbsp;&nbsp;clipFillType: <a href="../../../Types/PolyFillType.htm">TPolyFillType</a> = pftEvenOdd): boolean; <b>overload</b>; </p>
+
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span><br> <b>bool</b> Execute(<a href="../../../Types/ClipType.htm">ClipType</a> clipType,<br> &nbsp;&nbsp;<a href="../../../Types/Paths.htm">Paths</a> &amp;solution,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> subjFillType = pftEvenOdd,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> clipFillType = pftEvenOdd);<br><br> <b>bool</b> Execute(<a href="../../../Types/ClipType.htm">ClipType</a> clipType,<br> &nbsp;&nbsp;<a href="../../PolyTree/_Body.htm">PolyTree</a> &amp;solution,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> subjFillType = pftEvenOdd,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> clipFillType = pftEvenOdd); </p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span><br> <b>public bool</b> Execute(<a href="../../../Types/ClipType.htm">ClipType</a> clipType,<br> &nbsp;&nbsp;<a href="../../../Types/Paths.htm">Paths</a> solution,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> subjFillType,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> clipFillType);<br><br> <b>public bool</b> Execute(<a href="../../../Types/ClipType.htm">ClipType</a> clipType,<br> &nbsp;&nbsp;<a href="../../PolyTree/_Body.htm">PolyTree</a> solution,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> subjFillType,<br> &nbsp;&nbsp;<a href="../../../Types/PolyFillType.htm">PolyFillType</a> clipFillType); </p>
+
+<br>
+
+ <p class="Body"> Once <em>subject</em> and <em>clip</em> paths have been assigned (via <a href="../../ClipperBase/Methods/AddPath.htm">AddPath</a> and/or <a href="../../ClipperBase/Methods/AddPaths.htm">AddPaths</a>), <b>Execute</b> can then perform the clipping operation (intersection, union, difference or XOR) specified by the <a href="../../../Types/ClipType.htm">clipType</a> parameter.<br><br> The <b>solution</b> parameter can be either a <a href="../../../Types/Paths.htm">Paths</a> or <a href="../../PolyTree/_Body.htm">PolyTree</a> structure. <span class="maroon">The Paths structure is simpler than the PolyTree stucture.</span> Because of this it is quicker to populate and hence clipping performance is a little better (it's roughly 10% faster). However, the PolyTree data structure provides more information about the returned paths which may be important to users. Firstly, <span class="maroon">the PolyTree structure preserves nested parent-child polygon relationships</span> (ie outer polygons owning/containing <em>holes</em> and holes owning/containing other outer polygons etc). Also, <span class="maroon"><b>only the PolyTree structure can differentiate between open and closed paths</b></span> since each PolyNode has an <a href="../../PolyNode/Properties/IsOpen.htm"><b>IsOpen</b></a> property. (The <a href="../../../Types/Path.htm"><b>Path</b></a> structure has no member indicating whether it's open or closed.) For this reason, <span class="maroon"><b>when <em>open</em> paths are passed to a Clipper object, the user must use a PolyTree object as the solution parameter</b></span>, otherwise an exception will be raised.<br><br> When a PolyTree object is used in a clipping operation on <b>open</b> paths, two ancilliary functions have been provided to quickly separate out <em>open</em> and <em>closed</em> paths from the solution - <a href="../../../Functions/OpenPathsFromPolyTree.htm"><b>OpenPathsFromPolyTree</b></a> and <a href="../../../Functions/ClosedPathsFromPolyTree.htm"><b>ClosedPathsFromPolyTree</b></a>. <a href="../../../Functions/PolyTreeToPaths.htm"><b>PolyTreeToPaths</b></a> is also available to convert path data to a Paths structure (irrespective of whether they're <em>open</em> or <em>closed</em>).<br><br> <img src="../../../../../../Images/common_edges.png" alt="" border="0" align="right"> There are several things to note about the solution paths returned:
+ <ul>
+
+ <li>they aren't in any specific order</li>
+
+ <li>they should never overlap or be self-intersecting (but see notes on <a href="../../../../../Overview/Rounding.htm"><b>rounding</b></a>)</li>
+
+ <li>holes will be oriented opposite outer polygons</li>
+
+ <li>the <strong>solution fill type</strong> can be considered either <em>EvenOdd</em> or <em>NonZero</em> since it will comply with either filling rule</li>
+
+ <li>polygons may rarely share a common edge (though this is now <em>very rare</em> as of version 6)</li>
+
+ </ul> </p><br>
+
+
+ <p class="Body"> The <b>subjFillType</b> and <b>clipFillType</b> parameters define the polygon <a href="../../../Types/PolyFillType.htm"><b>fill rule</b></a> to be applied to the polygons (ie closed paths) in the subject and clip paths respectively. (It's usual though obviously not essential that both sets of polygons use the same fill rule.)<br><br> <b>Execute</b> can be called multiple times without reassigning subject and clip polygons (ie when different clipping operations are required on the same polygon sets).<br><br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../../Overview/Example.htm">Example</a>, <a href="../../../../../Overview/Rounding.htm">Rounding</a>, <a href="../../ClipperBase/Methods/AddPath.htm">ClipperBase.AddPath</a>, <a href="../../ClipperBase/Methods/AddPaths.htm">ClipperBase.AddPaths</a>, <a href="../../PolyNode/Properties/IsOpen.htm">PolyNode.IsOpen</a>, <a href="../../PolyTree/_Body.htm">PolyTree</a>, <a href="../../../Functions/ClosedPathsFromPolyTree.htm">ClosedPathsFromPolyTree</a>, <a href="../../../Functions/OpenPathsFromPolyTree.htm">OpenPathsFromPolyTree</a>, <a href="../../../Functions/PolyTreeToPaths.htm">PolyTreeToPaths</a>, <a href="../../../Types/ClipType.htm">ClipType</a>, <a href="../../../Types/Path.htm">Path</a>, <a href="../../../Types/Paths.htm">Paths</a>, <a href="../../../Types/PolyFillType.htm">PolyFillType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/PreserveCollinear.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/PreserveCollinear.htm
new file mode 100644
index 0000000..c198c67
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/PreserveCollinear.htm
@@ -0,0 +1,74 @@
+<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>PreserveCollinear</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">Clipper</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper.PreserveCollinear</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> PreserveCollinear: boolean; <b>override</b>;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> void PreserveCollinear(bool value);</p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public</b> bool PreserveCollinear { get {} set {} };</p>
+
+
+ <p class="Body"> <br> By default, when three or more vertices are collinear in input polygons (subject or clip), the Clipper object removes the 'inner' vertices before clipping. When enabled the PreserveCollinear property prevents this default behavior to allow these inner vertices to appear in the solution. </p>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Methods/Constructor.htm">Constructor</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ReverseSolution.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ReverseSolution.htm
new file mode 100644
index 0000000..4294395
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ReverseSolution.htm
@@ -0,0 +1,76 @@
+<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>ReverseSolution</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">Clipper</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper.ReverseSolution</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> ReverseSolution: boolean; <b>override</b>;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> void ReverseSolution(bool value);</p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public</b> bool ReverseSolution { get {} set {} };</p>
+
+
+ <p class="Body"> When this property is set to true, polygons returned in the <b>solution</b> parameter of the <a href="../Methods/Execute.htm">Execute()</a> method will have orientations opposite to their normal orientations. </p>
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Methods/Execute.htm">Execute</a>, <a href="../../../Functions/Orientation.htm">Orientation</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm
new file mode 100644
index 0000000..b6918cc
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/StrictlySimple.htm
@@ -0,0 +1,88 @@
+<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>StrictlySimple</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">Clipper</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper.StrictlySimple</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> StrictlySimple: boolean; <b>override</b>;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> void StrictlySimple(bool value);</p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public</b> bool StrictlySimple { get {} set {} };</p>
+
+
+ <p class="Body"> <br> <b>Terminology:</b><br>
+ <ul>
+
+ <li>A <em>simple</em> polygon is one that does not self-intersect.</li>
+
+ <li>A <em>weakly simple</em> polygon is a simple polygon that contains 'touching' vertices, or 'touching' edges.</li>
+
+ <li>A <em>strictly simple</em> polygon is a simple polygon that does not contain 'touching' vertices, or 'touching' edges.</li>
+
+ </ul> </p>
+
+ <p class="Body"> Vertices 'touch' if they share the same coordinates (and are not adjacent). An edge touches another if one of its end vertices touches another edge excluding its adjacent edges, or if they are co-linear and overlapping (including adjacent edges).<br><br> Polygons returned by clipping operations (see <a href="../Methods/Execute.htm">Clipper.Execute()</a>) should always be simple polygons. When the <b>StrictlySimply</b> property is enabled, polygons returned will be <em>strictly simple</em>, otherwise they may be <em>weakly simple</em>. It's <b>computationally expensive</b> ensuring polygons are <em>strictly simple</em> and so this property is disabled by default.<br><br> <em>Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.</em><br><br> <img src="../../../../../../Images/simplify2.png" alt="" border="0"> <img src="../../../../../../Images/simplify3.png" alt="" border="0"><br> </p>
+
+
+ <p class="Body"> In the image above, the two examples show weakly simple polygons being broken into two strictly simple polygons. (The outlines with arrows are intended to aid visualizing vertex order.)<br><br> See also the article on <a href="http://en.wikipedia.org/wiki/Simple_polygon" target="_blank">Simple Polygons</a> on Wikipedia. </p>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Methods/Execute.htm">Execute</a>, <a href="../../../Functions/SimplifyPolygons.htm">SimplifyPolygons</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm
new file mode 100644
index 0000000..290061e
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/Properties/ZFillFunction.htm
@@ -0,0 +1,75 @@
+<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>ZFillFunction</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">Clipper</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper.ZFillFunction</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> ZFillFunction: <a href="../../../Types/ZFillCallback.htm">TZFillCallback</a> <b>read</b> FZFillCallback <b>write</b> FZFillCallback;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>void</b> ZFillFunction(<a href="../../../Types/ZFillCallback.htm">ZFillCallback</a> zFillFunc);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public</b> <a href="../../../Types/ZFillCallback.htm">ZFillCallback</a> ZFillFunction { <b>get</b>; <b>set</b>; };</p>
+<br>
+
+ <p class="Body"> <span class="maroon">This property is only exposed when the pre-processor directive <a href="../../../PreProcessor/Defines.htm"><b>use_xyz</b></a> has been defined.</span> If this is the case, a 'Z' member will be included in the <a href="../../../Types/IntPoint.htm">IntPoint</a> structure where users can store custom data. While most vertices in a clipping solution will correspond to input (subject and clip) vertices, there will also be new vertices wherever edges intersect. This property assigns a custom callback function to the Clipper object so that custom 'Z' values can be assigned to these intersection vertices. (Note that 'Z' values in the solution at non-intersecting vertices will simply be copied from matching input vertices along with the X and Y values.) <br><br> It is up to the library user to assign 'Z' values for new intersection vertices (otherwise these values will remain 0). The four vertices that define the intersecting line segments will be passed to the callback function (together with the new intersection vertex) to aid the user in determining appropriate Z values.<br><br>
+ <!-- The <b>CurvesDemo</b> application in the Curves directory in the distribution zip package shows how the Z member together with the callback function can be used to flatten curved paths (defined by control points) and after clipping, to 'de-flatten' or reconstruct curved paths in the clipping solution.<br><br>
+ --> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../PreProcessor/Defines.htm">Defines</a>, <a href="../../../Types/IntPoint.htm">IntPoint</a>, <a href="../../../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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/_Body.htm
new file mode 100644
index 0000000..330ecf1
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/Clipper/_Body.htm
@@ -0,0 +1,149 @@
+<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>Clipper</title>
+
+ <link rel="stylesheet" href="../../../../../Styles/default.css" type="text/css">
+
+ <meta name="Ancestor" content="ClipperBase">
+
+
+ <script type="text/javascript" src="../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Clipper</h1>
+ <h2>Hierarchy</h2>
+ <p class="Hierarchy"></p>
+ <p class="Hierarchy">&nbsp;&nbsp;&nbsp;|</p>
+ <p class="Hierarchy"><a href="../ClipperBase/_Body.htm">ClipperBase</a></p>
+<br>
+
+ <p class="Body"> The <b>Clipper</b> class encapsulates <a href="../../Types/ClipType.htm">boolean operations on polygons</a> (intersection, union, difference and XOR), which is also called <a href="../../../../Overview/_Body.htm#terminology">polygon clipping</a>.<br><br> Input polygons, both <em>subject</em> and <em>clip</em> sets, are passed to a Clipper object by its <a href="../ClipperBase/Methods/AddPath.htm">AddPath</a> and <a href="../ClipperBase/Methods/AddPaths.htm">AddPaths</a> methods, and the clipping operation is performed by calling its <a href="./Methods/Execute.htm">Execute</a> method. Multiple boolean operations can be performed on the same input polygon sets by repeat calls to Execute.<br><br> </p>
+
+ <h2 id="Auto-Reference">Reference</h2>
+ <table>
+ <tr><th>Fields
+ </th><th>Methods
+ </th><th>Properties
+ </th>
+ </tr>
+ <tr>
+ <td colspan="2" class="White">In Clipper:
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="Methods/Constructor.htm">Constructor</a>
+ </td>
+ <td><a href="Properties/PreserveCollinear.htm">PreserveCollinear</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="Methods/Execute.htm">Execute</a>
+ </td>
+ <td><a href="Properties/ReverseSolution.htm">ReverseSolution</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/StrictlySimple.htm">StrictlySimple</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/ZFillFunction.htm">ZFillFunction</a>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="White">In ClipperBase:
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="../ClipperBase/Methods/AddPath.htm">AddPath</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="../ClipperBase/Methods/AddPaths.htm">AddPaths</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="../ClipperBase/Methods/Clear.htm">Clear</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="../ClipperBase/Methods/GetBounds.htm">GetBounds</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../Overview/_Body.htm">Overview</a>, <a href="../../Types/ClipType.htm">ClipType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm
new file mode 100644
index 0000000..de8c944
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm
@@ -0,0 +1,95 @@
+<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>AddPath</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperBase</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperBase.AddPath</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> AddPath(<b>const</b> path: <a href="../../../Types/Path.htm">TPath</a>; polyType: <a href="../../../Types/PolyType.htm">TPolyType</a>; Closed: Boolean): Boolean;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>bool</b> AddPath(<b>const</b> <a href="../../../Types/Path.htm">Path</a> &amp;pg, <a href="../../../Types/PolyType.htm">PolyType</a> polyType, <b>bool</b> closed);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public virtual bool</b> AddPath(<a href="../../../Types/Path.htm">Path</a> pg, <a href="../../../Types/PolyType.htm">PolyType</a> polyType, <b>bool</b> closed);</p>
+<br>
+
+
+ <p class="Body"> <img src="../../../../../../Images/line_clipping.png" alt="" border="0" align="right"> Any number of subject and clip paths can be added to a clipping task, either individually via the AddPath() method, or as groups via the AddPaths() method, or even using both methods.<br><br> 'Subject' paths may be either <em>open</em> (lines) or <em>closed</em> (polygons) or even a mixture of both, but <span class="maroon"><b>'clipping' paths must always be <em>closed</em></b></span>. Clipper allows polygons to clip both lines and other polygons, but doesn't allow lines to clip either lines or polygons.<br><br> With closed paths, <a href="../../../Functions/Orientation.htm">orientation</a> should conform with the <a href="../../../Types/PolyFillType.htm">filling rule</a> that will be passed via Clippper's <a href="../../Clipper/Methods/Execute.htm">Execute</a> method.<br><br> </p>
+
+
+
+ <p class="Body"><b>Path Coordinate range</b>:<br> Path coordinates must be between &plusmn; 0x3FFFFFFFFFFFFFFF (&plusmn; <b>4.6e+18</b>), otherwise a range error will be thrown when attempting to add the path to the Clipper object. If coordinates can be kept between &plusmn; 0x3FFFFFFF (&plusmn; <b>1.0e+9</b>), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by avoiding large integer math. If the preprocessor directive <a href="../../../PreProcessor/Defines.htm"><b>use_int32</b></a> is defined (allowing a further increase in performance of 20-30%), then the maximum range is restricted to &plusmn; 32,767. <br><br></p>
+
+
+ <p class="Body"> <b>Return Value:</b><br> The function will return false if the path is invalid for clipping. A path is invalid for clipping when:
+ <ul>
+
+ <li>it has less than 2 vertices</li>
+
+ <li>it has 2 vertices but is not an open path</li>
+
+ <li>the vertices are all co-linear and it is not an open path</li>
+
+ </ul> </p>
+
+<br>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../../Overview/Example.htm">Example</a>, <a href="../../Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="AddPaths.htm">AddPaths</a>, <a href="../../../Functions/Orientation.htm">Orientation</a>, <a href="../../../PreProcessor/Defines.htm">Defines</a>, <a href="../../../Types/Path.htm">Path</a>, <a href="../../../Types/PolyFillType.htm">PolyFillType</a>, <a href="../../../Types/PolyType.htm">PolyType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm
new file mode 100644
index 0000000..73e1186
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm
@@ -0,0 +1,93 @@
+<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>AddPaths</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperBase</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperBase.AddPaths</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> AddPaths(<b>const</b> paths: <a href="../../../Types/Paths.htm">TPaths</a>; polyType: <a href="../../../Types/PolyType.htm">TPolyType</a>; Closed: Boolean): boolean;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>bool</b> AddPaths(<b>const</b> <a href="../../../Types/Paths.htm">Paths</a> &amp;ppg, <a href="../../../Types/PolyType.htm">PolyType</a> polyType, <b>bool</b> closed);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public virtual bool</b> AddPaths(<a href="../../../Types/Paths.htm">Paths</a> ppg, <a href="../../../Types/PolyType.htm">PolyType</a> polyType, <b>bool</b> closed);</p>
+<br>
+
+ <p class="Body"> <img src="../../../../../../Images/line_clipping.png" alt="" border="0" align="right"> Any number of subject and clip paths can be added to a clipping task, either individually via the AddPath() method, or as groups via the AddPaths() method, or even using both methods.<br><br> 'Subject' paths may be either <em>open</em> (lines) or <em>closed</em> (polygons) or even a mixture of both, but <span class="maroon"><b>'clipping' paths must always be <em>closed</em></b></span>. Clipper allows polygons to clip both lines and other polygons, but doesn't allow lines to clip either lines or polygons.<br><br> With closed paths, <a href="../../../Functions/Orientation.htm">orientation</a> should conform with the <a href="../../../Types/PolyFillType.htm">filling rule</a> that will be passed via Clippper's <a href="../../Clipper/Methods/Execute.htm">Execute</a> method.<br><br> </p>
+
+
+
+ <p class="Body"><b>Path Coordinate range</b>:<br> Path coordinates must be between &plusmn; 0x3FFFFFFFFFFFFFFF (&plusmn; <b>4.6e+18</b>), otherwise a range error will be thrown when attempting to add the path to the Clipper object. If coordinates can be kept between &plusmn; 0x3FFFFFFF (&plusmn; <b>1.0e+9</b>), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by avoiding large integer math. If the preprocessor directive <a href="../../../PreProcessor/Defines.htm"><b>use_int32</b></a> is defined (allowing a further increase in performance of 20-30%), then the maximum range is restricted to &plusmn; 32,767. <br><br></p>
+
+
+ <p class="Body"> <b>Return Value:</b><br> The function will return false if the path is invalid for clipping. A path is invalid for clipping when:
+ <ul>
+
+ <li>it has less than 2 vertices</li>
+
+ <li>it has 2 vertices but is not an open path</li>
+
+ <li>the vertices are all co-linear and it is not an open path</li>
+
+ </ul> </p>
+
+<br>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../../Overview/Example.htm">Example</a>, <a href="../../Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="AddPaths.htm">AddPaths</a>, <a href="../../../Functions/Orientation.htm">Orientation</a>, <a href="../../../PreProcessor/Defines.htm">Defines</a>, <a href="../../../Types/Paths.htm">Paths</a>, <a href="../../../Types/PolyFillType.htm">PolyFillType</a>, <a href="../../../Types/PolyType.htm">PolyType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/Clear.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/Clear.htm
new file mode 100644
index 0000000..e23900b
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/Clear.htm
@@ -0,0 +1,71 @@
+<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>Clear</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperBase</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperBase.Clear</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>procedure</b> Clear;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>virtual void</b> Clear();</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> public void Clear() {};</p>
+
+ <p class="Body"> The <b>Clear</b> method removes any existing subject and clip polygons allowing the Clipper object to be reused for clipping operations on <em>different</em> polygon sets.</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/GetBounds.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/GetBounds.htm
new file mode 100644
index 0000000..efb949a
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/GetBounds.htm
@@ -0,0 +1,76 @@
+<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>GetBounds</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperBase</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperBase.GetBounds</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> GetBounds: <a href="../../../Types/IntRect.htm">TIntRect</a>;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <a href="../../../Types/IntRect.htm">IntRect</a> GetBounds();</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public</b> <a href="../../../Types/IntRect.htm">IntRect</a> GetBounds() {...};</p>
+<br>
+
+ <p class="Body"> This method returns the axis-aligned bounding rectangle of all polygons that have been added to the Clipper object. </p>
+
+<br>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../../Overview/Example.htm">Example</a>, <a href="../../../Types/IntRect.htm">IntRect</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/_Body.htm
new file mode 100644
index 0000000..64a6058
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperBase/_Body.htm
@@ -0,0 +1,91 @@
+<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>ClipperBase</title>
+
+ <link rel="stylesheet" href="../../../../../Styles/default.css" type="text/css">
+
+ <meta name="Ancestor" content="">
+
+
+ <script type="text/javascript" src="../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperBase</h1>
+
+ <p class="Body"> <b>ClipperBase</b> is an abstract base class for <a href="../Clipper/_Body.htm"><b>Clipper</b></a>. A ClipperBase object should not be instantiated directly.</p>
+
+
+ <h2 id="Auto-Reference">Reference</h2>
+ <table>
+ <tr><th>Methods
+ </th>
+ </tr>
+ <tr>
+ <td colspan="1" class="White">In ClipperBase:
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/AddPath.htm">AddPath</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/AddPaths.htm">AddPaths</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/Clear.htm">Clear</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/GetBounds.htm">GetBounds</a>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Clipper/_Body.htm">Clipper</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPath.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPath.htm
new file mode 100644
index 0000000..6aa26b8
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPath.htm
@@ -0,0 +1,73 @@
+<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>AddPath</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.AddPath</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>procedure</b> AddPath(<b>const</b> Path: TPath; JoinType: TJoinType; EndType: TEndType);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> AddPath(<b>const</b> Path&amp; path, JoinType jointype, EndType endtype);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public void</b> AddPath(Path path, JoinType jointype, EndType endtype);</p>
+<br>
+
+
+ <p class="Body"> Adds a <a href="../../../Types/Path.htm"><b>Path</b></a> to a ClipperOffset object in preparation for offsetting.<br><br> Any number of paths can be added, and each has its own <a href="../../../Types/JoinType.htm">JoinType</a> and <a href="../../../Types/EndType.htm">EndType</a>. All 'outer' Paths must have the same orientation, and any 'hole' paths must have reverse orientation. <em>Closed</em> paths must have at least 3 vertices. <em>Open</em> paths may have as few as one vertex. Open paths can only be offset with positive deltas.<br><br> </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Types/EndType.htm">EndType</a>, <a href="../../../Types/JoinType.htm">JoinType</a>, <a href="../../../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPaths.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPaths.htm
new file mode 100644
index 0000000..b0fe3bc
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/AddPaths.htm
@@ -0,0 +1,74 @@
+<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>AddPaths</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.AddPaths</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>procedure</b> AddPaths(<b>const</b> Paths: TPaths; JoinType: TJoinType; EndType: TEndType);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> AddPaths(<b>const</b> Paths&amp; paths, JoinType jointype, EndType endtype);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public void</b> AddPaths(Paths paths, JoinType jointype, EndType endtype);</p>
+<br>
+
+
+ <p class="Body"> Adds <a href="../../../Types/Paths.htm"><b>Paths</b></a> to a ClipperOffset object in preparation for offsetting.<br><br> Any number of paths can be added, and each path has its own <a href="../../../Types/JoinType.htm">JoinType</a> and <a href="../../../Types/EndType.htm">EndType</a>. All 'outer' Paths must have the same orientation, and any 'hole' paths must have reverse orientation. <em>Closed</em> paths must have at least 3 vertices. <em>Open</em> paths may have as few as one vertex. Open paths can only be offset with positive deltas.<br><br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Types/EndType.htm">EndType</a>, <a href="../../../Types/JoinType.htm">JoinType</a>, <a href="../../../Types/Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Clear.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Clear.htm
new file mode 100644
index 0000000..7df15a6
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Clear.htm
@@ -0,0 +1,72 @@
+<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>Clear</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.Clear</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>procedure</b> Clear;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> Clear();</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public void</b> Clear();</p>
+<br>
+
+
+ <p class="Body"> This method clears all paths from the ClipperOffset object, allowing new paths to be assigned.<br><br> </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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Constructor.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Constructor.htm
new file mode 100644
index 0000000..59eed6e
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Constructor.htm
@@ -0,0 +1,74 @@
+<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>Constructor</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.Constructor</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>constructor</b> Create(MiterLimit: Double = 2; RoundPrecision: Double = 0.25);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> ClipperOffset( double miterLimit = 2.0, double roundPrecision = 0.25);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public</b> ClipperOffset( double miterLimit = 2.0, double roundPrecision = 0.25);</p>
+<br>
+
+
+ <p class="Body"> The ClipperOffset constructor takes 2 optional parameters: <a href="../Properties/MiterLimit.htm">MiterLimit</a> and <a href="../Properties/ArcTolerance.htm">ArcTolerance</a>. Thes two parameters corresponds to properties of the same name. MiterLimit is only relevant when JoinType is jtMiter, and ArcTolerance is only relevant when JoinType is jtRound or when EndType is etOpenRound.<br><br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Properties/ArcTolerance.htm">ArcTolerance</a>, <a href="../Properties/MiterLimit.htm">MiterLimit</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Execute.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Execute.htm
new file mode 100644
index 0000000..5ac748d
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Methods/Execute.htm
@@ -0,0 +1,111 @@
+<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>Execute</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.Execute</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>procedure</b> Execute(<b>out</b> solution: TPaths; Delta: Double); <b>overload</b>;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> Execute(Paths& solution, double delta);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public void</b> Execute(ref Paths solution, double delta);</p>
+<br>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>procedure</b> Execute(<b>out</b> PolyTree: TPolyTree; Delta: Double); <b>overload</b>;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> Execute(PolyTree& polytree, double delta);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public void</b> Execute(ref PolyTree polytree, double delta);</p>
+<br>
+
+
+ <p class="Body"> This method takes two parameters. The first is the structure that receives the result of the offset operation (either a PolyTree or a Paths structure). The second parameter is the amount to which the supplied paths will be offset. Negative delta values shrink polygons and positive delta expand them.<br><br> This method can be called multiple times, offsetting the same paths by different amounts (ie using different deltas).<br><br> <img src="../../../../../../Images/offset1.png" alt="" width="310" height="314" border="0" align="right">
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="560px">
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: cpp;">
+#include "clipper.hpp"
+...
+using namespace ClipperLib;
+
+int main()
+{
+ Path subj;
+ Paths solution;
+ subj &lt;&lt;
+ IntPoint(348,257) &lt;&lt; IntPoint(364,148) &lt;&lt; IntPoint(362,148) &lt;&lt;
+ IntPoint(326,241) &lt;&lt; IntPoint(295,219) &lt;&lt; IntPoint(258,88) &lt;&lt;
+ IntPoint(440,129) &lt;&lt; IntPoint(370,196) &lt;&lt; IntPoint(372,275);
+ ClipperOffset co;
+ co.AddPath(subj, jtRound, etClosedPolygon);
+ co.Execute(solution, -7.0);
+
+ //draw solution ...
+ DrawPolygons(solution, 0x4000FF00, 0xFF009900);
+}
+ </pre>
+
+
+ </td>
+ </tr>
+
+ </table> <div style="clear:both">&nbsp;</div> </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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/ArcTolerance.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/ArcTolerance.htm
new file mode 100644
index 0000000..9cfc79c
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/ArcTolerance.htm
@@ -0,0 +1,74 @@
+<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>ArcTolerance</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.ArcTolerance</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> ArcTolerance: double; <span class="Comment">//read and write</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>double</b> ArcTolerance;</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public double</b> ArcTolerance {get; set;}</p>
+<br>
+
+ <p class="Body"> Firstly, this field/property is only relevant when JoinType = jtRound and/or EndType = etRound.<br><br> Since flattened paths can never perfectly represent arcs, this field/property specifies a maximum acceptable imprecision ('tolerance') when arcs are approximated in an offsetting operation. Smaller values will increase 'smoothness' up to a point though at a cost of performance and in creating more vertices to construct the arc.<br><br> The default ArcTolerance is 0.25 units. This means that the maximum distance the flattened path will deviate from the 'true' arc will be no more than 0.25 units (before rounding).<br><br> <span class="maroon">Reducing tolerances below 0.25 will <b>not</b> improve smoothness since vertex coordinates will still be rounded to integer values.</span> The only way to achieve sub-integer precision is through coordinate scaling before and after offsetting (see example below).<br><br> <span class="maroon">It's important to make ArcTolerance a sensible fraction of the offset delta (arc radius)</span>. Large tolerances relative to the offset delta will produce poor arc approximations but, just as importantly, very small tolerances will substantially slow offsetting performance while providing unnecessary degrees of precision. This is most likely to be an issue when offsetting polygons whose coordinates have been scaled to preserve floating point precision.<br><br> <b>Example:</b> Imagine a set of polygons (defined in floating point coordinates) that is to be offset by 10 units using <em>round</em> joins, and the solution is to retain floating point precision up to at least 6 decimal places.<br> To preserve this degree of floating point precision, and given that Clipper and ClipperOffset both operate on integer coordinates, the polygon coordinates will be scaled up by 10<sup>8
+ </sup> (and rounded to integers) prior to offsetting. Both offset delta and ArcTolerance will also need to be scaled by this same factor. <em>If ArcTolerance was left unscaled at the default 0.25 units, every arc in the solution would contain a fraction of 44 THOUSAND vertices</em> while the final arc imprecision would be 0.25 &times; 10<sup>-8
+ </sup> units (ie once scaling was reversed). However, if 0.1 units was an acceptable imprecision in the final <em>unscaled</em> solution, then ArcTolerance should be set to 0.1 &times; scaling_factor (0.1 &times; 10<sup>8
+ </sup>). Now if scaling is applied equally to both ArcTolerance and to Delta Offset, then in this example the number of vertices (steps) defining each arc would be a fraction of 23.<br><br> The <a href="../../../../../../offset_triginometry2.svg">formula</a> for the number of steps in a full circular arc is ... Pi / acos(1 - arc_tolerance / abs(delta)) </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../../../offset_triginometry2.svg">offset_triginometry2</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/MiterLimit.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/MiterLimit.htm
new file mode 100644
index 0000000..3bdf826
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/Properties/MiterLimit.htm
@@ -0,0 +1,75 @@
+<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>MiterLimit</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">ClipperOffset</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset.MiterLimit</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> MiterLimit: double; <span class="Comment">//read and write</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>double</b> MiterLimit;</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public double</b> MiterLimit {get; set;}</p>
+<br>
+
+
+ <p class="Body"> This property sets the maximum distance <em>in multiples of delta</em> that vertices can be offset from their original positions before squaring is applied. (Squaring truncates a miter by 'cutting it off' at 1 &times; delta distance from the original vertex.)<br><br> <b>The default value for MiterLimit is 2</b> (ie twice delta). This is also the smallest MiterLimit that's allowed. If mitering was unrestricted (ie without any squaring), then offsets at very acute angles would generate unacceptably long 'spikes'.<br><br> An example of an offsetting 'spike' at a narrow angle that's a consequence of using a large MiterLimit (25) ...<br> <img src="../../../../../../Images/miterlimit.png" alt="" border="0"> </p>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Types/JoinType.htm">JoinType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/_Body.htm
new file mode 100644
index 0000000..337ed71
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/_Body.htm
@@ -0,0 +1,136 @@
+<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>ClipperOffset</title>
+
+ <link rel="stylesheet" href="../../../../../Styles/default.css" type="text/css">
+
+ <meta name="Ancestor" content="">
+
+
+ <script type="text/javascript" src="../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperOffset</h1>
+<br>
+
+ <p class="Body">The ClipperOffset class encapsulates the process of offsetting (inflating/deflating) both open and closed paths using a number of different join types and end types.<br><br> <em>(This class replaces the now deprecated OffsetPaths function which was less flexible.)</em><br><br> <b>Preconditions for offsetting:</b><br> 1. The orientations of closed paths must be consistent such that outer polygons share the same orientation, and any holes have the opposite orientation (ie non-zero filling). Open paths must be oriented with closed outer polygons.<br> 2. Polygons must not self-intersect. <br><br> <b>Limitations:</b><br> When offsetting, small artefacts may appear where polygons overlap. To avoid these artefacts, offset overlapping polygons separately.<br><br><br> <img src="../../../../../Images/offset1.png" alt="" width="310" height="314" border="0" align="right">
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="560px">
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: cpp;">
+#include "clipper.hpp"
+...
+using namespace ClipperLib;
+
+int main()
+{
+ Path subj;
+ Paths solution;
+ subj &lt;&lt;
+ IntPoint(348,257) &lt;&lt; IntPoint(364,148) &lt;&lt; IntPoint(362,148) &lt;&lt;
+ IntPoint(326,241) &lt;&lt; IntPoint(295,219) &lt;&lt; IntPoint(258,88) &lt;&lt;
+ IntPoint(440,129) &lt;&lt; IntPoint(370,196) &lt;&lt; IntPoint(372,275);
+ ClipperOffset co;
+ co.AddPath(subj, jtRound, etClosedPolygon);
+ co.Execute(solution, -7.0);
+
+ //draw solution ...
+ DrawPolygons(solution, 0x4000FF00, 0xFF009900);
+}
+ </pre>
+
+
+ </td>
+ </tr>
+
+ </table> <div style="clear:both">&nbsp;</div> </p>
+
+ <h2 id="Auto-Reference">Reference</h2>
+ <table>
+ <tr><th>Methods
+ </th><th>Properties
+ </th>
+ </tr>
+ <tr>
+ <td colspan="2" class="White">In ClipperOffset:
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/AddPath.htm">AddPath</a>
+ </td>
+ <td><a href="Properties/ArcTolerance.htm">ArcTolerance</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/AddPaths.htm">AddPaths</a>
+ </td>
+ <td><a href="Properties/MiterLimit.htm">MiterLimit</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/Clear.htm">Clear</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/Constructor.htm">Constructor</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Methods/Execute.htm">Execute</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ </table>
+
+ <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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Methods/GetNext.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Methods/GetNext.htm
new file mode 100644
index 0000000..973c8bc
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Methods/GetNext.htm
@@ -0,0 +1,97 @@
+<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>GetNext</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.GetNext</h1>
+
+
+ <p class="Decl"><span class="Comment"> Del.&raquo; </span><b>function</b> GetNext: TPolyNode;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> PolyNode* GetNext();</p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp">PolyNode</span></b> GetNext();</p>
+
+
+ <p class="Body"> The returned Polynode will be the first child if any, otherwise the next sibling, otherwise the next sibling of the Parent etc.<br><br> A PolyTree can be traversed very easily by calling GetFirst() followed by GetNext() in a loop until the returned object is a null pointer ...<br><br>
+ <table cellspacing="0" cellpadding="0" border="0" align="left" style="margin: 0;" width="600px">
+
+ <tr>
+ <td class="White">
+
+ <pre class="brush: cpp;">
+ PolyTree polytree;
+ //call to Clipper.Execute method here which fills 'polytree'
+
+ PolyNode* polynode = polytree.GetFirst();
+ while (polynode)
+ {
+ //do stuff with polynode here
+
+ polynode = polynode-&gt;GetNext();
+ }
+
+ </pre>
+
+ </td>
+ </tr>
+
+ </table> <div style="clear:both;"></div> </p>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../PolyTree/Methods/GetFirst.htm">PolyTree.GetFirst</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/ChildCount.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/ChildCount.htm
new file mode 100644
index 0000000..4cff1f3
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/ChildCount.htm
@@ -0,0 +1,74 @@
+<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>ChildCount</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.ChildCount</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> ChildCount: Integer; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> ChildCount(); <span class="Comment">//read only</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <span class="CSharp"><b>public int</b></span> ChildCount; <span class="Comment">//read only</span></p>
+
+<br>
+
+ <p class="Body"> Returns the number of PolyNode <a href="./Childs.htm">Childs</a> directly owned by the PolyNode object. </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="Childs.htm">Childs</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Childs.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Childs.htm
new file mode 100644
index 0000000..92e68c4
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Childs.htm
@@ -0,0 +1,75 @@
+<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>Childs</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.Childs</h1>
+
+
+ <p class="Decl"><span class="Comment"> Del.&raquo; </span><b>property</b> Childs[index: Integer]: TPolyNode; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> std<b>::</b>vector &lt; PolyNode* &gt; Childs;<span class="Comment">//public field</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp"> List </span>&lt; <span class="CSharp">PolyNode</span> &gt;</b> Childs; <span class="Comment">//read only property</span></p>
+
+
+ <p class="Body"> A read-only list of PolyNode.<br> Outer PolyNode childs contain hole PolyNodes, and hole PolyNode childs contain nested outer PolyNodes. </p>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="ChildCount.htm">ChildCount</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Contour.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Contour.htm
new file mode 100644
index 0000000..cd4c161
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Contour.htm
@@ -0,0 +1,69 @@
+<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>Contour</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.Contour</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> Contour: TPath; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> Path Contour; <span class="Comment">//public field</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp">Path</span></b> Contour; <span class="Comment">//read only property</span></p>
+
+
+ <p class="Body"> Returns a path list which contains any number of vertices.<br><br> </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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsHole.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsHole.htm
new file mode 100644
index 0000000..fb1375d
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsHole.htm
@@ -0,0 +1,72 @@
+<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>IsHole</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.IsHole</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> IsHole: Boolean; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> bool IsHole; <span class="Comment">//field</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp">bool</span></b> IsHole; <span class="Comment">//read only property</span></p>
+
+
+ <p class="Body"> Returns true when the PolyNode's polygon (<a href="./Contour.htm">Contour</a>) is a <a href="../../../../../Overview/_Body.htm#terminology">hole</a>.<br><br> Children of <em>outer</em> polygons are always <em>holes</em>, and children of <em>holes</em> are always (nested) <em>outer</em> polygons.<br> The IsHole property of a <a href="../../PolyTree/_Body.htm">PolyTree</a> object is undefined but its children are always top-level <em>outer</em> polygons. </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../../Overview/_Body.htm">Overview</a>, <a href="Contour.htm">Contour</a>, <a href="../../PolyTree/_Body.htm">PolyTree</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsOpen.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsOpen.htm
new file mode 100644
index 0000000..be9886d
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/IsOpen.htm
@@ -0,0 +1,72 @@
+<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>IsOpen</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.IsOpen</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> IsOpen: Boolean; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> bool IsOpen; <span class="Comment">//field</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp">bool</span></b> IsOpen; <span class="Comment">//read only property</span></p>
+
+
+ <p class="Body"> Returns true when the PolyNode's <a href="./Contour.htm">Contour</a> results from a clipping operation on an open contour (path). Only top-level PolyNodes can contain open contours.<br><br> </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="Contour.htm">Contour</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Parent.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Parent.htm
new file mode 100644
index 0000000..ae17bf5
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/Properties/Parent.htm
@@ -0,0 +1,69 @@
+<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>Parent</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyNode</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode.Parent</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> Parent: TPolyNode; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> PolyNode* Parent; <span class="Comment">//field</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp">PolyNode</span></b> Parent; <span class="Comment">//read only property</span></p>
+
+
+ <p class="Body"> Returns the parent PolyNode.<br><br> The PolyTree object (which is also a PolyNode) does not have a parent and will return a null pointer. </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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/_Body.htm
new file mode 100644
index 0000000..9f6eb0f
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyNode/_Body.htm
@@ -0,0 +1,125 @@
+<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>PolyNode</title>
+
+ <link rel="stylesheet" href="../../../../../Styles/default.css" type="text/css">
+
+ <meta name="Ancestor" content="">
+
+
+ <script type="text/javascript" src="../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyNode</h1>
+<br>
+
+ <p class="Body"> <b>PolyNodes</b> are encapsulated within a <a href="../PolyTree/_Body.htm"><b>PolyTree</b></a> container, and together provide a data structure representing the parent-child relationships of polygon contours returned by Clipper's <a href="../Clipper/Methods/Execute.htm"><b>Execute</b></a> method.<br><br> A <b>PolyNode</b> object represents a single polygon. Its <a href="./Properties/IsHole.htm">IsHole</a> property indicates whether it's an <a href="../../../../Overview/_Body.htm#terminology">outer</a> or a <a href="../../../../Overview/_Body.htm#terminology">hole</a>. PolyNodes may own any number of PolyNode children (<a href="./Properties/Childs.htm"><b>Childs</b></a>), where children of outer polygons are holes, and children of holes are (nested) outer polygons.<br><br> </p>
+
+ <h2 id="Auto-Reference">Reference</h2>
+ <table>
+ <tr><th>Fields
+ </th><th>Methods
+ </th><th>Properties
+ </th>
+ </tr>
+ <tr>
+ <td colspan="2" class="White">In PolyNode:
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="Methods/GetNext.htm">GetNext</a>
+ </td>
+ <td><a href="Properties/ChildCount.htm">ChildCount</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/Childs.htm">Childs</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/Contour.htm">Contour</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/IsHole.htm">IsHole</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/IsOpen.htm">IsOpen</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Properties/Parent.htm">Parent</a>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../Overview/_Body.htm">Overview</a>, <a href="../Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="../PolyTree/_Body.htm">PolyTree</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/Clear.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/Clear.htm
new file mode 100644
index 0000000..d30fb15
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/Clear.htm
@@ -0,0 +1,73 @@
+<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>Clear</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyTree</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyTree.Clear</h1>
+
+
+ <p class="Decl"><span class="Comment"> Del.&raquo; </span><b>procedure</b> Clear;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> Clear();</p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public void</b> Clear();</p>
+<br>
+
+
+ <p class="Body"> This method clears any PolyNode children contained by PolyTree the object.<br><br> <b>Clear</b> does <em>not</em> need to be called explicitly. The <a href="../../Clipper/Methods/Execute.htm">Clipper.Execute</a> method that accepts a PolyTree parameter will <em>automatically</em> clear the PolyTree object before propagating it with new PolyNodes. Likewise, PolyTree's destructor will also automatically clear any contained PolyNodes. </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../Clipper/Methods/Execute.htm">Clipper.Execute</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/GetFirst.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/GetFirst.htm
new file mode 100644
index 0000000..27011d4
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Methods/GetFirst.htm
@@ -0,0 +1,77 @@
+<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>GetFirst</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyTree</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyTree.GetFirst</h1>
+
+
+ <p class="Decl"><span class="Comment"> Del.&raquo; </span><b>function</b> GetFirst: TPolyNode;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> PolyNode* GetFirst();</p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <b>public <span class="CSharp">PolyNode</span></b> GetFirst();</p>
+
+
+ <p class="Body"> This method returns the first outer polygon contour if any, otherwise a null pointer.<br><br> This function is almost equivalent to calling Childs[0] except that when a PolyTree object is empty (has no children), calling Childs[0] would raise an out of range exception. </p>
+
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../PolyNode/Methods/GetNext.htm">PolyNode.GetNext</a>, <a href="../../PolyNode/Properties/ChildCount.htm">PolyNode.ChildCount</a>, <a href="../../PolyNode/Properties/Childs.htm">PolyNode.Childs</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Properties/Total.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Properties/Total.htm
new file mode 100644
index 0000000..7a6efe2
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/Properties/Total.htm
@@ -0,0 +1,74 @@
+<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>Total</title>
+
+ <link rel="stylesheet" href="../../../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" nowrap=""><a href="../_Body.htm" class="Banner"><img src="../../../../../../Images/_Class.gif" align="absmiddle">PolyTree</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyTree.Total</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>property</b> Total: Integer; <span class="Comment">//read only</span></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> Total(); <span class="Comment">//read only</span></p>
+
+ <p class="Decl3"><span class="Comment"> C#&nbsp;&nbsp;&raquo;</span> <span class="CSharp"><b>public int</b></span> Total; <span class="Comment">//read only</span></p>
+
+<br>
+
+ <p class="Body"> Returns the total number of PolyNodes (polygons) contained within the PolyTree. This value is not to be confused with <a href="../../PolyNode/Properties/ChildCount.htm">ChildCount</a> which returns the number of immediate children only (<a href="../../PolyNode/Properties/Childs.htm">Childs</a>) contained by PolyTree. </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../PolyNode/Properties/ChildCount.htm">PolyNode.ChildCount</a>, <a href="../../PolyNode/Properties/Childs.htm">PolyNode.Childs</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/_Body.htm
new file mode 100644
index 0000000..175df23
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Classes/PolyTree/_Body.htm
@@ -0,0 +1,189 @@
+<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>PolyTree</title>
+
+ <link rel="stylesheet" href="../../../../../Styles/default.css" type="text/css">
+
+ <meta name="Ancestor" content="PolyNode">
+
+
+ <script type="text/javascript" src="../../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyTree</h1>
+ <h2>Hierarchy</h2>
+ <p class="Hierarchy"></p>
+ <p class="Hierarchy">&nbsp;&nbsp;&nbsp;|</p>
+ <p class="Hierarchy"><a href="../PolyNode/_Body.htm">PolyNode</a></p>
+<br>
+
+ <p class="Body"> <b>PolyTree</b> is intended as a <b>read-only</b> data structure that should only be used to receive <em>solutions</em> from clipping and offsetting operations. It's an alternative to the <a href="../../Types/Paths.htm">Paths</a> data structure which also receives these solutions. PolyTree's two major advantages over the <em>Paths</em> structure are: it properly represents the <b>parent-child relationships</b> of the returned polygons; it differentiates between <b>open</b> and <b>closed</b> paths. However, since PolyTree is a more complex structure than the <em>Paths</em> structure, and since it's more computationally expensive to process (the Execute method being roughly 5-10% slower), <span class="maroon">it should used only be when parent-child polygon relationships are needed, or when open paths are being 'clipped'.</span><br><br> An empty PolyTree object can be passed as the <em>solution</em> parameter in <a href="../Clipper/Methods/Execute.htm"><b>Clipper.Execute</b></a> and in <a href="../ClipperOffset/Methods/Execute.htm"><b>ClipperOffset.Execute</b></a>. Once the clipping or offseting operation is completed, the method returns with the PolyTree structure filled with data representing the solution.<br><br> A <b>PolyTree</b> object is a container for any number of <a href="../PolyNode/_Body.htm"><b>PolyNode</b></a> children, with each contained PolyNode representing a single polygon contour (either an <a href="../../../../Overview/_Body.htm#terminology">outer</a> or <a href="../../../../Overview/_Body.htm#terminology">hole</a> polygon). <span class="maroon">PolyTree itself is a specialized PolyNode whose immediate children represent the top-level <em>outer</em> polygons of the solution. (Its own <a href="../PolyNode/Properties/Contour.htm">Contour</a> property is always empty.)</span> The contained top-level PolyNodes may contain their own PolyNode children representing hole polygons that may also contain children representing nested outer polygons etc. Children of <em>outers</em> will always be <em>holes</em>, and children of <em>holes</em> will always be <em>outers</em>.<br><br> <b>PolyTrees</b> can also contain <b>open</b> paths. Open paths will always be represented by <em>top level</em> PolyNodes. Two functions are provided to quickly separate out <em>open</em> and <em>closed</em> paths from a polytree - <a href="../../Functions/OpenPathsFromPolyTree.htm"><b>OpenPathsFromPolyTree</b></a> and <a href="../../Functions/ClosedPathsFromPolyTree.htm"><b>ClosedPathsFromPolyTree</b></a>. <br><br> <div align="left">
+ <table cellspacing="2" cellpadding="0" border="0">
+
+ <tr>
+
+ <td style="background-color: #FFFFFF;">
+<img src="../../../../../Images/polytree.png" alt="" border="0">
+
+ </td>
+
+ <td style="background-color: #FFFFFF;">
+
+ <pre style="font-family: Verdana, Arial, Helvetica, sans-serif;">
+
+ <b>polytree:</b>
+ Contour = <b>()</b>
+ ChildCount = <b>1</b>
+ Childs[0]:
+ Contour = ((10,10),(100,10),(100,100),(10,100))
+ IsHole = <b>False</b>
+ ChildCount = <b>1</b>
+ Childs[0]:
+ Contour = ((20,20),(20,90),(90,90),(90,20))
+ IsHole = <b>True</b>
+ ChildCount = <b>2</b>
+ Childs[0]:
+ Contour = ((30,30),(50,30),(50,50),(30,50))
+ IsHole = <b>False</b>
+ ChildCount = <b>0</b>
+ Childs[1]:
+ Contour = ((60,60),(80,60),(80,80),(60,80))
+ IsHole = <b>False</b>
+ ChildCount = <b>0</b>
+
+ </pre>
+
+ </td>
+
+ </tr>
+
+ </table> </div> </p>
+
+ <h2 id="Auto-Reference">Reference</h2>
+ <table>
+ <tr><th>Fields
+ </th><th>Methods
+ </th><th>Properties
+ </th>
+ </tr>
+ <tr>
+ <td colspan="2" class="White">In PolyTree:
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="Methods/Clear.htm">Clear</a>
+ </td>
+ <td><a href="Properties/Total.htm">Total</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="Methods/GetFirst.htm">GetFirst</a>
+ </td>
+ <td>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="White">In PolyNode:
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td><a href="../PolyNode/Methods/GetNext.htm">GetNext</a>
+ </td>
+ <td><a href="../PolyNode/Properties/ChildCount.htm">ChildCount</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="../PolyNode/Properties/Childs.htm">Childs</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="../PolyNode/Properties/Contour.htm">Contour</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="../PolyNode/Properties/IsHole.htm">IsHole</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="../PolyNode/Properties/IsOpen.htm">IsOpen</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="../PolyNode/Properties/Parent.htm">Parent</a>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../../Overview/_Body.htm">Overview</a>, <a href="../Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="../ClipperOffset/Methods/Execute.htm">ClipperOffset.Execute</a>, <a href="../PolyNode/_Body.htm">PolyNode</a>, <a href="../../Functions/ClosedPathsFromPolyTree.htm">ClosedPathsFromPolyTree</a>, <a href="../../Functions/OpenPathsFromPolyTree.htm">OpenPathsFromPolyTree</a>, <a href="../../Types/Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Area.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Area.htm
new file mode 100644
index 0000000..be30baf
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Area.htm
@@ -0,0 +1,72 @@
+<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>Area</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Area</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> Area(<b>const</b> pts: <a href="../Types/Path.htm">TPath</a>): double;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>double</b> Area(<b>const</b> <a href="../Types/Path.htm">Path</a> &amp;poly);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static double</b> Area(<a href="../Types/Path.htm">Path</a> poly);</p>
+
+
+ <p class="Body">This function returns the area of the supplied polygon. It's assumed that the path is closed and does not self-intersect. Depending on <a href="./Orientation.htm">orientation</a>, this value may be positive or negative. If Orientation is true, then the area will be positive and conversely, if Orientation is false, then the area will be negative.</p>
+<br>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="Orientation.htm">Orientation</a>, <a href="../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygon.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygon.htm
new file mode 100644
index 0000000..5a857fe
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygon.htm
@@ -0,0 +1,88 @@
+<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>CleanPolygon</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>CleanPolygon</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> CleanPolygon(<b>const</b> Poly: TPath; Distance: double = 1.415): TPath;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> CleanPolygon(<b>const</b> Path &amp;in_poly, Path &amp;out_poly, double distance = 1.415);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> CleanPolygon(Path &amp;poly, double distance = 1.415);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Path CleanPolygon(Path poly, double distance = 1.415);</p>
+<br>
+
+
+ <p class="Body"> Removes vertices:
+ <ul>
+
+ <li>that join co-linear edges, or join edges that are almost co-linear (such that if the vertex was moved no more than the specified distance the edges would be co-linear)</li>
+
+ <li>that are within the specified distance of an adjacent vertex</li>
+
+ <li>that are within the specified distance of a semi-adjacent vertex together with their out-lying vertices</li>
+
+ </ul> </p>
+
+ <p class="Body"> Vertices are <em>semi-adjacent</em> when they are separated by a single (out-lying) vertex.<br><br> The <em>distance</em> parameter's default value is approximately &radic;2 so that a vertex will be removed when adjacent or semi-adjacent vertices having their corresponding X and Y coordinates differing by no more than 1 unit. (If the egdes are semi-adjacent the out-lying vertex will be removed too.)<br><br> C++ only: This function is overloaded. In the first definition, the <em>in_poly</em> and <em>out_poly</em> parameters can reference the same <em>Path</em> object though in that case the calling code might be clearer if the second definition (accepting a single <em>Paths</em> parameter) is used.<br><br> <img src="../../../../Images/clean1.png" alt="" border="0">&nbsp;&nbsp;&nbsp; <img src="../../../../Images/clean2.png" alt="" border="0"> </p>
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="CleanPolygons.htm">CleanPolygons</a>, <a href="SimplifyPolygon.htm">SimplifyPolygon</a>, <a href="../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygons.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygons.htm
new file mode 100644
index 0000000..7ec56ed
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/CleanPolygons.htm
@@ -0,0 +1,87 @@
+<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>CleanPolygons</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>CleanPolygons</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> CleanPolygons(<b>const</b> Polys: TPaths; Distance: double = 1.415): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> CleanPolygons(<b>const</b> Paths &amp;in_polys, Paths &amp;out_polys, double distance = 1.415);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> CleanPolygons(Paths &amp;polys, double distance = 1.415);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths CleanPolygons(Paths polys, double distance = 1.415);</p>
+<br>
+
+
+ <p class="Body"> Removes vertices:
+ <ul>
+
+ <li>that join co-linear edges, or join edges that are almost co-linear (such that if the vertex was moved no more than the specified distance the edges would be co-linear)</li>
+
+ <li>that are within the specified distance of an adjacent vertex</li>
+
+ <li>that are within the specified distance of a semi-adjacent vertex together with their out-lying vertices</li>
+
+ </ul> </p>
+
+ <p class="Body"> Vertices are <em>semi-adjacent</em> when they are separated by a single (out-lying) vertex.<br><br> The <em>distance</em> parameter's default value is approximately &radic;2 so that a vertex will be removed when adjacent or semi-adjacent vertices having their corresponding X and Y coordinates differing by no more than 1 unit. (If the egdes are semi-adjacent the out-lying vertex will be removed too.)<br><br> C++ only: This function is overloaded. In the first definition, the <em>in_polys</em> and <em>out_polys</em> parameters can reference the same <em>Paths</em> object though in that case the calling code might be clearer if the second definition (accepting a single <em>Paths</em> parameter) is used.<br><br> <img src="../../../../Images/clean1.png" alt="" border="0">&nbsp;&nbsp;&nbsp; <img src="../../../../Images/clean2.png" alt="" border="0"> </p>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="CleanPolygon.htm">CleanPolygon</a>, <a href="SimplifyPolygons.htm">SimplifyPolygons</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm
new file mode 100644
index 0000000..e050135
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm
@@ -0,0 +1,71 @@
+<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>ClosedPathsFromPolyTree</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClosedPathsFromPolyTree</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> ClosedPathsFromPolyTree(PolyTree: TPolyTree): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> ClosedPathsFromPolyTree(PolyTree& polytree, Paths& paths);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static void</b> ClosedPathsFromPolyTree(PolyTree polytree, Paths paths);</p>
+<br>
+
+
+ <p class="Body"> This function filters out <em>open</em> paths from the <a href="../Classes/PolyTree/_Body.htm"><b>PolyTree</b></a> structure and returns only <em>closed</em> paths in a <a href="../Types/Paths.htm"><b>Paths</b></a> structure. </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/PolyTree/_Body.htm">PolyTree</a>, <a href="../Types/Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiDiff.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiDiff.htm
new file mode 100644
index 0000000..0a3ee4b
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiDiff.htm
@@ -0,0 +1,74 @@
+<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>MinkowskiDiff</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>MinkowskiDiff</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> MinkowskiDiff(<b>const</b> Poly1: TPath; <b>const</b> Poly2: TPath): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> MinkowskiDiff(<b>const</b> Path& poly1, <b>const</b> Path& poly2, Paths& solution);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths MinkowskiDiff(Path poly1, Path poly2);</p>
+<br>
+
+
+ <p class="Body"> <img src="../../../../Images/minkowski2.png" alt="" border="0" align="right"> <b>Minkowski Difference</b> is performed by <em>subtracting</em> each point in a polygon from the set of points in an open or closed path. A key feature of Minkowski Difference is that when it's applied to two polygons, the resulting polygon will contain the coordinate space origin whenever the two polygons touch or overlap. (This function is often used to determine when polygons collide.)<br><br> <em>In the image on the left the blue polygon is the 'minkowski difference' of the two red boxes. The black dot represents the coordinate space origin.</em> </p>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="MinkowskiSum.htm">MinkowskiSum</a>, <a href="../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiSum.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiSum.htm
new file mode 100644
index 0000000..0d4429d
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/MinkowskiSum.htm
@@ -0,0 +1,101 @@
+<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>MinkowskiSum</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>MinkowskiSum</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> MinkowskiSum(<b>const</b> Pattern: TPath; <b>const</b> Path: TPath; PathIsClosed: Boolean): TPaths; <b>overload;</b></p>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> MinkowskiSum(<b>const</b> Pattern: TPath; <b>const</b> Paths: TPaths; PathFillType: TPolyFillType; PathIsClosed: Boolean): TPaths; <b>overload;</b></p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> MinkowskiSum(<b>const</b> Path& pattern, <b>const</b> Path& path, Paths& solution, <b>bool</b> pathIsClosed);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> MinkowskiSum(<b>const</b> Path& pattern, <b>const</b> Paths& paths, Paths& solution, PolyFillType pathFillType, <b>bool</b> pathIsClosed);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths MinkowskiSum(Path pattern, Path path, <b>bool</b> pathIsClosed);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths MinkowskiSum(Path pattern, Paths paths, PolyFillType pathFillType, <b>bool</b> pathIsClosed);</p>
+<br>
+
+
+ <p class="Body"> <b>Minkowski Addition</b> is performed by <em>adding</em> each point in a polygon 'pattern' to the set of points in an open or closed path. The resulting polygon (or polygons) defines the region that the 'pattern' would pass over in moving from the beginning to the end of the 'path'. </p>
+
+
+ <p class="Body"> <img src="../../../../Images/minkowski.png" alt="" border="0" align="right">
+ <pre class="brush: csharp;">
+ Path path = new Path();
+ Path pattern = new Path();
+ Paths solution = new Paths();
+
+ //Greek capital sigma (sum sign) ...
+ Int64[] ints1 = new Int64[] { 300, 400, 100, 400, 200, 300, 100, 200, 300, 200 };
+ path = IntsToPolygon(ints1);
+
+ //diagonal brush pattern ...
+ Int64[] ints2 = new Int64[] { 4, -6, 6, -6, -4, 6, -6, 6 };
+ pattern = IntsToPolygon(ints2);
+
+ solution = Clipper.MinkowskiSum(pattern, path, false);
+ //move 'pattern' to the end of 'path' ...
+ pattern = TranslatePath(pattern, 300, 200);
+
+ //Display solution &plusmn; pattern ...
+ </pre> </p>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="MinkowskiDiff.htm">MinkowskiDiff</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OffsetPaths.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OffsetPaths.htm
new file mode 100644
index 0000000..a0787b7
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OffsetPaths.htm
@@ -0,0 +1,70 @@
+<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>OffsetPaths</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>OffsetPaths</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> OffsetPaths(<b>const</b> polys: Paths; <b>const</b> delta: double; JoinType: TJoinType = jtSquare; EndType: TEndType = etClosed; Limit: double = 0.0): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> OffsetPaths(<b>const</b> Paths &amp;in_polys, Paths &amp;out_polys, <b>double</b> delta, JoinType jointype = jtSquare, EndType endtype = etClosed, <b>double</b> limit = 0.0);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths OffsetPaths(Paths polys, <b>double</b> delta, JoinType jointype = JoinType.jtSquare, EndType endtype = EndType.etClosed, <b>double</b> limit = 0.0);</p>
+<br>
+
+ <p class="Body"> <b>Deprecated.</b> (See <a href="../Classes/ClipperOffset/_Body.htm">ClipperOffset</a>.)<br><br> </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/ClipperOffset/_Body.htm">ClipperOffset</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm
new file mode 100644
index 0000000..3ce9fa9
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm
@@ -0,0 +1,71 @@
+<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>OpenPathsFromPolyTree</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>OpenPathsFromPolyTree</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> OpenPathsFromPolyTree(PolyTree: TPolyTree): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> OpenPathsFromPolyTree(PolyTree& polytree, Paths& paths);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static void</b> OpenPathsFromPolyTree(PolyTree polytree, Paths paths);</p>
+<br>
+
+
+ <p class="Body"> This function filters out <em>closed</em> paths from the <a href="../Classes/PolyTree/_Body.htm"><b>PolyTree</b></a> structure and returns only <em>open</em> paths in a <a href="../Types/Paths.htm"><b>Paths</b></a> structure. </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/PolyTree/_Body.htm">PolyTree</a>, <a href="../Types/Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Orientation.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Orientation.htm
new file mode 100644
index 0000000..6dc02c9
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/Orientation.htm
@@ -0,0 +1,92 @@
+<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>Orientation</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Orientation</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> Orientation(<b>const</b> poly: <a href="../Types/Path.htm">TPath</a>): boolean;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>bool</b> Orientation(<b>const</b> <a href="../Types/Path.htm">Path</a> &amp;poly); <span class="Comment">// Function in the ClipperLib namespace.</span></p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static bool</b> Orientation(<a href="../Types/Path.htm">Path</a> poly); <span class="Comment">// Static method of the Clipper class in the ClipperLib namespace.</span></p>
+
+
+ <p class="Body">Orientation is only important to <em>closed</em> paths. Given that vertices are declared in a specific order, orientation refers to the direction (clockwise or counter-clockwise) that these vertices progress around a closed path.<br><br> Orientation is also dependent on axis direction:<br>
+ <ul>
+
+ <li>On <b>Y-axis positive <em>upward</em> displays</b>, Orientation will return true if the polygon's orientation is counter-clockwise.</li>
+
+ <li>On <b>Y-axis positive <em>downward</em> displays</b>, Orientation will return true if the polygon's orientation is clockwise.</li>
+
+ </ul> </p>
+
+
+ <p class="Body"> <img src="../../../../Images/orientation.png" alt="" border="0" align="left"><br style="clear:both"><br> <b>Notes:</b><br>
+ <ul>
+
+ <li>Self-intersecting polygons have indeterminate orientations in which case this function won't return a meaningful value.</li>
+
+ <li>The majority of 2D graphic display libraries (eg GDI, GDI+, XLib, Cairo, AGG, Graphics32) and even the SVG file format have their coordinate origins at the top-left corner of their respective viewports <em>with their Y axes increasing downward</em>. However, some display libraries (eg Quartz, OpenGL) have their coordinate origins undefined or in the classic bottom-left position with their Y axes increasing upward.</li>
+
+ <li>For Non-Zero filled polygons, the orientation of <a href="../../../Overview/_Body.htm#terminology">holes</a> <em>must be opposite</em> that of <a href="../../../Overview/_Body.htm#terminology">outer</a> polygons.</li>
+
+ <li>For closed paths (polygons) in the <em>solution</em> returned by Clipper's Execute method, their orientations will always be <em>true</em> for outer polygons and <em>false</em> for hole polygons (unless the <a href="../Classes/Clipper/Properties/ReverseSolution.htm"><b>ReverseSolution</b></a> property has been enabled).</li>
+
+ </ul> </p>
+<br>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Overview/_Body.htm">Overview</a>, <a href="../Classes/Clipper/Properties/ReverseSolution.htm">Clipper.ReverseSolution</a>, <a href="../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PointInPolygon.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PointInPolygon.htm
new file mode 100644
index 0000000..6ae3214
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PointInPolygon.htm
@@ -0,0 +1,72 @@
+<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>PointInPolygon</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PointInPolygon</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> PointInPolygon(<b>const</b> Pt: <a href="../Types/IntPoint.htm">TIntPoint</a>; <b>const</b> poly: <a href="../Types/Path.htm">TPath</a>): Integer;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>int</b> PointInPolygon(<b>const</b> <a href="../Types/IntPoint.htm">IntPoint</a> pt, <b>const</b> <a href="../Types/Path.htm">Path</a> &amp;poly); <span class="Comment">// Function in the ClipperLib namespace.</span></p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static int</b> PointInPolygon(<a href="../Types/IntPoint.htm">IntPoint</a> pt, <a href="../Types/Path.htm">Path</a> poly); <span class="Comment">// Static method of the Clipper class.</span></p>
+
+
+ <p class="Body">Returns 0 when false, -1 when pt is <b>on</b> poly and +1 when pt is <b>in</b> poly.<br><br> It's assumed that 'poly' is closed and does not self-intersect. </p>
+
+<br>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Types/IntPoint.htm">IntPoint</a>, <a href="../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PolyTreeToPaths.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PolyTreeToPaths.htm
new file mode 100644
index 0000000..a4762d2
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/PolyTreeToPaths.htm
@@ -0,0 +1,71 @@
+<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>PolyTreeToPaths</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyTreeToPaths</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> PolyTreeToPaths(PolyTree: TPolyTree): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> PolyTreeToPaths(PolyTree& polytree, Paths& paths);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths PolyTreeToPaths(PolyTree polytree);</p>
+<br>
+
+
+ <p class="Body"> This function converts a <a href="../Classes/PolyTree/_Body.htm"><b>PolyTree</b></a> structure into a <a href="../Types/Paths.htm"><b>Paths</b></a> structure. </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/PolyTree/_Body.htm">PolyTree</a>, <a href="../Types/Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePath.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePath.htm
new file mode 100644
index 0000000..d0fe8ec
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePath.htm
@@ -0,0 +1,71 @@
+<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>ReversePath</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ReversePath</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> ReversePath(<b>const</b> polys: TPath): TPath;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> ReversePath(<b>const</b> Path &amp;p);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo; //Call Path.Reverse().</span></p>
+<br>
+
+ <p class="Body"> Reverses the vertex order (and hence orientation) in the specified path. </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Types/Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePaths.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePaths.htm
new file mode 100644
index 0000000..19ebbad
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/ReversePaths.htm
@@ -0,0 +1,70 @@
+<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>ReversePaths</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ReversePaths</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> ReversePaths(<b>const</b> p: TPaths): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> ReversePaths(<b>const</b> Paths &amp;p);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>void</b> ReversePaths( Paths p );</p>
+<br>
+
+
+ <p class="Body"> Reverses the vertex order (and hence orientation) in each contained path. </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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygon.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygon.htm
new file mode 100644
index 0000000..3462f82
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygon.htm
@@ -0,0 +1,75 @@
+<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>SimplifyPolygon</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>SimplifyPolygon</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> SimplifyPolygon(<b>const</b> Poly: TPath; FillType: TPolyFillType = pftEvenOdd): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> SimplifyPolygon(<b>const</b> Path &amp;in_poly, Paths &amp;out_polys, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PolyFillType fillType = pftEvenOdd);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Paths SimplifyPolygon(Path poly, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PolyFillType fillType = PolyFillType.pftEvenOdd);</p>
+<br>
+
+
+ <p class="Body"> Removes self-intersections from the supplied polygon (by performing a boolean <em>union</em> operation using the nominated <a href="../Types/PolyFillType.htm">PolyFillType</a>).<br> Polygons with non-contiguous duplicate vertices (ie 'touching') will be split into two polygons.<br><br> <em>Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.</em><br><br> <img src="../../../../Images/simplify.png" alt="" border="0"><br> <img src="../../../../Images/simplify2.png" alt="" border="0"> <img src="../../../../Images/simplify3.png" alt="" border="0"> </p>
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/Clipper/Properties/StrictlySimple.htm">Clipper.StrictlySimple</a>, <a href="CleanPolygon.htm">CleanPolygon</a>, <a href="../Types/Path.htm">Path</a>, <a href="../Types/PolyFillType.htm">PolyFillType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygons.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygons.htm
new file mode 100644
index 0000000..69c791b
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Functions/SimplifyPolygons.htm
@@ -0,0 +1,76 @@
+<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>SimplifyPolygons</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>SimplifyPolygons</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>function</b> SimplifyPolygons(<b>const</b> polys: TPaths; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FillType: TPolyFillType = pftEvenOdd): TPaths;</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> SimplifyPolygons(<b>const</b> Paths &amp;in_polys, Paths &amp;out_polys, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PolyFillType fillType = pftEvenOdd);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>void</b> SimplifyPolygons(Paths &amp;polys, PolyFillType fillType = pftEvenOdd);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public static</b> Polygons SimplifyPolygons(Paths polys, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PolyFillType fillType = PolyFillType.pftEvenOdd);</p>
+<br>
+
+
+ <p class="Body"> Removes self-intersections from the supplied polygons (by performing a boolean <em>union</em> operation using the nominated <a href="../Types/PolyFillType.htm">PolyFillType</a>).<br> Polygons with non-contiguous duplicate vertices (ie 'vertices are touching') will be split into two polygons.<br><br> C++ only: This function is overloaded. In the first definition, the <em>in_polys</em> and <em>out_polys</em> parameters can reference the same <em>Paths</em> object though in that case the calling code might be clearer if the second definition (accepting a single <em>Paths</em> parameter) is used.<br><br> <em>Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.</em><br><br> <img src="../../../../Images/simplify.png" alt="" border="0"><br> <img src="../../../../Images/simplify2.png" alt="" border="0"> <img src="../../../../Images/simplify3.png" alt="" border="0"> </p>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/Clipper/Properties/StrictlySimple.htm">Clipper.StrictlySimple</a>, <a href="CleanPolygons.htm">CleanPolygons</a>, <a href="../Types/PolyFillType.htm">PolyFillType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/CInt.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/CInt.htm
new file mode 100644
index 0000000..1af7f15
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/CInt.htm
@@ -0,0 +1,70 @@
+<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>CInt</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>CInt</h1>
+
+
+ <p class="Decl">Del.&raquo;<br> {$IFDEF use_int32}<br> &nbsp;cInt = Int32;<br> {$ELSE}<br> &nbsp;&nbsp;cInt = Int64;<br> {$ENDIF}<br> </p>
+
+ <p class="Decl2">C++&nbsp;&raquo;<br> #ifdef use_int32<br> &nbsp;&nbsp;typedef int cInt;<br> #else<br> &nbsp;&nbsp;typedef signed long long cInt;<br> #endif </p>
+
+ <p class="Decl3">C#&nbsp;&nbsp;&raquo;<br> #if use_int32<br> &nbsp;&nbsp;using cInt = Int32;<br> #else<br> &nbsp;&nbsp;using cInt = Int64;<br> #endif </p>
+
+
+ <p class="Body"> <b>cInt</b> is the integer type used by the Clipper Library to represent vertex coordinate values. (See also <a href="./IntPoint.htm">IntPoint</a>.)<br><br> The library uses integers instead of floating point values to preserve <a href="http://www.mpi-inf.mpg.de/~kettner/pub/nonrobust_cgta_06.pdf" target="_blank">numerical robustness</a>. (Very early versions of the library used floating point coordinates, but it became apparent that floating point imprecision was always going to cause occasional errors.)<br><br> By default <b>cInt</b> represents a signed 64bit integer and polygon coordinates can have any value in the range &plusmn; 9.2e+18. This accommodates the scaling of floating point coordinate values to very large integers so that very high degrees of precision can be retained during clipping. However, if coordinate values can be kept within the range &plusmn; 3.0e+9, then by avoiding large integer math, a modest ~10% improvement in clipping performance is achieved.<br><br> If the preprocessor directive <a href="../PreProcessor/Defines.htm"><b>use_int32</b></a> is defined, cInt will represent a signed 32bit integer. This improves clipping performance by 20-30% but the trade-off is that coordinate values are restricted to the much narrower range of &plusmn; 46340. </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../PreProcessor/Defines.htm">Defines</a>, <a href="IntPoint.htm">IntPoint</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ClipType.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ClipType.htm
new file mode 100644
index 0000000..aabc455
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ClipType.htm
@@ -0,0 +1,100 @@
+<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>ClipType</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipType</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TClipType = (ctIntersection, ctUnion, ctDifference, ctXor);</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>enum </b>ClipType { ctIntersection, ctUnion, ctDifference, ctXor };</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public enum</b> ClipType { ctIntersection, ctUnion, ctDifference, ctXor };</p>
+<br>
+
+
+ <p class="Body"> There are four boolean operations - AND, OR, NOT &amp; XOR.<br><br> Given that subject and clip polygon brush 'filling' is defined both by their vertices and their respective <a href="./PolyFillType.htm">filling rules</a>, the four boolean operations can be applied to polygons to define new filling regions:
+ <ul>
+
+ <li>AND (intersection) - create regions where both subject <b>and</b> clip polygons are filled</li>
+
+ <li>OR (union) - create regions where <b>either</b> subject <b>or</b> clip polygons (or both) are filled</li>
+
+ <li>NOT (difference) - create regions where subject polygons are filled <b>except</b> where clip polygons are filled</li>
+
+ <li>XOR (exclusive or) - create regions where <b>either</b> subject <b>or</b> clip polygons are filled <b>but not</b> where <b>both</b> are filled</li>
+
+ </ul> <br> </p>
+
+
+ <p class="Body"> <img src="../../../../Images/cliptype.png" width="175" height="200" alt=""><br> <img src="../../../../Images/intersection.png" width="175" height="200" alt="">&nbsp; <img src="../../../../Images/union.png" width="175" height="200" alt="">&nbsp; <img src="../../../../Images/difference.png" width="175" height="200" alt="">&nbsp; <img src="../../../../Images/xor.png" width="175" height="200" alt=""><br><br> All polygon clipping is performed with a <a href="../Classes/Clipper/_Body.htm">Clipper</a> object with the specific boolean operation indicated by the <em>ClipType</em> parameter passed in its <a href="../Classes/Clipper/Methods/Execute.htm">Execute</a> method. </p><br>
+
+
+ <p class="Body"> With regard to <b>open</b> paths (polylines), clipping rules generally match those of closed paths (polygons).<br> However, when there are both polyline and polygon subjects, the following clipping rules apply:
+ <ul>
+
+ <li>union operations - polylines will be clipped by any overlapping polygons so that non-overlapped portions will be returned in the solution together with the union-ed polygons</li>
+
+ <li>intersection, difference and xor operations - polylines will be clipped only by 'clip' polygons and there will be not interaction between polylines and subject polygons.</li>
+
+ </ul> </p><br>
+
+
+ <p class="Body"> Example of clipping behaviour when mixing polyline and polygon subjects:<br> <img src="../../../../Images/line_clipping2.png"> </p>
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Overview/_Body.htm">Overview</a>, <a href="../Classes/Clipper/_Body.htm">Clipper</a>, <a href="../Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="PolyFillType.htm">PolyFillType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/EndType.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/EndType.htm
new file mode 100644
index 0000000..3c1f21d
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/EndType.htm
@@ -0,0 +1,88 @@
+<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>EndType</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>EndType</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TEndType = (etClosedPolygon, etClosedLine, etOpenSquare, etOpenRound, etOpenButt);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>enum</b> EndType {etClosedPolygon, etClosedLine, etOpenSquare, etOpenRound, etOpenButt};</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public enum</b> EndType {etClosedPolygon, etClosedLine, etOpenSquare, etOpenRound, etOpenButt};</p>
+<br>
+
+ <p class="Body"> The EndType enumerator has 5 values:
+ <ul>
+
+ <li><b>etClosedPolygon:</b> Ends are joined using the JoinType value and the path filled as a polygon</li>
+
+ <li><b>etClosedLine:</b> Ends are joined using the JoinType value and the path filled as a polyline</li>
+
+ <li><b>etOpenSquare:</b> Ends are <em>squared</em> off and extended <b>delta</b> units</li>
+
+ <li><b>etOpenRound:</b> Ends are <em>rounded</em> off and extended <b>delta</b> units</li>
+
+ <li><b>etOpenButt:</b> Ends are squared off with no extension.</li>
+
+ <li class="gray"><b>etOpenSingle:</b> Offsets an open path in a single direction. Planned for a future update.</li>
+
+ </ul> </p>
+
+
+ <p class="Body"> Note: With <em>etClosedPolygon</em> and <em>etClosedLine</em> types, the path closure will be the same regardless of whether or not the first and last vertices in the path match.<br><br> <img src="../../../../Images/endtypes1.png" alt="" border="0"><br> <img src="../../../../Images/endtypes2.png" alt="" border="0"><br> <br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/ClipperOffset/Methods/AddPath.htm">ClipperOffset.AddPath</a>, <a href="../Classes/ClipperOffset/Methods/AddPaths.htm">ClipperOffset.AddPaths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/InitOptions.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/InitOptions.htm
new file mode 100644
index 0000000..0c41d2a
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/InitOptions.htm
@@ -0,0 +1,75 @@
+<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>InitOptions</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>InitOptions</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TInitOption = (ioReverseSolution, ioStrictlySimple, ioPreserveCollinear);</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>enum </b> InitOptions {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ioReverseSolution &nbsp;= 1,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ioStrictlySimple &nbsp;&nbsp;= 2,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ioPreserveCollinear = 4};</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> public const int ioReverseSolution &nbsp;= 1;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public const int ioStrictlySimple &nbsp;&nbsp;= 2;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public const int ioPreserveCollinear = 4;</p>
+<br>
+
+
+ <p class="Body"> </p>
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/Clipper/Methods/Constructor.htm">Clipper.Constructor</a>, <a href="../Classes/Clipper/Properties/PreserveCollinear.htm">Clipper.PreserveCollinear</a>, <a href="../Classes/Clipper/Properties/ReverseSolution.htm">Clipper.ReverseSolution</a>, <a href="../Classes/Clipper/Properties/StrictlySimple.htm">Clipper.StrictlySimple</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntPoint.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntPoint.htm
new file mode 100644
index 0000000..7fbb7ff
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntPoint.htm
@@ -0,0 +1,73 @@
+<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>IntPoint</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>IntPoint</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> TIntPoint = <b>record</b> X, Y: <a href="./CInt.htm">cInt</a>; <b>end;</b></p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>struct</b> IntPoint { <a href="./CInt.htm">cInt</a> X; <a href="./CInt.htm">cInt</a> Y; <b>...</b> };</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public class</b> IntPoint { <b>public</b> <a href="./CInt.htm">cInt</a> X; { get; set; } <b>public</b> <a href="./CInt.htm">cInt</a> Y; { get; set; } <b>...</b> };</p>
+<br>
+
+
+ <p class="Body"> The <b>IntPoint</b> structure is used to represent all vertices in the Clipper Library. An <em>integer</em> storage type has been deliberately chosen to preserve <a href="http://www.mpi-inf.mpg.de/~kettner/pub/nonrobust_cgta_06.pdf" target="_blank"><b>numerical robustness</b></a>. (Early versions of the library used floating point coordinates, but it became apparent that floating point imprecision would always cause occasional errors.)<br><br> A sequence of IntPoints are contained within a <a href="./Path.htm">Path</a> structure to represent a single contour.<br><br> As of version 6, IntPoint now has <span class="maroon">an optional third member 'Z'</span>. This can be enabled by exposing (ie uncommenting) the PreProcessor define '<a href="../PreProcessor/Defines.htm"><b>use_xyz</b></a>'. When the Z member is used, its values will be copied to corresponding verticies in solutions to clipping operations. However, at points of intersection where there's no corresponding Z value, the value will be assigned zero unless a new value is provided by a user supplied <a href="../Classes/Clipper/Properties/ZFillFunction.htm"><b>callback function</b></a>.<br><br> Users wishing to clip or offset polygons containing <em>floating point</em> coordinates need to use appropriate scaling when converting these values to and from <em>IntPoints</em>.<br><br> See also the notes on <a href="../../../Overview/Rounding.htm">rounding</a>. </p>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Overview/Rounding.htm">Rounding</a>, <a href="../Classes/Clipper/Properties/ZFillFunction.htm">Clipper.ZFillFunction</a>, <a href="../PreProcessor/Defines.htm">Defines</a>, <a href="CInt.htm">CInt</a>, <a href="Path.htm">Path</a>, <a href="Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntRect.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntRect.htm
new file mode 100644
index 0000000..baaa12b
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/IntRect.htm
@@ -0,0 +1,69 @@
+<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>IntRect</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>IntRect</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span><br> TIntRect = <b>record</b> left, top, right, bottom: <a href="./CInt.htm">cInt</a>; <b>end;</b></p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span><br> <b>struct</b> IntRect { <a href="./CInt.htm">cInt</a> left; <a href="./CInt.htm">cInt</a> top; <a href="./CInt.htm">cInt</a> right; <a href="./CInt.htm">cInt</a> bottom; <b>...</b> };</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span><br> <b>public class</b> IntRect {<br> &nbsp;&nbsp;<b>public</b> <a href="./CInt.htm">cInt</a> left; { get; set; }<br> &nbsp;&nbsp;<b>public</b> <a href="./CInt.htm">cInt</a> top; { get; set; }<br> &nbsp;&nbsp;<b>public</b> <a href="./CInt.htm">cInt</a> right; { get; set; }<br> &nbsp;&nbsp;<b>public</b> <a href="./CInt.htm">cInt</a> bottom; { get; set; } <b>...</b> };</p>
+
+ <p class="Body">Structure returned by Clipper's <a href="../Classes\ClipperBase\Methods\GetBounds.htm">GetBounds</a> method.</p><br>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/ClipperBase/Methods/GetBounds.htm">ClipperBase.GetBounds</a>, <a href="CInt.htm">CInt</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/JoinType.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/JoinType.htm
new file mode 100644
index 0000000..1820138
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/JoinType.htm
@@ -0,0 +1,78 @@
+<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>JoinType</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>JoinType</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TJoinType = (jtSquare, jtRound, jtMiter);</p>
+
+ <p class="Decl2"><span class="Comment"> C++&nbsp;&raquo;</span> <b>enum</b> JoinType {jtSquare, jtRound, jtMiter};</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public enum</b> JoinType {jtSquare, jtRound, jtMiter};</p>
+<br>
+
+ <p class="Body"> When adding paths to a <a href="../Classes/ClipperOffset/_Body.htm">ClipperOffset</a> object via the <a href="../Classes/ClipperOffset/Methods/AddPaths.htm">AddPaths</a> method, the joinType parameter may be one of three types - jtMiter, jtSquare or jtRound.<br><br> <img src="../../../../Images/jointypes.png" alt="" border="0"><br><br>
+ <ul>
+
+ <li>jtMiter: There's a necessary limit to mitered joins since offsetting edges that join at very acute angles will produce excessively long and narrow 'spikes'. To contain these potential spikes, the ClippOffset object's <a href="../Classes/ClipperOffset/Properties/MiterLimit.htm"><b>MiterLimit</b></a> property specifies a maximum distance that vertices will be offset <em>(in multiples of delta)</em>. For any given edge join, when miter offsetting would exceed that maximum distance, 'square' joining is applied.<br></li>
+
+ <li>jtRound: While flattened paths can never perfectly trace an arc, they are approximated by a series of arc chords (see ClipperObject's <a href="../Classes/ClipperOffset/Properties/ArcTolerance.htm"><b>ArcTolerance</b></a> property).<br></li>
+
+ <li>jtSquare: Squaring is applied uniformally at all convex edge joins at 1 &times; delta.</li>
+
+ </ul> </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/ClipperOffset/_Body.htm">ClipperOffset</a>, <a href="../Classes/ClipperOffset/Methods/AddPaths.htm">ClipperOffset.AddPaths</a>, <a href="../Classes/ClipperOffset/Properties/ArcTolerance.htm">ClipperOffset.ArcTolerance</a>, <a href="../Classes/ClipperOffset/Properties/MiterLimit.htm">ClipperOffset.MiterLimit</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Path.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Path.htm
new file mode 100644
index 0000000..f4d8748
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Path.htm
@@ -0,0 +1,69 @@
+<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>Path</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Path</h1>
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> TPath = <b>array of</b> TIntPoint;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>typedef</b> std::vector&lt;IntPoint&gt; Path;</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>using</b> Path = List&lt;IntPoint&gt;;</p>
+<br>
+
+ <p class="Body"> This structure contains a sequence of <a href="./IntPoint.htm">IntPoint</a> vertices defining <span class="maroon">a single contour</span> (see also <a href="../../../Overview/_Body.htm#terminology">terminology</a>). Paths may be <em>open</em> and represent a series of line segments bounded by 2 or more vertices, or they may be <em>closed</em> and represent polygons. Whether or not a path is open depends on context. <em>Closed</em> paths may be '<em>outer</em>' contours or '<em>hole</em>' contours. Which they are depends on orientation.<br><br> Multiple paths can be grouped into a <a href="./Paths.htm">Paths</a> structure.<br><br> </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../../../Overview/_Body.htm">Overview</a>, <a href="../../../Overview/Example.htm">Example</a>, <a href="../Classes/ClipperBase/Methods/AddPath.htm">ClipperBase.AddPath</a>, <a href="../Classes/PolyTree/_Body.htm">PolyTree</a>, <a href="../Functions/Orientation.htm">Orientation</a>, <a href="IntPoint.htm">IntPoint</a>, <a href="Paths.htm">Paths</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Paths.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Paths.htm
new file mode 100644
index 0000000..417b069
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/Paths.htm
@@ -0,0 +1,76 @@
+<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>Paths</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>Paths</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> TPaths = <b>array of </b><a href="./Path.htm">TPath</a>;</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>typedef</b> std::vector&lt; <a href="./Path.htm">Path</a> &gt; Paths;</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>using</b> Paths = List&lt;List&lt; <a href="./IntPoint.htm">IntPoint</a> &gt;&gt;;</p>
+<br>
+
+ <p class="Body"> This structure is fundamental to the Clipper Library. It's a list or array of one or more <a href="./Path.htm">Path</a> structures. (The <em>Path</em> structure contains an ordered list of vertices that make a single contour.)<br><br> Paths may <em>open</em> (a series of line segments), or they may <em>closed</em> (polygons). Whether or not a path is <em>open</em> depends on context. <em>Closed</em> paths may be '<em>outer</em>' contours or '<em>hole</em>' contours. Which they are depends on orientation.<br><br> </p>
+<br>
+
+
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="../Classes/ClipperBase/Methods/AddPath.htm">ClipperBase.AddPath</a>, <a href="../Classes/ClipperBase/Methods/AddPaths.htm">ClipperBase.AddPaths</a>, <a href="../Functions/OffsetPaths.htm">OffsetPaths</a>, <a href="IntPoint.htm">IntPoint</a>, <a href="Path.htm">Path</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyFillType.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyFillType.htm
new file mode 100644
index 0000000..7a2f93d
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyFillType.htm
@@ -0,0 +1,83 @@
+<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>PolyFillType</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyFillType</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TPolyFillType = (pftEvenOdd, pftNonZero, pftPositive, pftNegative);</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>enum</b> PolyFillType {pftEvenOdd, pftNonZero, pftPositive, pftNegative};</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public enum</b> PolyFillType {pftEvenOdd, pftNonZero, pftPositive, pftNegative};</p>
+<br>
+
+
+ <p class="Body"> <em>Filling</em> indicates those regions that are <em>inside</em> a closed path (ie 'filled' with a brush color or pattern in a graphical display) and those regions that are <em>outside</em>. The Clipper Library supports 4 filling rules: Even-Odd, Non-Zero, Positive and Negative.<br><br> The simplest filling rule is <em>Even-Odd</em> filling (sometimes called <em>alternate</em> filling). Given a group of closed paths start from a point outside the paths and progress along an imaginary line through the paths. When the first path is crossed the encountered region is filled. When the next path is crossed the encountered region is <em>not</em> filled. Likewise, each time a path is crossed, filling starts if it had stopped and stops if it had started.<br><br> With the exception of <em>Even-Odd</em> filling, all other filling rules rely on <b>edge direction</b> and <b>winding numbers</b> to determine filling. Edge direction is determined by the order in which vertices are declared when constructing a path. Edge direction is used to determine the <b>winding number</b> of each polygon subregion.<br><br> <img src="../../../../Images/wn.png" alt="" width="16" height="16" border="0" align="absmiddle"> The winding number for each polygon sub-region can be derived by: <ol>
+
+ <li>starting with a winding number of zero and</li>
+
+ <li>from a point (P1) that's outside all polygons, draw an imaginary line to a point that's inside a given sub-region (P2)</li>
+
+ <li>while traversing the line from P1 to P2, for each path that crosses the imaginary line from right to left increment the winding number, and for each path that crosses the line from left to right decrement the winding number.</li>
+
+ <li>Once you arrive at the given sub-region you have its winding number.</li>
+
+ </ol> </p>
+
+ <p class="Body"> <img src="../../../../Images/winding_number.png" alt="" width="720" height="250" border="0"><br> <b>Even-Odd (Alternate)</b>: Odd numbered sub-regions are filled, while even numbered sub-regions are not.<br> <b>Non-Zero (Winding)</b>: All non-zero sub-regions are filled.<br> <b>Positive</b>: All sub-regions with winding counts &gt; 0 are filled.<br> <b>Negative</b>: All sub-regions with winding counts &lt; 0 are filled.<br><br> Paths are added to a Clipper object using the <a href="../Classes/ClipperBase/Methods/AddPath.htm">AddPath</a> or <a href="../Classes/ClipperBase/Methods/AddPaths.htm">AddPaths</a> methods and the filling rules (for subject and clip polygons separately) are specified in the <a href="../Classes/Clipper/Methods/Execute.htm">Execute</a> method.<br><br> Polygon regions are defined by one or more closed paths which may or may not intersect. A single polygon region can be defined by a single non-intersecting path or by multiple non-intersecting paths where there's typically an 'outer' path and one or more inner 'hole' paths. Looking at the three shapes in the image above, the middle shape consists of two concentric rectangles sharing the same clockwise orientation. With even-odd filling, where orientation can be disregarded, the inner rectangle would create a hole in the outer rectangular polygon. There would be no hole with non-zero filling. In the concentric rectangles on the right, where the inner rectangle is orientated opposite to the outer, a hole will be rendered with either even-odd or non-zero filling. A single path can also define multiple subregions if it self-intersects as in the example of the 5 pointed star shape below.<br><br> <img src="../../../../Images/evenodd.png" alt="" width="175" height="200" border="0">&nbsp;&nbsp; <img src="../../../../Images/nonzero.png" alt="" width="175" height="200" border="0">&nbsp;&nbsp; <img src="../../../../Images/positive.png" alt="" width="175" height="200" border="0">&nbsp;&nbsp; <img src="../../../../Images/negative.png" alt="" width="175" height="200" border="0"><br><br> By far the most widely used fill rules are Even-Odd (aka Alternate) and Non-Zero (aka Winding). Most graphics rendering libraries (<a href="http://www.antigrain.com/__code/include/agg_basics.h.html#filling_rule_e">AGG</a>, <a href="http://developer.android.com/reference/android/graphics/Path.FillType.html">Android Graphics</a>, <a href="http://cairographics.org/manual/cairo-cairo-t.html#cairo-fill-rule-t">Cairo</a>, <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms534120(v=vs.85).aspx">GDI+</a>, <a href="http://www.glprogramming.com/red/chapter11.html">OpenGL</a>, <a href="http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_paths/dq_paths.html#//apple_ref/doc/uid/TP30001066-CH211-TPXREF101">Quartz 2D</a> etc) and vector graphics storage formats (<a href="http://www.w3.org/TR/SVG/painting.html#FillRuleProperty">SVG</a>, Postscript, <a href="http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_17587">Photoshop</a> etc) support both these rules. However some libraries (eg Java's <a href="http://docs.oracle.com/javase/6/docs/api/java/awt/Graphics.html#fillPolygon(int[], int[], int)">Graphics2D</a>) only support one fill rule. <em>Android Graphics</em> and <em>OpenGL</em> are the only libraries (that I'm aware of) that support multiple filling rules.<br><br> It's useful to note that <em>edge direction</em> has no affect on a winding number's odd-ness or even-ness. (This is why <span class="maroon"><a href="../Functions/Orientation.htm">orientation</a> is ignored when the <em>Even-Odd</em> rule is employed.)</span><br><br> The direction of the Y-axis does affect polygon orientation and <em>edge direction</em>. However, changing Y-axis orientation will only change the <em>sign</em> of winding numbers, not their magnitudes, and has no effect on either <em>Even-Odd</em> or <em>Non-Zero</em> filling.<br><br> </p>
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/Clipper/Methods/Execute.htm">Clipper.Execute</a>, <a href="../Classes/ClipperBase/Methods/AddPath.htm">ClipperBase.AddPath</a>, <a href="../Classes/ClipperBase/Methods/AddPaths.htm">ClipperBase.AddPaths</a>, <a href="../Functions/Orientation.htm">Orientation</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyType.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyType.htm
new file mode 100644
index 0000000..48fc46c
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/PolyType.htm
@@ -0,0 +1,73 @@
+<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>PolyType</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>PolyType</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TPolyType = (ptSubject, ptClip);</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>enum</b> PolyType { ptSubject, ptClip };</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public enum</b> PolyType { ptSubject, ptClip };</p>
+<br>
+
+ <p class="Body"> Boolean (clipping) operations are mostly applied to two sets of Polygons, represented in this library as <em>subject</em> and <em>clip</em> polygons. Whenever Polygons are added to the Clipper object, they must be assigned to either subject or clip polygons.<br><br> UNION operations can be performed on one set or both sets of polygons, but all other boolean operations require both sets of polygons to derive meaningful solutions.<br><br> </p>
+
+
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/ClipperBase/Methods/AddPath.htm">ClipperBase.AddPath</a>, <a href="../Classes/ClipperBase/Methods/AddPaths.htm">ClipperBase.AddPaths</a>, <a href="ClipType.htm">ClipType</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ZFillCallback.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ZFillCallback.htm
new file mode 100644
index 0000000..95862c2
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/Types/ZFillCallback.htm
@@ -0,0 +1,71 @@
+<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>ZFillCallback</title>
+
+ <link rel="stylesheet" href="../../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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"><img src="../../../../Images/_Unit.gif" align="absmiddle">ClipperLib</a>
+ </td>
+ <td class="Banner" width="100%" align="right"><img src="../../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ZFillCallback</h1>
+
+
+ <p class="Decl"><span class="Comment">Del.&raquo;</span> <b>type</b> TZFillCallback = <b>procedure</b> (<b>const</b> E1Bot, E1Top, E2Bot, E2Top: TIntPoint; <b>var</b> Pt: TIntPoint);</p>
+
+ <p class="Decl2"><span class="Comment">C++&nbsp;&raquo;</span> <b>typedef void</b> (*ZFillCallback)(const IntPoint&amp; e1bot, IntPoint&amp; e1top, IntPoint&amp; e2bot, IntPoint&amp; e2top, IntPoint&amp; pt);</p>
+
+ <p class="Decl3"><span class="Comment">C#&nbsp;&nbsp;&raquo;</span> <b>public delegate void</b> ZFillCallback(IntPoint bot1, IntPoint top1, IntPoint bot2, IntPoint top2, ref IntPoint pt);</p>
+<br>
+
+ <p class="Body"> If the <a href="../PreProcessor/Defines.htm"><b>use_xyz</b></a> pre-processor directive is enabled, then the IntPoint class will have an extra 'Z' member and the Clipper class's <a href="../Classes/Clipper/Properties/ZFillFunction.htm">ZFillFunction</a> property will be exposed so it can be assigned a custom callback function.<br><br> This custom callback procedure requires five IntPoint parameters: the first 2 parameters are the vertices that define one line segment involved in the intersection and the next two parameters the other line segment. <em>(Since the Clipper library has been developed in an environment that uses an inverted Y axis display, e1bot and e2bot will always have Y values greater than or equal to their corresponding e1top and e2top Y values.)</em> The last IntPoint parameter contain the actual coordinates at the intersection. This last parameter is passed by reference so that its Z member can be assigned with a custom value.<br><br> </p>
+
+
+ <h2 id="Auto-SeeAlso">See Also</h2>
+ <p class="Body"><a href="../Classes/Clipper/Properties/ZFillFunction.htm">Clipper.ZFillFunction</a>, <a href="../PreProcessor/Defines.htm">Defines</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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/_Body.htm
new file mode 100644
index 0000000..8fd8877
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/Units/ClipperLib/_Body.htm
@@ -0,0 +1,188 @@
+<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>ClipperLib</title>
+
+ <link rel="stylesheet" href="../../../Styles/default.css" type="text/css">
+
+
+ <script type="text/javascript" src="../../../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- 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" width="100%" align="right"><img src="../../../Images/_Project_Logo.gif" align="absmiddle">
+ </td>
+ </tr>
+ </table>
+ <h1>ClipperLib</h1>
+
+
+ <p class="Body"> Filenames: clipper.pas; clipper.hpp and clipper.cpp; clipper.cs<br><br> Namespace: <b>ClipperLib</b> </p>
+
+
+ <h2 id="Auto-Contents">Contents</h2>
+ <table>
+ <tr><th>Types
+ </th><th>Classes
+ </th><th>Functions
+ </th>
+ </tr>
+ <tr>
+ <td><a href="Types/CInt.htm">CInt</a>
+ </td>
+ <td><a href="Classes/Clipper/_Body.htm">Clipper</a>
+ </td>
+ <td><a href="Functions/Area.htm">Area</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/ClipType.htm">ClipType</a>
+ </td>
+ <td><a href="Classes/ClipperBase/_Body.htm">ClipperBase</a>
+ </td>
+ <td><a href="Functions/CleanPolygon.htm">CleanPolygon</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/EndType.htm">EndType</a>
+ </td>
+ <td><a href="Classes/ClipperOffset/_Body.htm">ClipperOffset</a>
+ </td>
+ <td><a href="Functions/CleanPolygons.htm">CleanPolygons</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/InitOptions.htm">InitOptions</a>
+ </td>
+ <td><a href="Classes/PolyNode/_Body.htm">PolyNode</a>
+ </td>
+ <td><a href="Functions/ClosedPathsFromPolyTree.htm">ClosedPathsFromPolyTree</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/IntPoint.htm">IntPoint</a>
+ </td>
+ <td><a href="Classes/PolyTree/_Body.htm">PolyTree</a>
+ </td>
+ <td><a href="Functions/MinkowskiDiff.htm">MinkowskiDiff</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/IntRect.htm">IntRect</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/MinkowskiSum.htm">MinkowskiSum</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/JoinType.htm">JoinType</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/OffsetPaths.htm">OffsetPaths</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/Path.htm">Path</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/OpenPathsFromPolyTree.htm">OpenPathsFromPolyTree</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/Paths.htm">Paths</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/Orientation.htm">Orientation</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/PolyFillType.htm">PolyFillType</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/PointInPolygon.htm">PointInPolygon</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/PolyType.htm">PolyType</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/PolyTreeToPaths.htm">PolyTreeToPaths</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Types/ZFillCallback.htm">ZFillCallback</a>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/ReversePath.htm">ReversePath</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/ReversePaths.htm">ReversePaths</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/SimplifyPolygon.htm">SimplifyPolygon</a>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ <td>
+ </td>
+ <td><a href="Functions/SimplifyPolygons.htm">SimplifyPolygons</a>
+ </td>
+ </tr>
+ </table>
+
+ <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
diff --git a/upstream/clipper-6.4.2/Documentation/Docs/_Body.htm b/upstream/clipper-6.4.2/Documentation/Docs/_Body.htm
new file mode 100644
index 0000000..16c5668
--- /dev/null
+++ b/upstream/clipper-6.4.2/Documentation/Docs/_Body.htm
@@ -0,0 +1,168 @@
+<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>Graphics32 Help</title>
+
+ <link rel="stylesheet" href="../Styles/default.css" type="text/css">
+
+ <meta name="Order" content="Overview, Units">
+
+
+ <script type="text/javascript" src="../Scripts/bootstrap.js">
+ </script>
+
+</head>
+
+<body bgcolor="#FFFFFF">
+
+ <!-- THIS FILE HAS BEEN AUTOMATICALLY PROCESSED FROM A SOURCE COPY -->
+
+ <!-- DO NOT EDIT MANUALLY !!! -->
+
+
+ <script language="JavaScript1.2" src="../Scripts/menu_data.js">
+ </script>
+
+ <script language="JavaScript1.2" src="../Scripts/menu_script.js">
+ </script>
+
+ <h1>The Clipper Library - Version 6</h1>
+
+ <table>
+ <tr>
+ <td><a href="Overview/_Body.htm">Library Overview</a>
+ </td>
+ <td><a href="Overview/Changes.htm">Changes</a>
+ </td>
+ <td><a href="Overview/Example.htm">Example</a>
+ </td>
+ <td><a href="Overview/FAQ.htm">FAQ</a>
+ </td>
+ <td><a href="Overview/Rounding.htm">Rounding</a>
+ </td>
+ <td><a href="Overview/Deprecated.htm">Deprecated</a>
+ </td>
+ <td><a href="Overview/License.htm">License</a>
+ </td>
+ </tr>
+ </table>
+ <table class="Home" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="Home" valign="Top">
+ </td>
+ <td class="Home" valign="Top">
+ <h2>Classes (Hierarchy)</h2>
+ <p Class="Tree"><img src="../Images/_BranchEmpty.gif" align="absmiddle" width="1" height="18"><a href="Units/ClipperLib/Classes/ClipperBase/_Body.htm"><img src="../Images/_Class.gif" align="absmiddle">&nbsp;ClipperBase</a></p>
+ <p Class="Tree"><img src="../Images/_BranchEmpty.gif" align="absmiddle" width="1" height="18"><img src="../Images/_BranchRight.gif" align="absmiddle"><a href="Units/ClipperLib/Classes/Clipper/_Body.htm"><img src="../Images/_Class.gif" align="absmiddle">&nbsp;Clipper</a></p>
+ <p Class="Tree"><img src="../Images/_BranchEmpty.gif" align="absmiddle" width="1" height="18"><a href="Units/ClipperLib/Classes/ClipperOffset/_Body.htm"><img src="../Images/_Class.gif" align="absmiddle">&nbsp;ClipperOffset</a></p>
+ <p Class="Tree"><img src="../Images/_BranchEmpty.gif" align="absmiddle" width="1" height="18"><a href="Units/ClipperLib/Classes/PolyNode/_Body.htm"><img src="../Images/_Class.gif" align="absmiddle">&nbsp;PolyNode</a></p>
+ <p Class="Tree"><img src="../Images/_BranchEmpty.gif" align="absmiddle" width="1" height="18"><img src="../Images/_BranchRight.gif" align="absmiddle"><a href="Units/ClipperLib/Classes/PolyTree/_Body.htm"><img src="../Images/_Class.gif" align="absmiddle">&nbsp;PolyTree</a></p>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-Types">Types</h2>
+ <table>
+ <tr>
+ <td><a href="Units/ClipperLib/Types/CInt.htm">CInt</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/InitOptions.htm">InitOptions</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/JoinType.htm">JoinType</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/PolyFillType.htm">PolyFillType</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Units/ClipperLib/Types/ClipType.htm">ClipType</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/IntPoint.htm">IntPoint</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/Path.htm">Path</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/PolyType.htm">PolyType</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Units/ClipperLib/Types/EndType.htm">EndType</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/IntRect.htm">IntRect</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/Paths.htm">Paths</a>
+ </td>
+ <td><a href="Units/ClipperLib/Types/ZFillCallback.htm">ZFillCallback</a>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-Functions">Functions</h2>
+ <table>
+ <tr>
+ <td><a href="Units/ClipperLib/Functions/Area.htm">Area</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/ClosedPathsFromPolyTree.htm">ClosedPathsFromPolyTree</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/OffsetPaths.htm">OffsetPaths</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/PointInPolygon.htm">PointInPolygon</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/ReversePaths.htm">ReversePaths</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Units/ClipperLib/Functions/CleanPolygon.htm">CleanPolygon</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/MinkowskiDiff.htm">MinkowskiDiff</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/OpenPathsFromPolyTree.htm">OpenPathsFromPolyTree</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/PolyTreeToPaths.htm">PolyTreeToPaths</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/SimplifyPolygon.htm">SimplifyPolygon</a>
+ </td>
+ </tr>
+ <tr>
+ <td><a href="Units/ClipperLib/Functions/CleanPolygons.htm">CleanPolygons</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/MinkowskiSum.htm">MinkowskiSum</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/Orientation.htm">Orientation</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/ReversePath.htm">ReversePath</a>
+ </td>
+ <td><a href="Units/ClipperLib/Functions/SimplifyPolygons.htm">SimplifyPolygons</a>
+ </td>
+ </tr>
+ </table>
+ <h2 id="Auto-Units">Units</h2>
+ <table>
+ <tr>
+ <td><a href="Units/ClipperLib/_Body.htm">ClipperLib</a>
+ </td>
+ </tr>
+ </table>
+
+ <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