Hurricane VLSI Database


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

Vertical description (API) More...

Inheritance diagram for Hurricane::Vertical:
Inheritance graph
[legend]

Public Types

typedef Segment Inherit
 
- Public Types inherited from Hurricane::Segment
typedef Component Inherit
 
- Public Types inherited from Hurricane::Component
typedef Go Inherit
 

Public Member Functions

const DbU::UnitgetDySource () const
 
const DbU::UnitgetDyTarget () const
 
void setX (const DbU::Unit &x)
 
void translate (const DbU::Unit &dx)
 
- Public Member Functions inherited from Hurricane::Segment
HookgetSourceHook ()
 
HookgetTargetHook ()
 
HookgetOppositeHook (const Hook *hook) const
 
ComponentgetSource () const
 
ComponentgetTarget () const
 
Components getAnchors () const
 
ComponentgetOppositeAnchor (Component *anchor) const
 
const DbU::UnitgetWidth () const
 
DbU::Unit getHalfWidth () const
 
virtual Point getSourcePosition () const
 
virtual Point getTargetPosition () const
 
void setLayer (const Layer *layer)
 
void setWidth (const DbU::Unit &width)
 
void invert ()
 
- Public Member Functions inherited from Hurricane::Component
NetgetNet () const
 
RubbergetRubber () const
 
HookgetBodyHook ()
 
virtual Point getPosition () const
 
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 ()
 
PropertygetProperty (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 Verticalcreate (Net *net, const Layer *layer, const DbU::Unit &x, const DbU::Unit &width=0, const DbU::Unit &dySource=0, const DbU::Unit &dyTarget=0)
 
static Verticalcreate (Component *source, Component *target, const Layer *layer, const DbU::Unit &x, const DbU::Unit &width=0, const DbU::Unit &dySource=0, const DbU::Unit &dyTarget=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

Vertical description (API)

Introduction

A vertical has, in addition to inherited attributes, a specific one : its abscissa. The vertical extend of the segment is defined by the "source" and "target" components on which it is anchored.

This abscissa allows, among other things, to anchor a vertical segment extremity on a component (i.e. a contact) with a small horizontal offset without the need to materialize it, because it is implicitely equal to the difference between the vertical abscissa and the component abscissa. It allows also, and it not the least interesting feature, to anchor an extremity of a vertical directly on a horizontal segment (and conversely) without the need to create an intermediate contact (unless they are on different layers!). The abscissa of the implicit contact point is the one of the vertical and the ordinate the one of the horizontal).

Member Typedef Documentation

◆ Inherit

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

Member Function Documentation

◆ create() [1/2]

Vertical * Hurricane::Vertical::create ( Net net,
const Layer layer,
const DbU::Unit x,
const DbU::Unit width = 0,
const DbU::Unit dySource = 0,
const DbU::Unit dyTarget = 0 
)
static

creates and returns an absolute vertical segment with layer <layer>, located at abscissa <x> and of width <width>. The differents extremities ordinates are given by <dySource> and <dyTarget>.

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

◆ create() [2/2]

Vertical * Hurricane::Vertical::create ( Component source,
Component target,
const Layer layer,
const DbU::Unit x,
const DbU::Unit width = 0,
const DbU::Unit dySource = 0,
const DbU::Unit dyTarget = 0 
)
static

creates and returns a vertical segment whose origin lies (through an offset equal to <dySource>) on <source>, whose extremity lies (through an offset equal to <dyTarget>) on <target>, with layer <layer>, located at abscissa <x> and of width <width>.

Caution: Throws an exception if any of the source, target or layer
pointers is null or if the two component don't belong to the same net.

◆ getDySource()

const DbU::Unit & Hurricane::Vertical::getDySource ( ) const
inline

Returns: the relative source ordinate of the segment (may be absolute if the source extremity isn't anchored).

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

◆ getDyTarget()

const DbU::Unit & Hurricane::Vertical::getDyTarget ( ) const
inline

Returns: the relative target ordinate of the segment (may be absolute if the target extremity isn't anchored).

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

◆ setX()

void Hurricane::Vertical::setX ( const DbU::Unit x)

sets the abscissa of the segment.

◆ translate()

void Hurricane::Vertical::translate ( const DbU::Unit dx)

translate horizontaly the vertical segment of the quantity <dx>.


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


Generated by doxygen 1.9.1 on Thu Aug 11 2022 Return to top of page
Hurricane VLSI Database Copyright © 2000-2020 Bull S.A. All rights reserved