QisMLib Web Page Header

QisMLayerSynth Extension - Frequently Asked Questions

Q. What Boolean operations between layers are supported?

A. See the table below:

Operation Serial Notation Postfix Notation
Union (+) "0:0 = 1:1 + 2" "@1:1 2 + 0:0 ~"
Difference (-) "0:0 = 1:1 - 2" "@1:1 2 - 0:0 ~"
XOR (^) "0:0 = 1:1 ^ 2" @1:1 2 ^ 0:0 ~"
Intersection/AND (&) "0:0 = 1:1 & 2" "@1:1 2 & 0:0 ~"
OR (merge without union) ( | ) "0:0 = 1:1 | 2" "@1:1 2 | 0:0 ~"
Assignment (=) "0:0 = 1" "1 0:0 ~"



Q. How does the client application access the QisMLayerSynth API ?

A. At installation time:


At the time of application development:


Q. What are the key API features of QisMLayerSynth ?

A. See the table below

Key Operations Objective

QisMLayerSynth::New_synthesizer

Create an instance of the synthesizer object
Requires ONE license of 11069

QisMLayerSynth::Delete_synthesizer

Destroy an instance of the synthesizer object
Releases ONE license of 11069 held by the synthesizer object

QisMLayerSynth::Is_layerspec_valid

Test if an expression is valid

QisMLayerSynthObject::Synthesize_layers

Synthesize new layers based on the specified layer expression for the specified window into the view cell
The synthesized layers are transmitted back to the client application via the specified handler (callback)



Q. How does QisMLayerSynth leverage multiple CPUs (threads)?

A. A single synthesizer object can use multiple threads to perform boolean operations (UNION, INTERSECTION, XOR, DIFFERENCE)

Multiple synthesizer objects can work on multiple windows in parallel threads completely independent from one another



Q. How can I get up to speed quicly on QisMLayerSynth?

A. We provide a sample application that exercises the library called layersynthapp64 located in ${install_dir}/artwork which can be used to see QisMLib and QisMlayerSynth API's in action.

The detailed command line reference can be found in layersynthapp-command-line.txt/.readme in ${install_dir}/reference.

The C++ source code for this sample app can be found in $[install_dir}/samplecode in the following file: layersynthesis.cpp.