|
||||
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 |
||||