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 );
68 inline static bool isEmpty ();
70 static Configuration* getConfiguration ();
71 inline static Net* getBlockageNet ();
73 inline static unsigned int getRipupCost ();
75 static void setInterrupt (
bool );
80 inline static void addSortEvent (
Track*,
bool forced=
false );
81 inline static size_t revalidate ();
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 ();
150 {
return get(
"getKiteEngine()")->_getKiteEngine(); }
152 inline Net* Session::getBlockageNet ()
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); }
176 inline void Session::addSortEvent (
Track* track,
bool forced )
177 {
get(
"addSortEvent()")->_addSortEvent(track,forced); }
179 inline size_t Session::revalidate ()
180 {
return get(
"revalidate()")->_revalidate(); }
182 inline bool Session::isEmpty ()
183 {
return get(
"isEmpty()")->_isEmpty(); }
188 #endif // KITE_SESSION_H
Structure managing one routing track.
Definition: Track.h:42
Perform the routing, main RoutingEvent manager.
Definition: NegociateWindow.h:92
The Kite Tool.
Definition: KiteEngine.h:60
Tag part of Track with a weight.
Definition: TrackMarker.h:43
Abstract Class for all Elements inserted inside a Track.
Definition: TrackElement.h:100
The namespace dedicated to Kite.
Definition: Constants.h:22
Kite update Session.
Definition: Session.h:59