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:
Inheritance graph
[legend]

Classes

class  SourceHook
 
class  TargetHook
 

Public Types

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

Public Member Functions

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 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
NetgetNet () const
 
RubbergetRubber () const
 
HookgetBodyHook ()
 
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 ()
 
PropertygetProperty (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

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:


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