# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Static Public Member Functions
Hurricane::ViaLayer Class Reference

ViaLayer description (API) More...

Inheritance diagram for Hurricane::ViaLayer:
[legend]

## Static Public Member Functions

static ViaLayer * | create (Technology *technology, const Name &name, BasicLayer *bottomLayer, BasicLayer *cutLayer, BasicLayer *topLayer)

## Additional Inherited Members

Public Types inherited from Hurricane::Layer
typedef Hurricane::Mask< unsigned long long > | Mask
Public Member Functions inherited from Hurricane::Layer
Technology * | getTechnology () const
const Name & | getName () const
const Mask & | getMask () const
const Mask & | getExtractMask () const
const DbU::Unit & | getMinimalSize () const
const DbU::Unit & | getMinimalSpacing () const
Layer * | getMetalAbove (bool useSymbolic=true) const
Layer * | getMetalBelow (bool useSymbolic=true) const
Layer * | getCutAbove (bool useSymbolic=true) const
Layer * | getCutBelow (bool useSymbolic=true) const
bool | above (const Layer *layer) const
bool | below (const Layer *layer) const
bool | contains (const Layer *layer) const
bool | intersect (const Layer *layer) const
void | setName (const Name &name)
void | setMinimalSize (const DbU::Unit &minimalSize)
void | setMinimalSpacing (const DbU::Unit &minimalSpacing)
virtual void | setExtentionCap (const BasicLayer *layer, DbU::Unit)
virtual void | setExtentionWidth (const BasicLayer *layer, DbU::Unit)
Public Member Functions inherited from Hurricane::DBo
virtual void | destroy ()
Property * | getProperty (const Name &) const
Properties | getProperties () const
bool | hasProperty () const
void | put (Property *)
void | remove (Property *)
void | removeProperty (const Name &)
void | clearProperties ()

## Detailed Description

ViaLayer description (API)

For a more complete description of the Layers objects, please refer to Layer Introduction.

ViaLayer is a symbolic layer that contains three layers, a bottom metal, a cut and a top metal.

The accessors functions:

- ViaLayer::getTop()
- ViaLayer::getBottom()
- ViaLayer::getOpposite()

Works on the top/bottom layers. They do not rely on the Layer::Mask, but on what has been passed as argument to the ViaLayer::create() constructor.

Only enclosure have meaning on this class. Extension cap and extention width are not used.

## Member Function Documentation

## ◆ create()

ViaLayer * Hurricane::ViaLayer::create | ( | Technology * | technology,
|  | const Name & | name,
|  | BasicLayer * | bottomLayer,
|  | BasicLayer * | cutLayer,
|  | BasicLayer * | topLayer
| ) |  |

static

creates and returns a new VIA layer named `<name>`, made of the two metals and a cut.

Caution: Throws an exception if the technology is null, if the name is
  empty, if a layer of same name already exists or if we overflow the capacity of the bit field associated to the layer mask.

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

- ViaLayer.h
- ViaLayer.dox