Horizontal description (API) More...
Public Types | |
typedef Segment | Inherit |
![]() | |
typedef Component | Inherit |
![]() | |
typedef Go | Inherit |
Public Member Functions | |
const DbU::Unit & | getDxSource () const |
const DbU::Unit & | getDxTarget () const |
void | setY (const DbU::Unit &y) |
void | translate (const DbU::Unit &dy) |
![]() | |
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 Point | getSourcePosition () const |
virtual Point | getTargetPosition () const |
void | setLayer (const Layer *layer) |
void | setWidth (const DbU::Unit &width) |
void | invert () |
![]() | |
Net * | getNet () const |
Rubber * | getRubber () const |
Hook * | getBodyHook () |
virtual Point | getPosition () const |
Components | getConnexComponents () const |
Components | getSlaveComponents () const |
![]() | |
bool | isMaterialized () const |
![]() | |
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 Horizontal * | create (Net *net, const Layer *layer, const DbU::Unit &y, const DbU::Unit &width=0, const DbU::Unit &dxSource=0, const DbU::Unit &dxTarget=0) |
static Horizontal * | create (Component *source, Component *target, const Layer *layer, const DbU::Unit &y, const DbU::Unit &width=0, const DbU::Unit &dxSource=0, const DbU::Unit &dxTarget=0) |
![]() | |
static ComponentFilter | getIsUnderFilter (const Box &area) |
![]() | |
static bool | autoMaterializationIsDisabled () |
static void | enableAutoMaterialization () |
static void | disableAutoMaterialization () |
Horizontal description (API)
A horizontal has, in addition to inherited attributes, a specific one : its ordinate. The horizontal extend of the segment is defined by the "source" and "target" components on which it is anchored.
This ordinate allows, among other things, to anchor a horizontal segment extremity on a component (i.e. a contact) with a small vertical offset without the need to materialize it, because it is implicitely equal to the difference between the horizontal ordinate and the component ordinate. It allows also, and it not the least interesting feature, to anchor an extremity of a horizontal directly on a vertical segment (and conversely) without the need to create an intermediate contact (unless they are on different layers!). The ordinate of the implicit contact point is the one of the horizontal and the abscissa the one of the vertical).
Useful for calling upon methods of the base class without knowing it.
|
static |
creates and returns an absolute horizontal segment with layer <layer>
, located at ordinate <y>
and of width <width>
. The differents extremities abscissas are given by <dxSource>
and <dxTarget>
.
|
static |
No description.
|
inline |
Returns: the relative source abscissa of the segment (may be absolute if the source extremity isn't anchored).
|
inline |
Returns: the relative target abscissa of the segment (may be absolute if the target extremity isn't anchored).
void Hurricane::Horizontal::setY | ( | const DbU::Unit & | x | ) |
sets the ordinate of the segment.
void Hurricane::Horizontal::translate | ( | const DbU::Unit & | dy | ) |
translate verticaly the horizontal segment of the quantity <dy>
.
Generated by doxygen 1.9.1 on Wed Nov 20 2024 | Return to top of page |
Hurricane VLSI Database | Copyright © 2000-2020 Bull S.A. All rights reserved |