QIS Documentation OASIS Specific

The Qckvu Image Server is designed to read GDSII or OASIS file and to serve up to another application either image or vector data based on that file. It is designed to handle very large files. The connection between QIS and another application is via TCP/IP.

qic_flow.gif
This section is meant to isolate commands that are unique to OASIS. For GDSII specific API commands, please go to the main documentation page.



OASIS Parser Error Messages

OASIS is a relatively new format and it is possible that many OASIS readers and writers will not be as compatible as end users would hope for. Therefore it is important that QIS's OASIS parser generate precise error messages that can be used to track down problems. These error messages are summarized here.

Index of OASIS Specific Commands

Opening an OASIS File

Open_OASIS instructs QIS to open an OASIS file.
Set_OASIS_Compression instructs QIS to save OASIS output with CBLOCKs (compressed data) within cells.
Errors and Warnings describes error and warning messages returned to the client if a problem in opening the OASIS file is encountered by QIS.
Close_OASIS instructs QIS to close a OASIS file.
New_OASIS instructs QIS to open a new (empty) OASIS file.
Reload_OASIS instructs QIS to reload an existing OASIS file.
Save_OASIS instructs QIS to save the current OASIS file in memory to disk.
Set_OASIS_Compression instructs QIS (when saving an OASIS file) whether to use CBLOCK compression or not.
Save_OASIS_Structure instructs QIS
Get_OASIS instructs QIS
Get_OASIS_TCP instructs QIS


Basic Database Info

Get_Data_Number_Per_Layer
returns calculates the total number of polygons/boundaries using the OASIS repetition values. A single boundary with a repetition of 5 will be reported as 5. Boxes are always reported as 0 for OASIS.


Off Line Preprocessing of GDSII Files

summary_memory_maps
QIS can process a GDSII file "offline" and create a memory map of the scan data and quad tree data. Once these maps are created and saved to disk, QIS can open a GDSII file for display much faster.
Set_Create_Memory_Maps
use this to instruct QIS to create a memory map (quad tree and scan tree) and save it to disk.
Set_Use_Memory_Maps
this flag tells QIS to use an existing memory/scan map to display a stream file. Set this prior to Open_GDSII command.
Set_Memory_Maps_Dir
use this command to define the directory where the memory maps are located.




OASIS Extraction

QIS can be used to extract a OASIS file from the file currently open. The user specifies the desired window and layers (by turning them on/off.). All data enclosed or crossing the window is extracted. Any data crossing the window is clipped and healed at the edge of the window. The extracted file is flat. The extracted file can be returned to the client via the TCP/IP socket or can be written to disk.

Because the file produced by using these commands is flat, one should exercise care not to request so much data that the files become too large to reasonably handle.

Get_OASIS
extracts an OASIS file from the current specified window and writes it to disk. Use this when the client and QIS are on the same machine and the client can access files.
Get_OASIS_Tcp
extracts a OASIS file and returns it to the client via TCP/IP socket. Use this when the client is remote from the QIS server and cannot access files on the same machine QIS is running on.
Save_OASIS_Structure
Saves the current structure (Open_Structure) and all the structures referenced down the hierarchy to the output file.







Editing OASIS Files

The basic API commands for editing GDSII files also apply to OASIS data. The same limitation also applies -- to edit an OASIS file, the entire file must be loaded into RAM.

Set_Load_Memory
Default = Off. If editing is desired, this option must be set to On before opening a GDSII file. Loading a file completely into GDSII also speeds up the redraw for panning and zooming but adds to the time required for the initial view.
Reload_OASIS
If an OASIS file was opened but Set_Load_Memory was off, the client can Set_Load_Memory=On and then issue this Reload command to move the data into memory ...
Add_Vector
use this to add a "vector" to the database. A "vector" is either a PATH or BOUNDARY...
Set_Add_Vector_Handle
controls whether Add_Vector returns a handle upon adding a vector ...
Set_Vector_Handle
use this flag to instruct QIS to assign each vector (PATH/BOUNDARY) a handle when returning data. Used when the client wishes to perform "editing" functions ...
Delete_Vector
use this command to delete a Boundary/Path vector from the QIS database ...
Undelete_Vector
restores a vector (Path/Boundary) to the QIS database that was previously deleted...
Add_Layer
Add a layer number and data type to data base.
Save_OASIS
Save to a OASIS file.
Add_Structure
Add a structure with the specified name.
New_OASIS
Create a New OASIS File.