<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.»</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++ »</span> <b>bool</b> AddPaths(<b>const</b> <a href="../../../Types/Paths.htm">Paths</a> &ppg, <a href="../../../Types/PolyType.htm">PolyType</a> polyType, <b>bool</b> closed);</p> <p class="Decl3"><span class="Comment">C# »</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 ± 0x3FFFFFFFFFFFFFFF (± <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 ± 0x3FFFFFFF (± <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 ± 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 ©2010-2014 Angus Johnson - Clipper 6.2.1 - Help file built on 1-November-2014 <br><br> </p> </body> </html>