oaPathSeg Class Reference

Inheritance diagram for oaPathSeg:

oaShape oaPinFig oaConnFig oaFig oaBlockObject oaDesignObject oaObject


Public Methods

oaRoutegetRoute () const
void getPoints (oaPoint &beginPoint, oaPoint &endPoint) const
void getStyle (oaSegStyle &style) const
oaRouteTopology getRouteTopology () const
void getBoundary (oaPointArray &boundary) const
oaBoolean isOrthogonal () const
oaBoolean hasRoute () const
void setPoints (const oaPoint &beginPoint, const oaPoint &endPoint)
void setStyle (const oaSegStyle &style)
void setRouteTopology (const oaRouteTopology &topology)

Static Public Methods

oaPathSeg * create (oaBlock *block, oaLayerNum layerNum, oaPurposeNum purposeNum, const oaPoint &beginPoint, const oaPoint &endPoint, const oaSegStyle &style)
void genBoundary (const oaPoint &beginPoint, const oaPoint &endPoint, const oaSegStyle &style, oaPointArray &boundary)

Detailed Description

The oaPathSeg class is a specialization of the oaShape class and is used to realize physical routing segments that can either be orthogonal or diagonal. oaPathSeg objects can be used stand-alone or they can be made a component of an oaRoute object. The former case represents the geometric routing case while the latter represents symbolic routing.


Member Function Documentation

static oaPathSeg * oaPathSeg::create oaBlock *    block,
oaLayerNum    layerNum,
oaPurposeNum    purposeNum,
const oaPoint &    beginPoint,
const oaPoint &    endPoint,
const oaSegStyle &    style
[static]
 

This function creates an oaPathSeg object with the given attributes. The specified begin and end points are checked to verify that the segment will be horizontal, vertical, or diagonal and that the length of the segment will be greater than zero.

Parameters:
block The block in which the oaPathSeg is created
layerNum The number of the layer on which the oaPathSeg is created
purposeNum The number of the layer purpose for the oaPathSeg
beginPoint The beginning point for the oaPathSeg
endPoint The ending point for the oaPathSeg
style A reference to an oaSegStyle object that defines the style for the segment
Exceptions:
oacInvalidPathSegPoints 

void oaPathSeg::genBoundary const oaPoint &    beginPoint,
const oaPoint &    endPoint,
const oaSegStyle &    style,
oaPointArray &    boundary
[static]
 

This function fills out boundary with the boundary polygon of a virtual pathSeg that could be realized with the specified attributes without having to create an actual pathSeg object.

Parameters:
beginPoint The begin point for the virtual pathSeg
endPoint The end point for the virtual pathSeg
style The segStyle to use for the virtual pathSeg
boundary The point array that will get populated with the boundary points
Exceptions:
oacInvalidPathSegPoints 

void oaPathSeg::getBoundary oaPointArray &    boundary const
 

This function constructs a boundary with the polygonal outline of the pathSeg. This function is useful for overlap checks with the pathSeg, and to render what the pathSeg looks like.

Parameters:
boundary The generated boundary point array

void oaPathSeg::getPoints oaPoint &    beginPoint,
oaPoint &    endPoint
const
 

This function gets the begin and end points of an oaPathSeg object. The two points specify the centerline of the oaPathSeg.

Parameters:
beginPoint The beginning point of the oaPathSeg
endPoint The ending point of the oaPathSeg

oaRoute * oaPathSeg::getRoute   const
 

This function returns a pointer to the route to which this pathSeg may belong. A NULL is returned if this pathSeg is not part of a route.

oaRouteTopology oaPathSeg::getRouteTopology   const
 

This function returns the current routing topology of this pathSeg.

void oaPathSeg::getStyle oaSegStyle &    style const
 

This function populates 'style' with the segStyle of this pathSeg.

Parameters:
style A reference to an oaSegStyle object to be populated

oaBoolean oaPathSeg::hasRoute   const
 

This function returns true if this pathSeg is part of a route; otherwise it returns false.

oaBoolean oaPathSeg::isOrthogonal   const
 

This function returns a boolean value that indicates if the points for the oaPathSeg are orthogonal.

void oaPathSeg::setPoints const oaPoint &    beginPoint,
const oaPoint &    endPoint
 

This function sets the beginning and ending points of the oaPathSeg to the specified points. The two points are checked to verify that the length of the segment is greater than zero and that the oaPathSeg remains horizontal, vertical, or diagonal.

Parameters:
beginPoint The beginning point for the oaPathSeg
endPoint The ending point for the oaPathSeg
Exceptions:
oacInvalidPathSegPoints 

void oaPathSeg::setRouteTopology const oaRouteTopology &    topology
 

This function sets the routeTopology of this pathSeg to the specified topology.

Parameters:
topology An oaRouteTopology object used to update this pathSeg

void oaPathSeg::setStyle const oaSegStyle &    style
 

This function sets the segStyle of this pathSeg to the specified value. This style will determine the size and shape of the extension at each end of the segment (see oaSegStyle).

Parameters:
style The oaSegStyle object used to update this pathSeg


The documentation for this class was generated from the following files:

Return to top of page