Next: Extraction Functions
Up: Geometry Creation and Management
Previous: Spatial Parameter Tables
Contents
Index
There functions are related to creating and using ``special''
databases. This is a new feature that is under construction. A
special database is a spatially sorted container for objects or
trapezoids (not cell instances or cells), with varying internal
formats. The following new script functions expose this
functionality.
- (int) CxOpenOdb(cx_handle, scale, cellname,
array, clip, dbname)
This function will create a ``special database'' of the objects read
through the archive context handle. The coordinates will be scaled by
scale as read. The cellname is the name of the top-level
cell whose hierarchy is to be read from the context. If this argument
is zero, the first top-level cell found in the corresponding archive
file will be understood. The array, if not 0, is an array of
four values or larger giving a rectangular area of cellname to
read. The values are in microns, in order L,B,R,T. If zero, the
entire cell bounding box is understood. If the boolean value clip is nonzero, objects will be clipped to the array, if given. The
dbname is a string which names the database. This can be any
short name string. The database can be retrieved or cleared using
this name.
The return value is 1 on success, 0 otherwise.
- (int) CxOpenZdb(cx_handle, scale, cellname,
array, clip, dbname)
This function will create a ``special database'' of the trapezoid
representations of objects read through the archive context handle.
The coordinates will be scaled by scale as read. The cellname is the name of the top-level cell whose hierarchy is to be
read from the context. If this argument is zero, the first top-level
cell found in the corresponding archive file will be understood. The
array, if not 0, is an array of four values or larger giving a
rectangular area of cellname to read. The values are in
microns, in order L,B,R,T. If zero, the entire cell bounding box is
understood. If the boolean value clip is nonzero, trapezoids
will be clipped to the array, if given. The dbname is a string
which names the database. This can be any short name string. The
database can be retrieved or cleared using this name.
The return value is 1 on success, 0 otherwise.
- (int) CxOpenZbdb(cx_handle, scale, cellname,
array, clip, dbname, dx, dy,
bx, by)
This will open a database similar to CxOpenZdb, however the
trapezoids will be saved in binned lists. Unlike CxOpenZdb, the
array can not be passed 0, a rectangular region must be specified.
The dx, dy are the grid spacing values for the bins, in
microns. These values must be positive. The bx, by are
overlap bloat values for the bins. The actual bins are bloated by
these values in the x and y directions. The trapezoids will be
clipped to the bins.
The return value is 1 on success, 0 otherwise.
- (int) GetObjectsOdb(dbname, layer_list,
array)
This returns a handle to a list of objects, extracted from a named
database created with CxOpenOdb. The first argument is a
database name string as given to CxOpenOdb (This function will
not work with CxOpenZdb). The second argument is a string
containing a space-separated list of layer names, or 0. Objects for
each of the given layers will be obtained. Objects on the same layer
will be grouped together, with groups ordered as in the layer_list. If this argument is 0, all layers will be used, ordered
bottom-up as in the layer table. The third argument is an array, as
passed to CxOpenOdb, or 0. If 0, all objects for the specified
layers in the database will be retrieved. Otherwise, only those
objects with bounding boxes that overlap the array rectangle with
nonzero area will be retrieved. The objects retrieved are copies of
the database objects, which are not affected.
- (int) GetZlistDb(dbname, layer_list,
zoidlist)
This returns a zoidlist associated with a layer, extracted from a
named database created with CxOpenOdb, CxOpenZdb, or CxOpenZbdb. The first argument is a database name string as given to
CxOpenOdb or equivalent. The second argument is the associated
layer name. The third argument is the reference trapezoid list. If
the database was opened with CxOpenOdb or CxOpenZdb, the
returned zoidlist will be clipped to the reference list. If the
database was opened with CxOpenZbdb, the trapezoids for the bin
containg the center of the first trapezoid in the reference list will
be returned. In all cases, the returned trapezoids are copies, the
database is not affected.
- (int) ShowDb(dbname, array)
This function will pop up a window displaying the area given in the
array of the special database named in dbname. The array
argument is in the same format as passed to CxOpenOdb or
equivalent. If passed 0, the bounding box containing all objects in
the database is understood. The return value is the window number of
the new window (1-4) or -1 if an error occurred.
- (int) DestroyDb(dbname)
This function will free and clear the special database named in the
argument. This is the database name as given to CxOpenOdb or
equivalent. If the argument is 0, then all special databases will be
freed and cleared. This function always returns 1.
Next: Extraction Functions
Up: Geometry Creation and Management
Previous: Spatial Parameter Tables
Contents
Index
Stephen R. Whiteley
2006-10-23