oaSnapBoundary Class Reference

Inheritance diagram for oaSnapBoundary:

oaBoundary oaFig oaBlockObject oaDesignObject oaObject


Static Public Methods

oaSnapBoundary * create (oaBlock *block, const oaPointArray &bBox, const oaString *edgeNames=NULL)
oaSnapBoundary * find (const oaBlock *block)
oaSnapBoundary * create (oaBlock *block, const oaPointArray &bBox, const oaStringArray &edgeNames)

Detailed Description

The oaSnapBoundary class is used for the designs that implement standard cells. An oaSnapBoundary must be a rectangle. Placement tools use the oaSnapBoundary to place instances of the design in rows, abutting the oaSnapBoundary edges and aligning the oaSnapBoundary corners.

oaSnapBoundaries are optional adjuncts to oaPRBoundaries. If the oaPRBoundary is rectangular then it will suffice for these purposes and no oaSnapBoundary need be created. oaSnapBoundaries are needed for cells with rectilinear (but non-rectangular) oaPRBoundaries.


Member Function Documentation

oaSnapBoundary * oaSnapBoundary::create oaBlock *    block,
const oaPointArray &    bBox,
const oaStringArray &    edgeNames
[static]
 

This function creates a new snap boundary object in the specified design with the specified attributes.

Note that the number of edge names must be equal to the number of points or an oacBoundaryInvalidEdgeNames exception is thrown.

Note: The order of the points actually set on the oaSnapBoundary is not guaranteed to be the same as the order of points inbBox passed to the create() function. Consequently, the order of points returned by a subsequent oaSnapBoundary::getPoints() may be different from the order of points specified in bBox.

Parameters:
block The block in which to create the snap boundary.
bBox The bounding box of the snap boundary.
edgeNames The boundary edge names; If you supply an empty array, the edges are automatically named using the form EDGE_n, where n starts at zero and increments by one
Exceptions:
oacBoundaryHasExtraPoints 
oacSnapBoundaryExists 
oacSnapBoundaryNotRectangle 
oacBoundaryInvalidEdgeNames 

oaSnapBoundary * oaSnapBoundary::create oaBlock *    block,
const oaPointArray &    bBox,
const oaString *    edgeNames = NULL
[static]
 

This function is deprecated. Refer to the create function that takes a reference to an oaStringArray for edgeNames.

This function creates a new snap boundary object in the specified design with the specified attributes. If the boundary edgeNames are not supplied, the edges are automatically named, using the form EDGE_n, where n starts at zero and increments by one for each edge.

Note that the number of edge names is assumed to be equal to the number of points.

Note: The order of the points actually set on the oaSnapBoundary is not guaranteed to be the same as the order of points inbBox passed to the create() function. Consequently, the order of points returned by a subsequent oaSnapBoundary::getPoints() may be different from the order of points specified in bBox.

Parameters:
block The block in which to create the snap boundary.
bBox The bounding box of the snap boundary.
edgeNames The boundary edge names; if omitted, the edges are automatically named, using the form EDGE_n, where n starts at zero and increments by one.
Exceptions:
oacBoundaryHasExtraPoints 
oacSnapBoundaryExists 
oacSnapBoundaryNotRectangle 

oaSnapBoundary * oaSnapBoundary::find const oaBlock *    block [static]
 

This function searches the specified block for a snap boundary. If found, the boundary is returned. Otherwise, NULL is returned.


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

Return to top of page