oaRow Class Reference

Inheritance diagram for oaRow:

oaFig oaBlockObject oaDesignObject oaObject


Public Methods

oaRowHeadergetHeader () const
oaSiteDefgetSiteDef () const
void getSiteDefName (oaString &name) const
void getName (oaString &name) const
void getOrigin (oaPoint &origin) const
oaOrient getOrient () const
oaUInt4 getNumSites () const
oaOrient getSiteOrient () const
oaDist getSiteSpacing () const
oaBoolean isBound () const
void setSiteDef (const oaSiteDef *siteDef)
void setName (const oaString &name)
void setOrigin (const oaPoint &origin)
void setOrient (const oaOrient orient)
void setNumSites (oaUInt4 numSites)
void setSiteOrient (const oaOrient &siteOrient)
void setSiteSpacing (oaDist siteSpacing)

Static Public Methods

oaRow * create (oaBlock *block, oaSiteDef *siteDef, const oaString &name, const oaPoint &origin, const oaOrient &rowOrient, oaUInt4 numSites, const oaOrient &siteOrient, oaDist siteSpacing=0)
oaRow * create (oaBlock *block, oaSiteDef *siteDef, const oaPoint &origin, const oaOrient &rowOrient, oaUInt4 numSites, const oaOrient &siteOrient, oaDist siteSpacing=0)
oaRow * find (const oaBlock *block, const oaString &name)

Public Types

enum  { dtIndex = oacRowDataType }

Detailed Description

The oaRow class implements a row of sites where an instance can be placed. A row represents a potential location for placement of standard cells, macros, or devices. A row is defined as an area associated with an oaSiteDef. The oaSiteDef has information allowing for the specification of the placeable objects within a row. A row is a repetition of a site element in a given direction (horizontal or vertical). The orientation of these site elements in a row is relative to the orientation of the row.

The oaRow class can be observed by deriving from oaObserver<oaRow>.


Member Function Documentation

oaRow * oaRow::create oaBlock *    block,
oaSiteDef *    siteDef,
const oaPoint &    origin,
const oaOrient &    rowOrient,
oaUInt4    numSites,
const oaOrient &    siteOrient,
oaDist    siteSpacing = 0
[static]
 

This function creates a row object with the specified attributes. This function lets you specify the siteDef object to associate with the new row. A name for the new row is automatically generated with the default prefix "R__%d", where d refers to a unique integer.

An exception is thrown if the siteDef is from a technology database that is not included in the graph of referenced technology databases for the technology database currently bound to the design containing the row.

Returns:
oaRow* if the row was created
Parameters:
block The block in which to create the row
siteDef The siteDef that associates with the row
origin The origin of the row
rowOrient The orientation of the row
numSites The number of sites of the row
siteOrient The orientation of the sites relative to the row
siteSpacing The optional spacing between the sites
Exceptions:
oacRowZeroNumSitesNotAllowed 
oacSiteDefNotInTechAssociatedWithDesign 

oaRow * oaRow::create oaBlock *    block,
oaSiteDef *    siteDef,
const oaString &    name,
const oaPoint &    origin,
const oaOrient &    rowOrient,
oaUInt4    numSites,
const oaOrient &    siteOrient,
oaDist    siteSpacing = 0
[static]
 

This function creates a row object with the specified attributes. This function lets you specify the siteDef object to associate with the new row and the name for the new row.

An exception is thrown if the siteDef is from a technology database that is not included in the graph of referenced technology databases for the technology database currently bound to the design containing the row.

Returns:
oaRow* if the row was created
Parameters:
block The block in which to create the row
siteDef The siteDef that associates with the row
name The row name
origin The origin of the row
rowOrient The orientation of the row
numSites The number of sites of the row
siteOrient The orientation of the sites
siteSpacing The optional spacing between the sites
Exceptions:
oacRowNameExists 
oacRowZeroNumSitesNotAllowed 
oacSiteDefNotInTechAssociatedWithDesign 

oaRow * oaRow::find const oaBlock *    block,
const oaString &    name
[static]
 

This function searches the specified design for a row with the specified name. If the row is found, it is returned. Otherwise, NULL is returned.

Parameters:
block The block to search
name The name of the oaRow object to find
Returns:
The oaRow pointer or NULL

oaRowHeader * oaRow::getHeader   const
 

This function returns the oaRowHeader object associated with this row.

void oaRow::getName oaString &    name const
 

This function fills out name with the name of this row.

Parameters:
name The row name

oaUInt4 oaRow::getNumSites   const
 

This function returns the number of sites of this row.

oaOrient oaRow::getOrient   const
 

This function returns the orientation of this row.

void oaRow::getOrigin oaPoint &    origin const
 

This function fills out origin with the origin of this row.

Parameters:
origin The row origin

oaSiteDef * oaRow::getSiteDef   const
 

This function attempts to return the siteDef associated with this row. If the row cannot bound, NULL is returned.

void oaRow::getSiteDefName oaString &    name const
 

This function attempts to return the name of the siteDef object associated with this row.

Parameters:
name The siteDef object name

oaOrient oaRow::getSiteOrient   const
 

This function returns the orientation of site associated with this row.

oaUInt4 oaRow::getSiteSpacing   const
 

This function returns the spacing between the sites in this row.

oaBoolean oaRow::isBound   const
 

This function returns a boolean value that indicates if the siteDef associated with this row is currently bound to the master.

void oaRow::setName const oaString &    name
 

This function sets the name of this row to the specified value.

Parameters:
name The row name

void oaRow::setNumSites oaUInt4    numSites
 

This function sets the number of sites of this row to the specified value.

Parameters:
numSites The number of sites in this row
Exceptions:
oacRowZeroNumSitesNotAllowed 

void oaRow::setOrient const oaOrient    orient
 

This function sets the orientation of this row to the specified value.

Parameters:
orient The row orientation

void oaRow::setOrigin const oaPoint &    origin
 

This function sets the origin of the row to the specified origin.

Parameters:
origin The origin to set

void oaRow::setSiteDef const oaSiteDef *    siteDef
 

This function sets the siteDef of this row to the specified siteDef.

Parameters:
siteDef The siteDef name

void oaRow::setSiteOrient const oaOrient &    siteOrient
 

This function sets the site orientation of this row to the specified value.

Parameters:
siteOrient The site orientation of this row

void oaRow::setSiteSpacing oaDist    siteSpacing
 

This function sets the spacing between the sites of this row to the specified value.

Parameters:
siteSpacing The spacing for the sites of this row


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


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

Return to top of page