2018-10-18 11:10:01 -05:00
\hypertarget { classKite_ 1_ 1NegociateWindow} { } \subsection { Negociate\+ Window Class Reference}
\label { classKite_ 1_ 1NegociateWindow} \index { Negociate\+ Window@{ Negociate\+ Window} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Perform the routing, main \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } manager.
2018-06-06 11:42:26 -05:00
\subsubsection * { Public Types}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
enum \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} { Stage} } \{ \newline
\mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f} { Negociation} } = 1,
\newline
\mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82} { Packing} } = 2
2018-06-06 11:42:26 -05:00
\}
\end { DoxyCompactItemize}
\subsubsection * { Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a3a80b6032f86a56bec74609034b3246f} { destroy} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
bool \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aa1a08014471e19352a5efdabad3a87cb} { is\+ Interrupted} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1KiteEngine} { Kite\+ Engine} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ af7373bd3a4ee8fcf28a316230ed37fc0} { get\+ Kite\+ Engine} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\textbf { Hurricane\+ ::\+ Cell} $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a5ea0f667687d3a832f8c9806ccbe6792} { get\+ Cell} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
const Katabatic\+ ::\+ G\+ Cell\+ Vector \& \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ ad8902daa6817d4275be5e3a37eb24424} { get\+ G\+ Cells} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1RoutingEventQueue} { Routing\+ Event\+ Queue} } \& \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a80fc29623500b168c49ba14c49a00a76} { get\+ Event\+ Queue} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1RoutingEventHistory} { Routing\+ Event\+ History} } \& \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a990d738cf85fa016589edaa08d736d4f} { get\+ Event\+ History} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1RoutingEventLoop} { Routing\+ Event\+ Loop} } \& \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a9a41d40e5e378b9bcb99048262ec15a6} { get\+ Event\+ Loop} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} { Stage} } \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aeb77fbb60f78895b010f7a12658864a6} { get\+ Stage} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a329dbc5bc549e3fe354996368dbf7113} { set\+ G\+ Cells} } (const Katabatic\+ ::\+ G\+ Cell\+ Vector \& )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a7c0d10dab2d32985e942b7678dcccafd} { set\+ Interrupt} } (bool)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aad6b43971b936f7ea003d3ad0fd07532} { set\+ Stage} } (\mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} { Stage} } )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
double \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a4936106670361df6b6f3ef0b6088c9dc} { compute\+ Wirelength} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a7bf31fcd4e4007e62454689ef7c553fc} { create\+ Track\+ Segment} } (\textbf { Auto\+ Segment} $ \ast $ , unsigned int flags)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a51ba8e6a122c0cb93174027658cade63} { add\+ Routing\+ Event} } (\mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ , unsigned int level)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ acad8f73494d122463d65797d337ce275} { reschedule\+ Event} } (\mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } $ \ast $ , unsigned int level)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a61e848b73b597f54e2e83e13eb70ff83} { run} } (unsigned int flags)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ a8d3dfaa30cedabd6b64977827ac989d8} { print\+ Statistics} } () const
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsubsection * { Static Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
static \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow} { Negociate\+ Window} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ ad9c37ea1398a6dfa332cb297141dc1c4} { create} } (\mbox { \hyperlink { classKite_ 1_ 1KiteEngine} { Kite\+ Engine} } $ \ast $ )
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsubsection { Detailed Description}
2018-10-18 11:10:01 -05:00
Perform the routing, main \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } manager.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
This object perform the routing. That is creates all the initial \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } , load them into the queue and then process the queue until it is empty, that is, the routing is finished.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
This object is the owner of the \mbox { \hyperlink { classKite_ 1_ 1RoutingEventQueue} { Routing\+ Event\+ Queue} } , \mbox { \hyperlink { classKite_ 1_ 1RoutingEventHistory} { Routing\+ Event\+ History} } and \mbox { \hyperlink { classKite_ 1_ 1RoutingEventLoop} { Routing\+ Event\+ Loop} } used all troughout \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } and \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } .
2018-06-06 11:42:26 -05:00
\subsubsection { Member Enumeration Documentation}
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} \label { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !Stage@{ Stage} }
\index { Stage@{ Stage} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { Stage} { Stage} }
{ \footnotesize \ttfamily enum \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} { Stage} } }
The state under which the router is operating. \begin { DoxyEnumFields} { Enumerator}
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Negociation@{ Negociation} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} } \index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !Negociation@{ Negociation} } } \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f} \label { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f} }
Negociation& The normal mode, priority negociation with ripup. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Packing@{ Packing} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} } \index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !Packing@{ Packing} } } \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82} \label { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82} }
Packing& Try to find a better placement for segment but just by looking for other fully free spaces. No ripup is performed. \\
\hline
\end { DoxyEnumFields}
2018-06-06 11:42:26 -05:00
\subsubsection { Member Function Documentation}
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ ad9c37ea1398a6dfa332cb297141dc1c4} \label { classKite_ 1_ 1NegociateWindow_ ad9c37ea1398a6dfa332cb297141dc1c4} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !create@{ create} }
\index { create@{ create} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { create()} { create()} }
{ \footnotesize \ttfamily create (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1KiteEngine}{Kite\+Engine}} $\ast$}] { kite } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [static]} }
The publicly avalaible contructor. Route the whole are defined by the \mbox { \hyperlink { namespaceKite} { Kite} } associated Cell abutment box. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a3a80b6032f86a56bec74609034b3246f} \label { classKite_ 1_ 1NegociateWindow_ a3a80b6032f86a56bec74609034b3246f} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !destroy@{ destroy} }
\index { destroy@{ destroy} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { destroy()} { destroy()} }
{ \footnotesize \ttfamily void destroy (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )}
The publicly avalaible destructor. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ aa1a08014471e19352a5efdabad3a87cb} \label { classKite_ 1_ 1NegociateWindow_ aa1a08014471e19352a5efdabad3a87cb} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !is\+ Interrupted@{ is\+ Interrupted} }
\index { is\+ Interrupted@{ is\+ Interrupted} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { is\+ Interrupted()} { isInterrupted()} }
{ \footnotesize \ttfamily bool is\+ Interrupted (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} { \bfseries true} if the \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow} { Negociate\+ Window} } has received an interrupt request. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ af7373bd3a4ee8fcf28a316230ed37fc0} \label { classKite_ 1_ 1NegociateWindow_ af7373bd3a4ee8fcf28a316230ed37fc0} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ Kite\+ Engine@{ get\+ Kite\+ Engine} }
\index { get\+ Kite\+ Engine@{ get\+ Kite\+ Engine} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ Kite\+ Engine()} { getKiteEngine()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1KiteEngine} { Kite\+ Engine} } $ \ast $ get\+ Kite\+ Engine (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The associated \mbox { \hyperlink { classKite_ 1_ 1KiteEngine} { Kite\+ Engine} } .
Referenced by Negociate\+ Window\+ ::print\+ Statistics().
\mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a5ea0f667687d3a832f8c9806ccbe6792} \label { classKite_ 1_ 1NegociateWindow_ a5ea0f667687d3a832f8c9806ccbe6792} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ Cell@{ get\+ Cell} }
\index { get\+ Cell@{ get\+ Cell} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ Cell()} { getCell()} }
{ \footnotesize \ttfamily \textbf { Hurricane\+ ::\+ Cell} $ \ast $ get\+ Cell (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const}
2020-02-03 10:44:15 -06:00
{ \bfseries Returns\+ :} The associated Cell. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ ad8902daa6817d4275be5e3a37eb24424} \label { classKite_ 1_ 1NegociateWindow_ ad8902daa6817d4275be5e3a37eb24424} }
2018-10-18 11:10:01 -05:00
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ G\+ Cells@{ get\+ G\+ Cells} }
\index { get\+ G\+ Cells@{ get\+ G\+ Cells} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ G\+ Cells()} { getGCells()} }
{ \footnotesize \ttfamily const Katabatic\+ ::\+ G\+ Cell\+ Vector \& get\+ G\+ Cells (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} A Copy of the vector of G\+ Cell from Katabatic\+ Engine. The vector is copied but not the G\+ Cell themselves (shallow copy). \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a80fc29623500b168c49ba14c49a00a76} \label { classKite_ 1_ 1NegociateWindow_ a80fc29623500b168c49ba14c49a00a76} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ Event\+ Queue@{ get\+ Event\+ Queue} }
\index { get\+ Event\+ Queue@{ get\+ Event\+ Queue} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ Event\+ Queue()} { getEventQueue()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1RoutingEventQueue} { Routing\+ Event\+ Queue} } \& get\+ Event\+ Queue (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The \mbox { \hyperlink { classKite_ 1_ 1RoutingEventQueue} { Routing\+ Event\+ Queue} } . \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a990d738cf85fa016589edaa08d736d4f} \label { classKite_ 1_ 1NegociateWindow_ a990d738cf85fa016589edaa08d736d4f} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ Event\+ History@{ get\+ Event\+ History} }
\index { get\+ Event\+ History@{ get\+ Event\+ History} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ Event\+ History()} { getEventHistory()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1RoutingEventHistory} { Routing\+ Event\+ History} } \& get\+ Event\+ History (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The \mbox { \hyperlink { classKite_ 1_ 1RoutingEventHistory} { Routing\+ Event\+ History} } . \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a9a41d40e5e378b9bcb99048262ec15a6} \label { classKite_ 1_ 1NegociateWindow_ a9a41d40e5e378b9bcb99048262ec15a6} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ Event\+ Loop@{ get\+ Event\+ Loop} }
\index { get\+ Event\+ Loop@{ get\+ Event\+ Loop} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ Event\+ Loop()} { getEventLoop()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1RoutingEventLoop} { Routing\+ Event\+ Loop} } \& get\+ Event\+ Loop (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The \mbox { \hyperlink { classKite_ 1_ 1RoutingEventLoop} { Routing\+ Event\+ Loop} } . \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ aeb77fbb60f78895b010f7a12658864a6} \label { classKite_ 1_ 1NegociateWindow_ aeb77fbb60f78895b010f7a12658864a6} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !get\+ Stage@{ get\+ Stage} }
\index { get\+ Stage@{ get\+ Stage} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { get\+ Stage()} { getStage()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} { Stage} } get\+ Stage (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The stage (Negicate\+ Window\+ ::\+ Stage) into which the \mbox { \hyperlink { classKite_ 1_ 1NegociateWindow} { Negociate\+ Window} } is running. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a329dbc5bc549e3fe354996368dbf7113} \label { classKite_ 1_ 1NegociateWindow_ a329dbc5bc549e3fe354996368dbf7113} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !set\+ G\+ Cells@{ set\+ G\+ Cells} }
\index { set\+ G\+ Cells@{ set\+ G\+ Cells} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { set\+ G\+ Cells()} { setGCells()} }
{ \footnotesize \ttfamily void set\+ G\+ Cells (\begin { DoxyParamCaption} \item [{const Katabatic\+::\+G\+Cell\+Vector \&}] { v } \end { DoxyParamCaption} )}
Sets the G\+ Cell vector from Katabatic\+ Engine (perform a shallow copy). \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a7c0d10dab2d32985e942b7678dcccafd} \label { classKite_ 1_ 1NegociateWindow_ a7c0d10dab2d32985e942b7678dcccafd} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !set\+ Interrupt@{ set\+ Interrupt} }
\index { set\+ Interrupt@{ set\+ Interrupt} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { set\+ Interrupt()} { setInterrupt()} }
{ \footnotesize \ttfamily void set\+ Interrupt (\begin { DoxyParamCaption} \item [{bool}] { state } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
Sets or unset the interruption flag. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ aad6b43971b936f7ea003d3ad0fd07532} \label { classKite_ 1_ 1NegociateWindow_ aad6b43971b936f7ea003d3ad0fd07532} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !set\+ Stage@{ set\+ Stage} }
\index { set\+ Stage@{ set\+ Stage} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { set\+ Stage()} { setStage()} }
{ \footnotesize \ttfamily void set\+ Stage (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1NegociateWindow_aca8133200c1122e29b87b314d82604eb}{Stage}}}] { stage } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
Set the stage (\mbox { \hyperlink { classKite_ 1_ 1NegociateWindow_ aca8133200c1122e29b87b314d82604eb} { Negociate\+ Window\+ ::\+ Stage} } ) under which we are running. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a4936106670361df6b6f3ef0b6088c9dc} \label { classKite_ 1_ 1NegociateWindow_ a4936106670361df6b6f3ef0b6088c9dc} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !compute\+ Wirelength@{ compute\+ Wirelength} }
\index { compute\+ Wirelength@{ compute\+ Wirelength} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { compute\+ Wirelength()} { computeWirelength()} }
{ \footnotesize \ttfamily double compute\+ Wirelength (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )}
2018-08-19 06:27:09 -05:00
Compute the total wirelength of the circuit. It is not completly accurate because overlaps are not took into accounts.
2018-10-18 11:10:01 -05:00
Referenced by Negociate\+ Window\+ ::run().
\mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a7bf31fcd4e4007e62454689ef7c553fc} \label { classKite_ 1_ 1NegociateWindow_ a7bf31fcd4e4007e62454689ef7c553fc} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !create\+ Track\+ Segment@{ create\+ Track\+ Segment} }
\index { create\+ Track\+ Segment@{ create\+ Track\+ Segment} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { create\+ Track\+ Segment()} { createTrackSegment()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ create\+ Track\+ Segment (\begin { DoxyParamCaption} \item [{\textbf{ Auto\+Segment} $\ast$}] { auto\+ Segment, } \item [{unsigned int}] { flags } \end { DoxyParamCaption} )}
Build a \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } from the \textbf { Katabatic\+ ::\+ Auto\+ Segment} . If { \ttfamily flags} contains Kite\+ ::\+ Kt\+ Loading\+ Stage then assume that we are in the initial loading stage (constructor). \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a51ba8e6a122c0cb93174027658cade63} \label { classKite_ 1_ 1NegociateWindow_ a51ba8e6a122c0cb93174027658cade63} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !add\+ Routing\+ Event@{ add\+ Routing\+ Event} }
\index { add\+ Routing\+ Event@{ add\+ Routing\+ Event} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { add\+ Routing\+ Event()} { addRoutingEvent()} }
{ \footnotesize \ttfamily void add\+ Routing\+ Event (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$}] { segment, } \item [{unsigned int}] { level } \end { DoxyParamCaption} )}
Create a new \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } from \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } (if it doesn\textquotesingle { } t already exists) and insert it into the queue with priority { \ttfamily level} .
Referenced by Track\+ Segment\+ ::reschedule().
\mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ acad8f73494d122463d65797d337ce275} \label { classKite_ 1_ 1NegociateWindow_ acad8f73494d122463d65797d337ce275} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !reschedule\+ Event@{ reschedule\+ Event} }
\index { reschedule\+ Event@{ reschedule\+ Event} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { reschedule\+ Event()} { rescheduleEvent()} }
{ \footnotesize \ttfamily void reschedule\+ Event (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1RoutingEvent}{Routing\+Event}} $\ast$}] { event, } \item [{unsigned int}] { level } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
2018-06-06 11:42:26 -05:00
Reschedule an event into the queue, with priority { \ttfamily level} .
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::reschedule().
\mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a61e848b73b597f54e2e83e13eb70ff83} \label { classKite_ 1_ 1NegociateWindow_ a61e848b73b597f54e2e83e13eb70ff83} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !run@{ run} }
\index { run@{ run} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { run()} { run()} }
{ \footnotesize \ttfamily void run (\begin { DoxyParamCaption} \item [{unsigned int}] { flags } \end { DoxyParamCaption} )}
2018-06-06 11:42:26 -05:00
Perform the routing.
2018-10-18 11:10:01 -05:00
{ \ttfamily slow\+ Motion} is not implemented yet. \mbox { \Hypertarget { classKite_ 1_ 1NegociateWindow_ a8d3dfaa30cedabd6b64977827ac989d8} \label { classKite_ 1_ 1NegociateWindow_ a8d3dfaa30cedabd6b64977827ac989d8} }
\index { Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} !print\+ Statistics@{ print\+ Statistics} }
\index { print\+ Statistics@{ print\+ Statistics} !Kite\+ ::\+ Negociate\+ Window@{ Kite\+ ::\+ Negociate\+ Window} }
\paragraph { \texorpdfstring { print\+ Statistics()} { printStatistics()} }
{ \footnotesize \ttfamily void print\+ Statistics (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const}
2018-06-06 11:42:26 -05:00
Display some statistics about the routing, compute the internal complete statistics.
2018-10-18 11:10:01 -05:00
Referenced by Negociate\+ Window\+ ::run().
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
The documentation for this class was generated from the following files\+ :\begin { DoxyCompactItemize}
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
Negociate\+ Window.\+ h\item
Negociate\+ Window.\+ cpp\item
Negociate\+ Window.\+ dox\end { DoxyCompactItemize}