# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions
Hurricane::Contact Class Reference

Contact description (API) More...

Inheritance diagram for Hurricane::Contact:
[legend]

## Classes

class | AnchorHook

## Public Types

typedef Component | Inherit
Public Types inherited from Hurricane::Component
typedef Go | Inherit

## Public Member Functions

Hook * | getAnchorHook ()
Component * | getAnchor () const
const DbU::Unit & | getDx () const
const DbU::Unit & | getDy () const
const DbU::Unit & | getWidth () const
DbU::Unit | getHalfWidth () const
const DbU::Unit & | getHeight () const
DbU::Unit | getHalfHeight () const
void | setLayer (const Layer *layer)
void | setWidth (const DbU::Unit &width)
void | setHeight (const DbU::Unit &height)
void | setSizes (const DbU::Unit &width, const DbU::Unit &height)
void | setX (const DbU::Unit &x)
void | setY (const DbU::Unit &y)
void | setPosition (const DbU::Unit &x, const DbU::Unit &y)
void | setPosition (const Point &position)
void | setDx (const DbU::Unit &dx)
void | setDy (const DbU::Unit &dy)
void | setOffset (const DbU::Unit &dx, const DbU::Unit &dy)
Public Member Functions inherited from Hurricane::Component
Net * | getNet () const
Rubber * | getRubber () const
Hook * | getBodyHook ()
Components | getConnexComponents () const
Components | getSlaveComponents () const
Public Member Functions inherited from Hurricane::Go
bool | isMaterialized () const
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 ()

## Static Public Member Functions

static Contact * | create (Net *net, const Layer *layer, const DbU::Unit &x, const DbU::Unit &y, const DbU::Unit &width=0, const DbU::Unit &height=0)
static Contact * | create (Component *anchor, const Layer *layer, const DbU::Unit &dx, const DbU::Unit &dy, const DbU::Unit &width=0, const DbU::Unit &height=0)
Static Public Member Functions inherited from Hurricane::Component
static ComponentFilter | getIsUnderFilter (const Box &area)
Static Public Member Functions inherited from Hurricane::Go
static bool | autoMaterializationIsDisabled ()
static void | enableAutoMaterialization ()
static void | disableAutoMaterialization ()

## Detailed Description

Contact description (API)

# Introduction

Contacts are objects representing contact points within a net. A contact may have a null size, be a single layer contact or a multi-layer contact (i.e. a VIA).

## Member Typedef Documentation

## ◆ Inherit

Hurricane::Contact::Inherit

Useful for calling upon methods of the base class without knowing it.

## Member Function Documentation

## ◆ create() [1/2]

Contact * Hurricane::Contact::create | ( | Net * | net,
|  | const Layer * | layer,
|  | const DbU::Unit & | x,
|  | const DbU::Unit & | y,
|  | const DbU::Unit & | width = `0`,
|  | const DbU::Unit & | height = `0`
| ) |  |

static

creates and returns a new contact belonging to the net `<net>`, on the layer `<layer>`, of size `<width>` and `<height>` and located at the absolute coordinates `<x>` and `<y>`.

Caution: Throws an exception if the layer or the net is null.

## ◆ create() [2/2]

Contact * Hurricane::Contact::create | ( | Component * | anchor,
|  | const Layer * | layer,
|  | const DbU::Unit & | dx,
|  | const DbU::Unit & | dy,
|  | const DbU::Unit & | width = `0`,
|  | const DbU::Unit & | height = `0`
| ) |  |

static

creates and returns a new contact on the layer `<layer>`, of size `<width>` and `<height>` attached upon the component `<anchor>` through an offset defined by `<dx>` et `<dy>`.

Caution: Throws an exception if the layer or the anchor is null or if
  the anchor is an unconnected plug.

Remarks
  The new contact belongs to the anchor's net.

## ◆ getAnchorHook()

Contact::AnchorHook * Hurricane::Contact::getAnchorHook | ( |  | ) |

inline

Returns: the hook through which the contact can be attached upon an anchor.

## ◆ getAnchor()

Component * Hurricane::Contact::getAnchor | ( |  | ) | const

The anchor hook of the contact being a slave one, it may have a master hook representing the body of the anchor on which it is attached. This method returns the owner of this master hook if it exists else NULL (either the contact is an absolute one (its anchor hook is not inserted in a ring) or this ring doesn't contain a master hook (lowly probable, transitory)).

## ◆ getDx()

const DbU::Unit & Hurricane::Contact::getDx | ( |  | ) | const

inline

Returns: the relative abscissa of the contact.

Remarks
  If you want to get the absolute one use the member function getX() defined at the Component level.

## ◆ getDy()

const DbU::Unit & Hurricane::Contact::getDy | ( |  | ) | const

inline

Returns: the relative ordinate of the contact.

Remarks
  If you want to get the absolute one use the member function getY() defined at the Component level.

## ◆ getWidth()

const DbU::Unit & Hurricane::Contact::getWidth | ( |  | ) | const

inline

Returns: the contact width.

## ◆ getHalfWidth()

DbU::Unit Hurricane::Contact::getHalfWidth | ( |  | ) | const

inline

Returns: the contact half width.

## ◆ getHeight()

const DbU::Unit & Hurricane::Contact::getHeight | ( |  | ) | const

inline

Returns: the contact height.

## ◆ getHalfHeight()

DbU::Unit Hurricane::Contact::getHalfHeight | ( |  | ) | const

inline

Returns: the contact half height.

## ◆ setLayer()

void Hurricane::Contact::setLayer | ( | const Layer * | layer | ) |

sets the contact layer.

## ◆ setWidth()

void Hurricane::Contact::setWidth | ( | const DbU::Unit & | width | ) |

sets the contact width.

## ◆ setHeight()

void Hurricane::Contact::setHeight | ( | const DbU::Unit & | height | ) |

sets the contact height.

## ◆ setSizes()

void Hurricane::Contact::setSizes | ( | const DbU::Unit & | width,
|  | const DbU::Unit & | height
| ) |  |

sets both contact width and height.

## ◆ setX()

void Hurricane::Contact::setX | ( | const DbU::Unit & | x | ) |

Allows to change the absolute abscissa of the contact (if it has a location relative to an other component, only relative position to this last is accordingly changed).

## ◆ setY()

void Hurricane::Contact::setY | ( | const DbU::Unit & | y | ) |

Allows to change the absolute ordinate of the contact (if it has a location relative to an other component, only relative position to this last is accordingly changed).

## ◆ setPosition() [1/2]

void Hurricane::Contact::setPosition | ( | const DbU::Unit & | x,
|  | const DbU::Unit & | y
| ) |  |

No description.

## ◆ setPosition() [2/2]

void Hurricane::Contact::setPosition | ( | const Point & | position | ) |

Allows to change the absolute location of the contact (if it has a location relative to an other component, only relative position to this last is accordingly changed).

## ◆ setDx()

void Hurricane::Contact::setDx | ( | const DbU::Unit & | dx | ) |

Allows to change the horizontal offset of the contact.

Remarks
  If the contact is absolute, this amounts to change its absolute abscissa.

## ◆ setDy()

void Hurricane::Contact::setDy | ( | const DbU::Unit & | dy | ) |

Allows to change the vertical offset of the contact.

Remarks
  If the contact is absolute, this amounts to change its absolute ordinate.

## ◆ setOffset()

void Hurricane::Contact::setOffset | ( | const DbU::Unit & | dx,
|  | const DbU::Unit & | dy
| ) |  |

Allows to change the offset of the contact.

Remarks
  If the contact is absolute, this amounts to change its absolute location.

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

- Contact.h
- Contact.dox