oaheader.gif
topics.gif classes.gif classes.gif exceptions.gif progguide.gif infomodel.gif index.gif help.gif
 
 
 

Row

 [ROW rowName siteName origX origY siteOrient

      [DO numX BY numY [STEP stepX stepY]]
      [+ PROPERTY {propName propVal} ...] ... ;] ...

 END ROW]

The DEF ROW maps to OpenAccess using an oaRow object. In OpenAccess, row and site orientations are concatenated (the site orientation is relative to the row), whereas in DEF, the two orientations are absolute. The OpenAccess site orientation is determined by subtracting the OpenAccess row orientation from the DEF site orientation. IN THIS FILE?

For example, if in DEF there is a vertical row with W orientation, the row orientation created in OpenAccess is R90. Then the OpenAccess site orientation is the DEF W (R90), minus the OpenAccess orientation of R90, giving R0.

rowName

The rowName corresponds to the name of the row object and is obtained using:

   void oaRow::getName(oaString &name) const

siteName

The siteName corresponds to the siteDef name associated with the row. It is obtained using:

   void oaRow::getSiteDefName(oaString &name) const

origX, origY

The origX and origY information corresponds to the coordinates of the lower left point of the row bbox. It is obtained using:

   oaFig::getBBox(oaBox &bBox) const
   oaInt4 oaBox::left() const
   oaInt4 oaBox::bottom() const

siteOrient

The siteOrient information is absolute in DEF, but in OpenAccess, this site orientation is relative to the row. The OpenAccess site orientation is determined by applying the inverse of the OpenAccess row orientation to the DEF site orientation.

For example, assume a vertical row exists in DEF with W orientation. The row orientation in OpenAccess is R90, and the site orientation is then: W (R90) inverted to R270 and concatenated to the row orientation of R90, which yields a site orientation of R0. This can be seen in the first figure in the examples below.

DEF OpenAccess
Row Type Row Orientation Site Orientation
Horizontal Rows
N R0 R0
S R0 R180
FN R0 MY
FS R0 MX
Vertical Rows
E R90 R180
W R90 R0
FE R90 MY
FW R90 MX

The following examples compare the DEF and OpenAccess approaches for row and site orientations.

Image: siteOrientation.gif

DO numX BY numY [STEP stepX stepY]

When the row object represents a horizontal row (row orientation R0, R180, MY, or MX), numX corresponds to the number of sites in this row. spaceX corresponds to the width of the associated siteDef. These are obtained using:

     oaOrient oaRow::getOrient() const
     oaUInt4 oaRow::getNumSites() const
     oaRowHeader *oaRow::getHeader()
     oaSiteDef *oaRow::getSiteDef() const

When the row object represents a vertical row (row orientation R90, R270, MYR90, or MXR90), numY corresponds to the number of sites in the row. spaceY corresponds to the height of the associated siteDef. These are obtained by using:

     oaOrient oaRow::getOrient() const
     oaUInt4 oaRow::getNumSites() const
     oaRowHeader *oaRow::getHeader()
     oaSiteDef *oaRow::getSiteDef() const

PROPERTY {propName propVal} ...] ...

See PROPERTIES.