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 417 Ingalls St. Santa Cruz CA 95060 [T] +1 831-426-6163 [F] +1 831-426-2824 [E] info@artwork.com