Glade Reference


lpp (formerly dbLpp)

A lpp object forms a layer-purpose pair. It manages objects in a tree structure for fast spatial searching.

 

lp = lpp(cellView *cv)

Constructs a lpp object with master cellView cv. Normally never used - lpps are created and managed by a cellView object. You can use the cellView getLpp() function to get an existing lpp by name or by number

 

lp.clear()

Clears the lpp. All objects managed by the lpp are removed leaving it empty. They are not deleted, however.

 

lp.layerName(const char *name)

Sets the layer name of the lpp. Note this will not change the layer name used in the techfile, so beware.

 

const char * lp.layerName()

Gets the lpp's layer name

 

lp.purpose(const char *name)

Sets the purpose name of the lpp. Note this will not change the purpose name used in the techfile, so beware.

 

const char * lp.purpose()

Gets the lpp's purpose name

 

lp.layerNum(int layerNum)

Sets the layer number of the lpp. Note this will not change the layer number used in the techfile, so beware.

 

int lp.layerNum()

Gets the lpp's layer number

 

int lp.numShapes()

Gets the number of shapes in this lpp.

 

cellView *cv = lp.cv()

Get the cellView for this lpp.

 

Rect box = lp.bBox()

Get the bounding box of all shapes in this lpp.

 

lp.bBox(Rect box)

Set the bounding box of the lpp. Should not normally be used.

 

lp.optimiseTree()

Optimise the lpp. Must be carried out after adding objects.

 

lp.updateTree(dbObj *obj)

Update the lpp for a single object.

 

dbObjList<dbObj> * list = lp.dbGetOverlaps (Rect searchRect, int filterSize=0)

Search the lpp for shapes overlapping the search rectangle searchRect. If filterSize is non-zero, only shapes with a width and height greater than filterSize are reported.

 

lp.dbGetOverlaps (dbObjList<dbObj> *list, Rect searchRect, int filterSize=0)

As getOverlaps, but shapes are appended to the existing list.

 

list = lp.getOverlaps (Rect searchRect, int filterSize=0)

As above, but returns a Python list.

 

 

Iterator

An iterator to allow traversing the objects in the lpp using Python.

 

iter = objIterator(lpp *l)

Initialises the dbObj iterator for the lpp. For example:


iter = objIterator(lpp)
while not iter.end() :
    obj = iter.value()
    type = obj.objType()
    print "object type = ", type
    iter.next()

 

dbObj *obj = iter.value()

Returns the current object.

 

iter.next()

Advances the iterator to the next dbObj.

 

bool iter.end()

Returns false if there are more objects, else returns true if there are no more.

 

Contents|Index

Copyright © Peardrop Design 2020.