# Kite - Detailed Router

TrackFixedSegment.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | K i t e - D e t a i l e d R o u t e r |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./kite/TrackFixedSegment.h" |
14 // +-----------------------------------------------------------------+
15
16
17 #ifndef KITE_TRACK_FIXED_SEGMENT_H
18 #define KITE_TRACK_FIXED_SEGMENT_H
19
20 #include "kite/TrackElement.h"
21
22
23 namespace Kite {
24
25 using std::string;
26 using std::map;
27 using Hurricane::Record;
28 using Hurricane::Interval;
29 using Hurricane::DbU;
30 using Hurricane::Net;
31 using Hurricane::Layer;
32
33 class Track;
34
35
36 // -------------------------------------------------------------------
37 // Class : "TrackFixedSegment".
38
39 class TrackFixedSegment : public TrackElement {
40 public:
41 static TrackElement* create ( Kite::Track* track , Segment* segment );
42 public:
43 virtual AutoSegment* base () const;
44 virtual bool isHorizontal () const;
45 virtual bool isVertical () const;
46 virtual bool isFixed () const;
47 virtual unsigned long getId () const;
48 virtual unsigned int getDirection () const;
49 virtual Net* getNet () const;
50 virtual const Layer* getLayer () const;
51 virtual TrackElement* getNext () const;
52 virtual TrackElement* getPrevious () const;
53 virtual DbU::Unit getAxis () const;
54 virtual Interval getFreeInterval () const;
55 virtual Record* _getRecord () const;
56 virtual string _getString () const;
57 virtual string _getTypeName () const;
58
59 protected:
60 // Attributes.
61 static Net* _blockageNet;
62 Segment* _segment;
63
64 protected:
65 // Constructors & Destructors.
66 TrackFixedSegment ( Track*, Segment* ) ;
67 virtual ~TrackFixedSegment ();
68 virtual void _postCreate ();
69 virtual void _preDestroy ();
70 private:
71 TrackFixedSegment ( const TrackFixedSegment& );
72 TrackFixedSegment& operator= ( const TrackFixedSegment& );
73
74 };
75
76
77 } // Kite namespace.
78
79
80 INSPECTOR_P_SUPPORT(Kite::TrackFixedSegment);
81
82 #endif // KITE_TRACK_FIXED_SEGMENT_H
Kite::TrackFixedSegment::isFixed
virtual bool isFixed() const
Definition: TrackFixedSegment.cpp:189
Kite::TrackFixedSegment::getLayer
virtual const Layer * getLayer() const
Definition: TrackFixedSegment.cpp:191
Kite::TrackFixedSegment::getDirection
virtual unsigned int getDirection() const
Definition: TrackFixedSegment.cpp:190
Kite::TrackFixedSegment::create
static TrackElement * create(Kite::Track *track, Segment *segment)
Definition: TrackFixedSegment.cpp:167
Kite::TrackFixedSegment::getFreeInterval
virtual Interval getFreeInterval() const
Definition: TrackFixedSegment.cpp:192
Hurricane::Net
Hurricane::DbU::Unit
std::int64_t Unit
Kite::TrackFixedSegment::getNet
virtual Net * getNet() const
Definition: TrackFixedSegment.cpp:202
Kite::Track
Structure managing one routing track.
Definition: Track.h:42
Hurricane::Interval
Katabatic::AutoSegment
Kite::TrackFixedSegment::getNext
virtual TrackElement * getNext() const
Definition: TrackFixedSegment.cpp:211
Kite::TrackFixedSegment::getPrevious
virtual TrackElement * getPrevious() const
Definition: TrackFixedSegment.cpp:218
Hurricane::DbU
Hurricane::Layer
Hurricane::Segment
Kite::TrackElement
Abstract Class for all Elements inserted inside a Track.
Definition: TrackElement.h:100
Kite::TrackFixedSegment::getAxis
virtual DbU::Unit getAxis() const
Definition: TrackFixedSegment.cpp:186
Kite::TrackFixedSegment::isVertical
virtual bool isVertical() const
Definition: TrackFixedSegment.cpp:188
Kite::TrackFixedSegment::isHorizontal
virtual bool isHorizontal() const
Definition: TrackFixedSegment.cpp:187
Kite::TrackFixedSegment
Track elements for fixed wires.
Definition: TrackFixedSegment.h:39
Kite
The namespace dedicated to Kite.
Definition: Constants.h:22
Kite::TrackFixedSegment::getId
virtual unsigned long getId() const
Definition: TrackFixedSegment.cpp:195
Hurricane::Net