| 
   | 
 ||||
| 
   QisBool
  API Reference  | 
 ||||
| 
   QisBool
  API version v1.0 QisBool
  Document version v1.0 (April 06, 2012)  | 
 ||||
| 
   | 
 ||||
| 
   | 
 ||||
| 
   | 
 ||||
| 
   | 
 ||||
| 
   | 
 ||||
| 
   | 
 ||||
| 
   | 
 ||||
| 
   Basic concepts, terminologies  | 
 ||||
| 
   Understand what is a QisBool object  | 
 ||||
| 
   Understand how QisBool treats the numbers that represent geometry
  such as co-ordinate values, width, sizes, gaps etc.  | 
 ||||
| 
   Understand how a polygon is represented in QisBool  | 
 ||||
| 
   Understand what is a leonov polygon and how it is represented in
  QisBool  | 
 ||||
| 
   Understand what are cutlines and why they are used  | 
 ||||
| 
   Understand what is butting and how it is used  | 
 ||||
| 
   Understand what is a re-entrant polygon  | 
 ||||
| 
   Understand what is a self-touching polygon  | 
 ||||
| 
   Understand what kind of polygons are likely to be treated as
  illegal  | 
 ||||
| 
   Understand what is convex in X, Y or both  | 
 ||||
| 
   Understand the various techniques used for sizing polygons  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Create and destroy instances of
  QisBool  | 
 ||||
| 
   Create an instance of QisBool  | 
 ||||
| 
   Destroy an instance of QisBool  | 
 ||||
| 
   Get Error details when a QisBool function fails  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Control various settings that
  affect the Core functions  | 
 ||||
| 
   Control overlap amount between butting output polygons  | 
 ||||
| 
   Perform enhanced validation of input
  polygons  | 
 ||||
| 
   Control the level of validation for input polygons  | 
 ||||
| 
   Control whether polygons inside another are
  treated as holes   | 
 ||||
| 
   Specify maximum number of vertices in output polygons  | 
 ||||
| 
   Set a clipping window  | 
 ||||
| 
   Control if the partitioned data is unionized after the Boolean
  operation is complete  | 
 ||||
| 
   Control how the data is partitioned during Boolean operations  | 
 ||||
| 
   Control the number of vertices per partition during
  auto-partitioning  | 
 ||||
| 
   Specify how the polygons are sized during Boolean operations  | 
 ||||
| 
   Specify amount of sizing for standard and isotropic sizing  | 
 ||||
| 
   Specify the amount of non-isotropic sizing in X and Y  | 
 ||||
| 
   Control how round corners are handled for isotropic and
  non-isotropic sizing   | 
 ||||
| 
   Smoothen polygon edges by removing edges smaller than a set  threshold  | 
 ||||
| 
   Remove output polygons smaller/thinner than a certain threshold  | 
 ||||
| 
   Specify chord error for approximating the roundness of round
  paths  | 
 ||||
| 
   Specify if either of the input polygon sets contain Leonov
  polygons  | 
 ||||
| 
   Specify how to output polygons with holes   | 
 ||||
| 
   Control whether the output polygons are convex in x, fully convex
  or trapezoids.  | 
 ||||
| 
   Instruct QisBool_Booleanize to check and take advantage of
  manhattan data in the input  | 
 ||||
| 
   Remember butting-edges to be returned later using
  QisBool_GetSliceEdges  | 
 ||||
| 
   Control the width/thickness of the lines returned by
  QisBool_GetSliceEdges  | 
 ||||
| 
   Force union of input polygons even if they are Leonov  | 
 ||||
| 
   Reset QisBool settings to default values  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Various Boolean operations  | 
 ||||
| 
   Perform single threaded union, intersection, difference and xor
  operations on sets of polygons  | 
 ||||
| 
   Perform multi-threaded union on a set of polygons  | 
 ||||
| 
   Perform multi-threaded intersection, difference and xor
  operations on two sets of polygons  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Miscellaneous and Utility
  functions  | 
 ||||
| 
   Get QisBool version information  | 
 ||||
| 
   Release the memory allocated by QisBool to store output polygons
  from Boolean operations  | 
 ||||
| 
   Release memory allocated by QisBool to store an array of integers  | 
 ||||
| 
   Get a list of co-ordinates where QisBool encountered illegal
  polygons in the input  | 
 ||||
| 
   Get a list of cutlines if a polygon has any  | 
 ||||
| 
   Get the edges (slices) used to generate butting polygons during
  Boolean operations  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Perform operations on a single
  polygon or path  | 
 ||||
| 
   Re-order the polygon vertices to counter-clockwise direction  | 
 ||||
| 
   Get the area of a polygon  | 
 ||||
| 
   Convert a polygon into one or more convex polygons  | 
 ||||
| 
   Convert round path to boundaries  | 
 ||||
| 
   Convert flush or half-extended path to boundaries  | 
 ||||
| 
   Group connected boundaries into sets  | 
 ||||
| 
   Limit the number of vertices in the input polygons and get a list
  of edges used to break them.  | 
 ||||
| 
   Limit the number of vertices in the input polygons  | 
 ||||
| 
   Resize a polygon using standard sizing  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Check if point/boundary/path
  cross specific regions  | 
 ||||
| 
   Check the location of a point with respect  to a polygon  | 
 ||||
| 
   Check the location of a point with respect to set of polygons  | 
 ||||
| 
   Check the location of a boundary/path with respect to another
  boundary  | 
 ||||
| 
   Setup a list of rectangular windows so that it can be used later by
  QisBool_PolyCrossWindows  | 
 ||||
| 
   Setup a list of polygonal windows so that it can be used later by
  QisBool_PolyCrossRegions and QisBool_PolyCrossLeonovRegions  | 
 ||||
| 
   Release the memory allocated by QisBool_SetupWindows and
  QisBool_SetupRegions  to store the
  window data   | 
 ||||
| 
   Check if a polygon crosses a set of rectangular windows  | 
 ||||
| 
   Check if a polygon crosses a set of polygonal windows  | 
 ||||
| 
   Check if a polygon crosses a set of leonov regions  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   Clipping functions for Paths  | 
 ||||
| 
   Clip a path to a polygonal region  | 
 ||||
| 
   Clip a path to a rectangular window  | 
 ||||
| 
   Clip a path to a leonov region  | 
 ||||
| 
   Clip a path to multiple regions  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   | 
 ||||
| 
   Single threaded union of polygons obtained from a single window
  using QisLib  | 
 ||||
| 
   | 
  
   | 
 |||
| 
   | 
 ||||
| 
   | 
  
   | 
 |||
| 
   | 
  
   | 
 |||
| 
   © 2012 Artwork Conversion
  Software Inc.  | 
 ||||
| 
   417 Ingalls St. Santa Cruz CA
  95060  | 
 ||||
| 
   [T] +1 831-426-6163 [F] +1
  831-[E] info@artwork.com  | 
 ||||