17 #ifndef KITE_SESSION_H 18 #define KITE_SESSION_H 30 #include "katabatic/Session.h" 42 using Hurricane::Record;
51 class NegociateWindow;
66 static Session*
get (
const char* message=NULL );
73 inline static unsigned int getRipupCost ();
75 static void setInterrupt (
bool );
86 Net* _getBlockageNet ();
87 unsigned int _getRipupCost ();
89 void _doRemovalEvents ();
90 virtual size_t _revalidate ();
91 bool _isEmpty ()
const;
97 void _addSortEvent (
Track*,
bool forced );
98 virtual Record* _getRecord ()
const;
99 virtual string _getTypeName ()
const;
115 vector<Event> _insertEvents;
116 vector<Event> _removeEvents;
117 set<Track*> _sortEvents;
123 virtual void _postCreate ();
124 virtual void _preDestroy ();
139 inline Session::Event::Event ( TrackMarker* marker , Track* track )
150 {
return get(
"getKiteEngine()")->_getKiteEngine(); }
153 {
return get(
"getBlockageNet()")->_getBlockageNet(); }
156 {
return get(
"getNegociateWindow()")->_getNegociateWindow(); }
158 inline unsigned int Session::getRipupCost ()
159 {
return get(
"getRipupCost()")->_getRipupCost(); }
162 {
return get(
"getGCellUnder()")->_getGCellUnder(x,y); }
165 {
get(
"addInsertEvent(TrackMarker*)")->_addInsertEvent(marker,track); }
168 {
get(
"addInsertEvent(TrackElement*)")->_addInsertEvent(segment,track); }
171 {
get(
"addRemoveEvent()")->_addRemoveEvent(segment); }
174 {
get(
"addMoveEvent()")->_addMoveEvent(segment,track); }
177 {
get(
"addSortEvent()")->_addSortEvent(track,forced); }
180 {
return get(
"revalidate()")->_revalidate(); }
183 {
return get(
"isEmpty()")->_isEmpty(); }
188 #endif // KITE_SESSION_H
static TrackElement * lookup(Segment *)
static void addRemoveEvent(TrackElement *)
Definition: Session.h:170
static KiteEngine * getKiteEngine()
Definition: Session.h:149
static Katabatic::Session * base()
Definition: Session.h:146
static NegociateWindow * getNegociateWindow()
Definition: Session.h:155
static void addMoveEvent(TrackElement *, Track *)
Definition: Session.h:173
Structure managing one routing track.
Definition: Track.h:42
static Katabatic::GCell * getGCellUnder(DbU::Unit, DbU::Unit)
Definition: Session.h:161
Perform the routing, main RoutingEvent manager.
Definition: NegociateWindow.h:92
The Kite Tool.
Definition: KiteEngine.h:60
static void addSortEvent(Track *, bool forced=false)
Definition: Session.h:176
Tag part of Track with a weight.
Definition: TrackMarker.h:43
static Session * open(KiteEngine *)
Abstract Class for all Elements inserted inside a Track.
Definition: TrackElement.h:100
static size_t revalidate()
Definition: Session.h:179
static Configuration * getConfiguration()
The namespace dedicated to Kite.
Definition: Constants.h:22
static Net * getBlockageNet()
Definition: Session.h:152
static bool isEmpty()
Definition: Session.h:182
Kite update Session.
Definition: Session.h:59