oaVia Class Reference

Inheritance diagram for oaVia:

oaRef oaPinFig oaConnFig oaFig oaBlockObject oaDesignObject oaObject oaCustomVia oaStdVia


Public Methods

oaViaHeadergetHeader () const
oaViaDefgetViaDef () const
void getViaDefName (oaString &name) const
oaPurposeNum getPurposeNum () const
oaRoutegetRoute () const
oaRouteStatus getRouteStatus () const
oaRouteTopology getRouteTopology () const
oaViaDirection getDirection () const
oaBitNetgetShieldedNet1 () const
oaBitNetgetShieldedNet2 () const
oaBoolean isUnShielded () const
oaBoolean hasRoute () const
void setPurposeNum (oaPurposeNum purposeNum)
void setRouteStatus (const oaRouteStatus &status)
void setRouteTopology (const oaRouteTopology &topology)
void setDirection (const oaViaDirection &dir)
void setShieldedNet1 (oaBitNet *net)
void setShieldedNet2 (oaBitNet *net)
void setUnShielded (oaBoolean unShielded)
oaCollection< oaRoute, oaVia > getConnRoutes () const

Public Types

enum  { dtIndex = oacViaDataType }

Detailed Description

The oaVia class is an abstract base class for vias. A via represents a physical connection between two adjacent route pathSegs that are on different layers. A via references a via definition (oaViaDef) from the technology database that corresponds to the design where the via exists.

A via may be either a standard via or a custom via. A standard via has a pre-defined set of via parameters that can be tailored to create a variety of vias to cover a variety of connections. The standard via references a standard via definition.

A custom via is very much like an instance where, through its custom via definition, another design is referenced. Custom vias often include a set of parameter values that can be used to tailor the master for each specific via.

A via can represent complex pin figures although vias are normally associated with routes.

Vias always have an oaViaHeader which contains the attributes that are constant for all vias of a given via definition.

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

A discussion of the creation of oaVia objects can be found in the Representing Vias in OpenAccess section of the Programmers Guide.


Member Function Documentation

oaCollection oaVia::getConnRoutes   const
 

This function returns a collection of routes that are connected to this via. Each route in the collection has this via as either its startConn, endConn, or both.

oaViaDirection oaVia::getDirection   const
 

This function returns the direction of this via.

oaViaHeader * oaVia::getHeader   const
 

This function returns the oaViaHeader associated with this via. The oaViaHeader is a collection of the attributes that are common to all vias of a particular via definition. For vias of via definitions that have parameters, this function returns the via subheader.

Returns:
The pointer to the via header

Reimplemented from oaRef.

Reimplemented in oaStdVia, and oaCustomVia.

oaPurposeNum oaVia::getPurposeNum   const
 

This function returns the purpose number associated with this via.

oaRoute * oaVia::getRoute   const
 

This function returns the route to which this via may belong. If this via does not belong to a route, a NULL is returned.

oaRouteStatus oaVia::getRouteStatus   const
 

This function returns the current routing status of this via.

oaRouteTopology oaVia::getRouteTopology   const
 

This function returns the current routing topology of this via.

oaBitNet * oaVia::getShieldedNet1   const
 

This function returns the first net that this via is shielding. A via may shield up to two nets.

oaBitNet * oaVia::getShieldedNet2   const
 

This function returns the second net that this via is shielding. A via may shield up to two nets.

oaViaDef * oaVia::getViaDef   const
 

This function returns the oaViaDef object associated with this via. If the oaViaDef is not bound, a NULL is returned.

void oaVia::getViaDefName oaString &    name const
 

This function fills out name with the name of the via definition associated with this via.

oaBoolean oaVia::hasRoute   const
 

This function returns true if this via is part of a route, false otherwise.

oaBoolean oaVia::isUnShielded   const
 

This function returns true if this via is not shielded.

void oaVia::setDirection const oaViaDirection &    dir
 

This function sets the direction of this via to the specified 'dir'.

Parameters:
dir The direction to be set for this via

void oaVia::setPurposeNum oaPurposeNum    purposeNum
 

This function sets the purpose of this via to the specified 'purposeNum' value.

Parameters:
purposeNum The new technology purpose number to associate with this via

void oaVia::setRouteStatus const oaRouteStatus &    status
 

This function sets the routeStatus of this via to the specified 'status'.

Parameters:
status The routing status to be set for this via

void oaVia::setRouteTopology const oaRouteTopology &    topology
 

This function sets the routeTopology of this via to the specified 'topology'.

Parameters:
topology The routing topology to be set for this via

void oaVia::setShieldedNet1 oaBitNet *    net
 

This function sets the first shielded net for this via to the specified bit net. A via may shield up to two nets. A NULL pointer resets the attribute. Exceptions are thrown if the bit net is not in the same database as this via.

Parameters:
net Bit net that is shielded by this via
Exceptions:
oacNetFigNotInSameBlock 
oacObjectAlreadyShieldsNet 

void oaVia::setShieldedNet2 oaBitNet *    net
 

This function sets the second shielded net for this via to the specified bit net. A via may shield up to two nets. A NULL pointer resets the attribute. Exceptions are thrown if the bit net is not in the same database as this via.

Parameters:
net Bit net that is shielded by this via
Exceptions:
oacNetFigNotInSameBlock 
oacObjectAlreadyShieldsNet 

void oaVia::setUnShielded oaBoolean    unShielded
 

This function sets the unShielded attribute of this via to the specified value.

Parameters:
unShielded value


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


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

Return to top of page