oaLayerRangeBlockage Class Reference

Inheritance diagram for oaLayerRangeBlockage:

oaBlockage oaFig oaBlockObject oaDesignObject oaObject


Public Methods

void getMaskRange (oaIntRange &maskRange) const
void getLayerHeaders (oaLayerHeaderArray &layerHeaders) const
void setMaskRange (const oaIntRange &maskRange)
void setPoints (const oaPointArray &points)
void transform (oaDouble scale, oaDouble angle)

Static Public Methods

oaLayerRangeBlockage * create (oaBlock *block, oaBlockageType type, const oaIntRange &maskRange, const oaPointArray &points, oaBlockObject *owner=NULL)

Detailed Description

An oaLayerRangeBlockage is a blockage over 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 those layers are under different conditions.

The blockage shape is specified by a point array, which must correspond to a closed figure consisting of at least three points.


Member Function Documentation

oaLayerRangeBlockage * oaLayerRangeBlockage::create oaBlock *    block,
oaBlockageType    type,
const oaIntRange &    maskRange,
const oaPointArray &    points,
oaBlockObject *    owner = NULL
[static]
 

This function creates an oaLayerRangeBlockage that applies for the layers in the specified mask number range. This blockage applies to the set of layers that correspond to the specified range of mask numbers or to all layers above a single specified mask number. The blockage type may be any oaBlockageType except oacPlacementBlockageType. The owner may be either an oaCluster or oaBoundary object or null.

Parameters:
block A design container.
type The type of the blockage.
maskRange An oaIntRange value of type oacClosedRangeType or oacGreaterThanRangeType.
points The array of points defining the blockage.
owner The optional cluster or boundary owner of the blockage.
Exceptions:
oacInvalidMaskRangeForLayerRangeBlockage 
oacInvalidTypeForLayerBlockage 

void oaLayerRangeBlockage::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 header array.

void oaLayerRangeBlockage::getMaskRange oaIntRange &    maskRange const
 

This function returns the mask range associated with this blockage.

Parameters:
maskRange The returned range of this layer range blockage.

void oaLayerRangeBlockage::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 oaLayerRangeBlockage::setPoints const oaPointArray &    points
 

This function sets the point array for this blockage to the specified array of points. The point array is validated prior to being set, and it must be a closed figure with a minimum of three points.

Parameters:
points The array of points defining the blockage.

void oaLayerRangeBlockage::transform oaDouble    scale,
oaDouble    angle
 

This function transforms this blockage by the specified scale factor and rotation angle. If this blockage is a leader in a group, each object in the group is moved with the specified transform.

Parameters:
scale A multiplier used to scale the blockage.
angle The angle of rotation expressed in radians.


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

Return to top of page