Glade Reference
A HSeg represents a wiring segment for place&route data. It is a 2 vertex horizontal path. A HSeg is normally created by the cellView::dbCreateHSeg() function.
v.setPoints(int x1, int y1, int x2, int y2)
Sets the vertices of the HSeg
v.left()
Gets the leftmost X coordinate of a HSeg.
v.right()
Gets the rightmost X coordinate of a HSeg.
v.bottom()
Gets the lowest Y coordinate of a HSeg.
v.top()
Gets the highest Y coordinate of a HSeg.
int w = v.width()
Gets the HSeg width.
v.setStyle(int s)
Sets the HSeg style, i.e. the type of the path end. The style can be one of: 0 - truncate, 1 - round, 2 - extend, 4 - varextend, 8 - octagonal. Python global variables TRUNCATE, ROUND, EXTEND, VAREXTEND, OCTAGONAL are defined to these values.
int s = v.getStyle()
Gets the HSeg style.
v.setSpecial(bool val)
Sets the HSeg specialNet status
v.isSpecial()
Returns true is the HSeg is a specialNet.
v.setNet(net *n)
Sets the HSeg net
net *n = v.getNet()
Returns the HSeg net.
Rect b = v.bBox()
Get the bounding box of this HSeg.
dbtype_t_t t = v.objType()
Returns the object type of this HSeg as HSEG.
const char *name = p.objName()
Returns the object name of this HSeg as "HSEG".
int n = v.nPoints()
Returns the number of points of the HSeg (2).
Point * pts = v.ptlist()
Returns the point list of this HSeg as a C array of Points.
double a = v.area()
Get the area of this HSeg.
int p = v.perimeter()
Get the perimeter of this HSeg.
Point v.origin()
Returns the origin point of a HSeg
v.setOrigin(Point p)
Sets the origin of a HSeg.
int e = v.extent()
Returns the extent, i.e. the length of the HSeg.
v.setExtent(int e)
Sets the extent of the HSeg.
Point p = v.getFirstVertex()
Gets the first vertex of this HSeg
Point p = v.getLastVertex()
Gets the last vertex of this HSeg.
bool v.ptInPoly(Point p)
Returns true if the Point p is contained in the HSeg or on its edges.
v.Move(cellView *dest, Point delta, bool opt = True)
Move this HSeg by distance delta. If opt is True then the database is re-optimised for the new HSeg position. If there are a lot of objects to move it makes sense to turn this off and instead use the cellView update() function after moving them all.
dbObj *obj = v.Copy(cellView *dest, Point delta, int layerNum = -1)
Copy this HSeg to cellView dest, with offset delta. If layer is a positive integer the HSeg will be copied to the new layer number.
dbObj *obj = v.Flatten(cellView *dest, transform trans)
Flatten this HSeg into cellView dest with transformation trans.
int dist = v.getNearestEdge(Point p, segment &edge, bool centreLine=True, bool outLine=True)
Gets the nearest segment edge to the HSeg from the Point p and returns the distance. If centreline is True, the centre line of the HSeg is considered. If outLine is True, the outline edges of the HSeg are considered.
int dist = v.getNearestVertex(Point p, vertex &vert)
Gets the nearest vertex vert to the HSeg from the Point p and returns the distance.
const char *name = v.getNetName()
Returns the HSeg net name as a string.
bool ok = v.offGrid(int grid)
Returns true if the HSeg is offgrid.
Copyright © Peardrop Design 2020.