[Artwork] / [QisMLib]

QisMBool

Perform boolean operations on large sets of polygons

QisMBool Polygon Representation

http://artwork.com/gdsii/qisbool/QisBool_Reference/QisBool.concepts.htm#PolygonRepresentation

QisMBool C++ API (qismbool.h)

QisMBool Flags

Various enumerted constants...

OpCode

Operation codes to be used with BooleanST and BinaryMT that define the operation to be performed between sets of polygons

Leonov

Ways to output polygons with holes. Refer to http://www.artwork.com/gerber/netex-g/geometry_options.htm for more information

Sizing

Ways to resize polygons. Refer to http://www.artwork.com/gdsii/qisbool/QisBool_Reference/QisBool.concepts.htm#SizingTechniques for more information on sizing techniques

PointCross

Representation of different ways a point interacts/crosses a polygon

ValidationMode

Level of validation for the input set of polygons

PartitionMode

Data partitioning modes for multi-threaded operations https://www.artwork.com/gdsii/qisbool/QisBool_Reference/QisBool.control.htm#QisBoolOptions_SetPartition

RoundCorners

Options for round corners during ISOTR and NONISOTR sizing https://www.artwork.com/gdsii/qisbool/QisBool_Reference/QisBool.control.htm#QisBoolOptions_SetRoundCorners

ConvexMode

Options for generating convex-only polygons in the output https://www.artwork.com/gdsii/qisbool/QisBool_Reference/QisBool.control.htm#QisBoolOptions_SetConvexOutput

LeonovIn

Specify if any of the input sets is Leonov https://www.artwork.com/gdsii/qisbool/QisBool_Reference/QisBool.control.htm#QisBoolOptions_SetLeonovInput

UnionizeQueueMTOpts

Parameter types for QisMBoolV3::Unionize_queue_mt

QisMBoolNotify

Receive notifications for certain QisMBool operations

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived).

On_qismbool_notify

Notification that a set of polygons is ready for output

Get_qismbool_error_msg

Return an error string to support terminating the operation in question

QisMBoolSettings

Interface to the boolean settings object used to control the execution and output of boolean operations

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived).

Set_clip_window

Get_clip_window_minX

Get_clip_window_minY

Get_clip_window_maxX

Get_clip_window_maxY

Set/Get extents of the clipping window. Default: off (0,0,0,0)

Set_leonov_output

Get_leonov_output

Set/Get mode to handle polygons with holes in the output.

Set_max_points

Get_max_points

Set/Get maximum number of vertices for any polygon in the output.

Set_overlap

Get_overlap

Set/Get overlap between butting polygons (used in conjunction with LNV_OUT_BUTTING).

Set_sizing_mode

Get_sizing_mode

Set/Get mode to control how polygons are resized.

Set_sizing_value

Get_sizing_value

Set/Get the amount of sizing to be applied (in conjunction with Sizing_mode) for only STD and ISOTR sizing

Set_pass_through_mode

Get_pass_through_mode

Reserved for internal use. Default: off (false)

Set_merge_stripes

Get_merge_stripes

Remove the partition lines created because of load-sharing (partitioning) between threads.

Set_sliver

Get_sliver

Set the threshold value (> 0.0 database units) such that polygons smaller then this value (slivers) will be removed.

Reset

Reset boolean settings to default values

QisMBoolParam

Types of parameters to be used in conjunction with QisMBoolSettingsV2::Set_param and QisMBoolSettingsV2::Get_param

QisMBoolSettingsV2

Extension #2 for QisMBoolSettings

Copy

Clone

Copy settings from another object or create a new object with current settings

Set_param

Get_param

Set/Get QisMBoolSettings parameter

QisMBoolSettingsV3

Extension #3 for QisMBoolSettings

Parent

Get a pointer to the QisMBool API

QisMBoolInst

Interface to an instance of QisMBool which performs various boolean operations on polygonal data

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived).

Get_bool_id

Reserved for internal use

Get_last_error_msg

Get_last_error_code

Get more information about the last error condition

BooleanST

Perform Boolean operations (single threaded) such as Unary Union, Binary Union, Difference, XOR and Intersection on up to two sets of polygons

UnionMT

Unionize a set of polygons using multiple threads

BinaryMT

Perform Boolean operations such as Unary Union, Binary Union, Difference, XOR and Intersection on up to two sets of polygons using multiple threads

Release

Release the memory allocated by the Boolean operations to store output polygons

QisMBoolInstV2

Extension #2 for QisMBoolInst

Parent

Get a pointer to the QisMBool API

QisMBoolInstV3

Extension #3 for QisMBoolInst

Export_state

Import_state

Apply_settings

QisMBool

Gateway to the QisMBool extension

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived).

Get_last_error_msg

Get_last_error_code

Get more information about the last error condition

Create_instance

Destroy_instance

Create/Destroy an instance of QisMBool

New_settings

Delete_settings

Create/Destroy an instance of the boolean settings object

QisMBoolV2

Parent

Get a handle to QisMLib

QisMBoolV3

Unionize_queue_mt

Unionize a partitioned view of a db processing multiple tiles in parallel

QisMBoolX

Extension API for specialized boolean operations

Version Control

Cast to a pointer of another version in the class hierarchy (base/derived).

Get_last_error_msg

Get_last_error_code

Get more information about the last error condition

Point_on_polygon

Test if a point lies on a polygon

Find_connected_sets

Group polygons from a set into sets of geometrically connected polygons

Release_sets

Release the memory allocated to store information about connected polygons

QisMBoolXV2

Compute_leonov_embedding_levels

For a given set of leonov polygons, compute the embedding level for each boundary (outer and hole) in the set.

QisMBoolXV3

Parent

Get a handle to QisMLib

QisMBool Commands

See qismbool.h for the relevant C++ API

bool.create_instance

boolinst.export

boolinst.import

boolinst.apply

bool.destroy_instance

bool.create_settings

bool.destroy_settings

boolsettings.set

boolinst.union

boolinst.binary

boolinst.delete_store

bool.unionize_to_file

QisMBool Licensing

COUNTCODEOPERATIONNOTES
+111047C++ QisMBool::Create_instance()ONCE per call
-111047C++ QisMBool::Destroy_instance()ONCE per call
+111047Script bool.create_instanceONCE per call
-111047Script bool.destroy_instanceONCE per call
+/-N11047C++ QisMBoolV3::Unionize_queue_mtN per call, N = no. processors

ARTWORK CONVERSION SOFTWARE, INC.
417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163  email: info@artwork.com

Last Updated -- Thu Jan 22 18:58:17 UTC 2026