page header

QisMHExtractor API

The QisHMExtractor is used to extract a "window" or other "region" from a GDSII/OASIS layout file. However, instead of completely flattening the data during the extraction process, this class attempts to preserve as much hierarchy as possible -- often resulting in a much smaller output.

View the header file: qismhextract.h
QisMHExtract architecture

Setting Up the QisMExploder

Flags

ClipMode

Controls the behavior at the boundary of the clipping region.

CLIP_OFF=0           No clipping. Partially crossing boundaries, paths, refs are extracted as-is 

CLIP_PART_POLYS=1    Partially crossing boundaries are clipped, partially crossing paths are 
                     converted to boundaries and clipped, partially crossing refs are exploded 

DROP_PART_POLYS=2    Partially crossing boundaries/paths are dropped, partially crossing refs 
                     are exploded 

DROP_PART_DATA=3     All partially crossing entities are dropped 

The illustrations below show how the ClipMode would affect a group of polygons.


ClipMode=0 (CLIP_OFF)

In this mode, no clipping is done. Any polygon which is contained or crosses/touches the clipping boundary is retained.

no clip

ClipMode=1 (CLIP_PART_POLYS)

In this mode, any part of a polygon (or path) that crosses the clipping boundary is clipped off.

clip crossing polys


ClipMode=2 (DROP_PART_POLYS)

In this mode, any poly that touches/crosses the clipping path is completely dropped in the output.

drop partial polys


FileFormat

Controls the output file format

FMT_GDSII=0          Output GDSII file

FMT_OASIS=1          Output OASIS file

FMT_COASIS=2         Output compressed OASIS file 
                     At the moment, same as FMT_OASIS



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