oaLayerRangeHalo Class Reference

Inheritance diagram for oaLayerRangeHalo:

oaBlockage oaFig oaBlockObject oaDesignObject oaObject


Public Methods

void getMaskRange (oaIntRange &maskRange) const
void getLayerHeaders (oaLayerHeaderArray &layerHeaders) const
void getOffsets (oaDist &left, oaDist &bottom, oaDist &right, oaDist &top) const
void setMaskRange (const oaIntRange &maskRange)
void setOffsets (oaDist left, oaDist bottom, oaDist right, oaDist top)

Static Public Methods

oaLayerRangeHalo * create (oaBlockObject *owner, oaBlockageType type, const oaIntRange &maskRange, oaDist left=0, oaDist bottom=0, oaDist right=0, oaDist top=0)

Detailed Description

An oaLayerRangeHalo is a blockage that has an associated prBoundary and it applies to a set of layers. The set of layers is determined from a range of mask numbers that is specified when the blockage is created. The layers are not required to exist in the technology data associated with the design that the blockage is created in.

The mask numbers of layers are ordered, but their corresponding layer numbers may not be ordered. A mask number can also map to one or more layers.

A mask range can be specified by a pair of lower and upper bound mask numbers, or a mask range can be an unbounded range where only the lower bound mask number is specified. The resulting blockage applies to a set of layers that correspond to the specified mask range. OpenAccess determines what the layers are under different conditions.

The halo shape is derived from the prBoundry shape and a set of offsets. It is associated with a range of mask numbers that are specified when the halo is created.


Member Function Documentation

oaLayerRangeHalo * oaLayerRangeHalo::create oaBlockObject *    owner,
oaBlockageType    type,
const oaIntRange &    maskRange,
oaDist    left = 0,
oaDist    bottom = 0,
oaDist    right = 0,
oaDist    top = 0
[static]
 

This function creates an oaLayerRangeHalo blockage object associated with the specified owner block object. This blockage is applicable to the range of mask numbers specified or to all layers above a single specified mask number. The blockage type may be any oaBlockageType except oacPlacementBlockageType.

Blockage offsets are relative to the PRBoundary, if it exists for the block, or are relative to the bounding box for the block.

Parameters:
owner The cluster or boundary owner of the blockage.
type The type of the blockage.
maskRange An oaIntRange value of type oacClosedRangeType or oacGreaterThanRangeType.
left The left offset value from the PRBoundary or BBox.
bottom The bottom offset value from the PRBoundary or BBox.
right The right offset value from the PRBoundary or BBox.
top The top offset value from the PRBoundary or BBox.
Exceptions:
oacInvalidMaskRangeForLayerRangeBlockage 

void oaLayerRangeHalo::getLayerHeaders oaLayerHeaderArray &    layerHeaders const
 

This function returns the set of layerHeaders for this layer blockage. The mask number of every layer header's layer in this array falls within the mask range of this blockage.

Parameters:
layerHeaders The returned layer headers.

void oaLayerRangeHalo::getMaskRange oaIntRange &    maskRange const
 

This function returns the mask range associated with this blockage.

Parameters:
maskRange The returned layer range.

void oaLayerRangeHalo::getOffsets oaDist &    left,
oaDist &    bottom,
oaDist &    right,
oaDist &    top
const
 

This function returns the offsets for this derived blockage.

Parameters:
left The returned left offset.
bottom The returned bottom offset.
right The returned right offset.
top The returned top offset.

void oaLayerRangeHalo::setMaskRange const oaIntRange &    maskRange
 

This function sets the mask range of this blockage to the specified mask range. New layerHeaders are created if they do not exist and if the design has a tech with layers whose mask numbers fall in the range of the specified mask number. The blockage is removed from the current set of layerHeaders.

Parameters:
maskRange An oaIntRange value of type oacClosedRangeType or oacGreaterThanRangeType.
Exceptions:
oacInvalidMaskRangeForLayerRangeBlockage 

void oaLayerRangeHalo::setOffsets oaDist    left,
oaDist    bottom,
oaDist    right,
oaDist    top
 

This function sets the offsets for this derived blockage.

Parameters:
left The left offset value from the PRBoundary or BBox.
bottom The bottom offset value from the PRBoundary or BBox.
right The right offset value from the PRBoundary or BBox.
top The top offset value from the PRBoundary or BBox.


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

Return to top of page