# Kite - Detailed Router

Public Member Functions | Static Public Member Functions | List of all members
TrackFixedSegment Class Reference

Track elements for fixed wires. More...

Inheritance diagram for TrackFixedSegment:
[legend]

## Public Member Functions
virtual bool | isHorizontal () const
virtual bool | isVertical () const
virtual bool | isFixed () const
virtual unsigned long | getId () const
virtual unsigned int | getDirection () const
virtual Net * | getNet () const
virtual const Layer * | getLayer () const
virtual TrackElement * | getNext () const
virtual TrackElement * | getPrevious () const
virtual DbU::Unit | getAxis () const
virtual Interval | getFreeInterval () const
Public Member Functions inherited from TrackElement
virtual bool | isLocal () const
virtual bool | isGlobal () const
virtual bool | isBipoint () const
virtual bool | isTerminal () const
virtual bool | isStrap () const
virtual bool | isSlackened () const
virtual bool | isDogleg () const
bool | isCreated () const
bool | isInvalidated () const
bool | isBlockage () const
bool | isLocked () const
bool | isRouted () const
bool | hasSourceDogleg () const
bool | hasTargetDogleg () const
bool | canRipple () const
virtual bool | canDogleg ()
virtual bool | canDogleg (Interval)
virtual bool | canDogleg (Katabatic::GCell *, unsigned int flags=0)
Track * | getTrack () const
size_t | getIndex () const
virtual unsigned long | getFreedomDegree () const
virtual float | getMaxUnderDensity (unsigned int flags=0) const
Box | getBoundingBox () const
DbU::Unit | getSourceU () const
DbU::Unit | getTargetU () const
DbU::Unit | getLength () const
Interval | getCanonicalInterval () const
virtual Interval | getSourceConstraints () const
virtual Interval | getTargetConstraints () const
virtual DataNegociate * | getDataNegociate (unsigned int flags=KtDataSelf) const
virtual TrackElement * | getCanonical (Interval &)
virtual size_t | getGCells (Katabatic::GCellVector &) const
virtual TrackElement * | getParent () const
virtual unsigned int | getDoglegLevel () const
virtual TrackElement * | getSourceDogleg ()
virtual TrackElement * | getTargetDogleg ()
virtual TrackElements | getPerpandiculars ()
void | setFlags (unsigned int)
void | unsetFlags (unsigned int)
virtual void | setTrack (Track *)
void | setIndex (size_t)
virtual void | updateFreedomDegree ()
virtual void | setDoglegLevel (unsigned int)
virtual void | swapTrack (TrackElement *)
virtual void | reschedule (unsigned int level)
virtual void | detach ()
virtual void | invalidate ()
virtual void | revalidate ()
virtual void | incOverlapCost (Net *, TrackCost &) const
virtual void | setAxis (DbU::Unit, unsigned int flags=Katabatic::SegAxisSet)
virtual TrackElement * | makeDogleg ()
bool | makeDogleg (Katabatic::GCell *)
virtual TrackElement * | makeDogleg (Interval, unsigned int &flags)
virtual bool | _check () const

## Static Public Member Functions
static TrackElement * | create (Kite::Track *track, Segment *segment)
Static Public Member Functions inherited from TrackElement
static SegmentOverlapCostCB * | setOverlapCostCB (SegmentOverlapCostCB *)

## Detailed Description

Track elements for fixed wires.

A TrackFixedSegment is a segment that cannot be moved from the track. It can be associated to a true blockage Segment (recognised by the fact that their owner net is the blockage net), or to a segment from an ordinary net but which is locked into position. In the latter case, the owned net may reuse this portion of the track if it needs it.

In all cases, the blockage ratio of the GCells underneath the segment are updated.

## Member Function Documentation

## ◆ create()

TrackSegment * create | ( | Kite::Track * | track,
|  | Segment * | segment
| ) |  |
| static

Parameters

  segment | The Hurricane Segment (blockage) to take into account.
  track | A Track into which insert the TrackFixedSegment.

Returns
  A TrackFixedSegment wrapped around a blockage Segment.

Public constructor to insert blockage inside a Track.

## ◆ isHorizontal()

bool isHorizontal | ( |  | ) | const
| virtual

See also: Katabatic::AutoSegment::isHorizontal().

Implements TrackElement.

## ◆ isVertical()

bool isVertical | ( |  | ) | const
| virtual

See also: Katabatic::AutoSegment::isVertical().

Implements TrackElement.

## ◆ isFixed()

bool isFixed | ( |  | ) | const
| virtual

See also: Katabatic::AutoSegment::isFixed().

Reimplemented from TrackElement.

## ◆ getId()

unsigned long getId | ( |  | ) | const
| virtual

Returns
  The `Id` of the supporting AutoSegment, if there is any. Zero otherwise.

Reimplemented from TrackElement.

## ◆ getDirection()

unsigned int getDirection | ( |  | ) | const
| virtual

Returns
  The direction of the supporting element (should match the preferred direction of the Track).

Implements TrackElement.

## ◆ getNet()

Net * getNet | ( |  | ) | const
| virtual

Returns: The Net associated to the element (may be `NULL`).

Implements TrackElement.

Referenced by TrackFixedSegment::getNext(), and TrackFixedSegment::getPrevious().

## ◆ getLayer()

const Layer * getLayer | ( |  | ) | const
| virtual

Returns: The Layer of the element (should match the one of the Track).

Implements TrackElement.

## ◆ getNext()

TrackElement * getNext | ( |  | ) | const
| virtual

Returns: The next TrackElement, on the same track and of a different net. See also: Track::getNext().

Reimplemented from TrackElement.

## ◆ getPrevious()

TrackElement * getPrevious | ( |  | ) | const
| virtual

Returns: The previous TrackElement, on the same track and of a different net. See also: Track::getPrevious().

Reimplemented from TrackElement.

## ◆ getAxis()

DbU::Unit getAxis | ( |  | ) | const
| virtual

Returns: The axis position of the element (must be the same as the Track).

Implements TrackElement.

## ◆ getFreeInterval()

Interval getFreeInterval | ( |  | ) | const
| virtual

Returns: The greatest free interval enclosing this element.

Reimplemented from TrackElement.

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

- TrackFixedSegment.h
- TrackFixedSegment.cpp
- TrackFixedSegment.dox

Generated by doxygen 1.8.14 on Mon Feb 3 2020 | Return to top of page

Kite - Detailed Router | Copyright © 2008-2016 UPMC. All rights reserved