# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Classes | Public Types | Public Member Functions
Hurricane::Segment Class Referenceabstract

Segment description (API) More...

Inheritance diagram for Hurricane::Segment:
[legend]

## Classes

class | SourceHook
class | TargetHook

## Public Types

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

## Public Member Functions

Hook * | getSourceHook ()
Hook * | getTargetHook ()
Hook * | getOppositeHook (const Hook *hook) const
Component * | getSource () const
Component * | getTarget () const
Components | getAnchors () const
Component * | getOppositeAnchor (Component *anchor) const
const DbU::Unit & | getWidth () const
DbU::Unit | getHalfWidth () const
virtual DbU::Unit | getSourceX () const =0
virtual DbU::Unit | getSourceY () const =0
virtual Point | getSourcePosition () const
virtual DbU::Unit | getTargetX () const =0
virtual DbU::Unit | getTargetY () const =0
virtual Point | getTargetPosition () const
virtual DbU::Unit | getLength () const =0
void | setLayer (const Layer *layer)
void | setWidth (const DbU::Unit &width)
void | invert ()
Public Member Functions inherited from Hurricane::Component
Net * | getNet () const
Rubber * | getRubber () const
Hook * | getBodyHook ()
virtual Point | getPosition () const
virtual Box | getBoundingBox (const BasicLayer *) const =0
Components | getConnexComponents () const
Components | getSlaveComponents () const
Public Member Functions inherited from Hurricane::Go
bool | isMaterialized () const
virtual void | translate (const DbU::Unit &dx, const DbU::Unit &dy)=0
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 ()

## Additional Inherited Members

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

Segment description (API)

# Introduction

Segments are abstract objects introducing the concept of link between two components.

They are implicitely oriented, but that doesn't represent any particular signification (for layout objects at least).

## Member Typedef Documentation

## ◆ Inherit

Hurricane::Segment::Inherit

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

## Member Function Documentation

## ◆ getSourceHook()

Segment::SourceHook * Hurricane::Segment::getSourceHook | ( |  | ) |

inline

Returns: the hook through which the segment origin can be anchored on a component.

## ◆ getTargetHook()

Segment::TargetHook * Hurricane::Segment::getTargetHook | ( |  | ) |

inline

Returns: the hook through which the segment extremity can be anchored on a component.

## ◆ getOppositeHook()

Hook * Hurricane::Segment::getOppositeHook | ( | const Hook * | hook | ) | const

Returns: the target hook of the segment if `<hook>` is the source hook of the segment.

Returns: the source hook of the segment if `<hook>` is the target hook of the segment.

Returns: NULL otherwise.

## ◆ getSource()

Component * Hurricane::Segment::getSource | ( |  | ) | const

The source hook being a slave one, it may have an associated master hook representing the body of the component on wich the segment origin is anchored.

So, this method returns the component owner of this master hook, if any, else a NULL pointer.

## ◆ getTarget()

Component * Hurricane::Segment::getTarget | ( |  | ) | const

The target hook being a slave one, it may have an associated master hook representing the body of the component on wich the segment extremity is anchored.

So, this method returns the component owner of this master hook, if any, else a NULL pointer.

## ◆ getAnchors()

Components Hurricane::Segment::getAnchors | ( |  | ) | const

Returns: the collection of anchors. This collection is composed by the source (if non NULL) and the target (if non NULL) of the segment (may be empty if all extremities of the segment aren't anchored).

## ◆ getOppositeAnchor()

Component * Hurricane::Segment::getOppositeAnchor | ( | Component * | anchor | ) | const

Returns: the target anchor of the segment if `<anchor>` is the source anchor of the segment (may be NULL)

Returns: the source anchor of the segment if `<anchor>` is the target anchor of the segment (may be NULL)

Returns: NULL otherwise.

## ◆ getWidth()

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

inline

Returns: the segment width.

## ◆ getHalfWidth()

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

inline

Returns: the segment half width.

## ◆ getSourceX()

DbU::Unit Hurricane::Segment::getSourceX | ( |  | ) | const

pure virtual

Returns: the abscissa of the segment origin.

## ◆ getSourceY()

DbU::Unit Hurricane::Segment::getSourceY | ( |  | ) | const

pure virtual

Returns: the ordinate of the segment origin.

## ◆ getSourcePosition()

Point Hurricane::Segment::getSourcePosition | ( |  | ) | const

virtual

Returns: the point location of the segment origin.

## ◆ getTargetX()

DbU::Unit Hurricane::Segment::getTargetX | ( |  | ) | const

pure virtual

Returns: the abscissa of the segment extremity.

## ◆ getTargetY()

DbU::Unit Hurricane::Segment::getTargetY | ( |  | ) | const

pure virtual

Returns: the ordinate of the segment extremity.

## ◆ getTargetPosition()

Point Hurricane::Segment::getTargetPosition | ( |  | ) | const

virtual

Returns: the point location of the segment extremity.

## ◆ getLength()

DbU::Unit Hurricane::Segment::getLength | ( |  | ) | const

pure virtual

Returns: the segment length.

## ◆ setLayer()

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

sets the segment layer.

## ◆ setWidth()

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

sets the segment width.

## ◆ invert()

void Hurricane::Segment::invert | ( |  | ) |

invert the segment. The source and target of the segment are permutted.

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

- Segment.h
- Segment.dox