coriolis/kite/doc/html/classKite_1_1NegociateWindo...

640 lines
32 KiB
HTML

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Kite - Detailed Router</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="SoC.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<h1 id="pagetop" class="header">Kite - Detailed Router</h1>
<!--
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
</tr>
</table>
</center>
-->
<br>
<body onload="javascript:toggleLevel(1)">
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceKite.html">Kite</a></li><li class="navelem"><a class="el" href="classKite_1_1NegociateWindow.html">NegociateWindow</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classKite_1_1NegociateWindow-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">NegociateWindow Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Perform the routing, main <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> manager.
<a href="classKite_1_1NegociateWindow.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aca8133200c1122e29b87b314d82604eb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> { <br />
&#160;&#160;<a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f">Negociation</a> = 1,
<br />
&#160;&#160;<a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82">Packing</a> = 2
<br />
}</td></tr>
<tr class="separator:aca8133200c1122e29b87b314d82604eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3a80b6032f86a56bec74609034b3246f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a3a80b6032f86a56bec74609034b3246f">destroy</a> ()</td></tr>
<tr class="separator:a3a80b6032f86a56bec74609034b3246f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a08014471e19352a5efdabad3a87cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aa1a08014471e19352a5efdabad3a87cb">isInterrupted</a> () const</td></tr>
<tr class="separator:aa1a08014471e19352a5efdabad3a87cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7373bd3a4ee8fcf28a316230ed37fc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#af7373bd3a4ee8fcf28a316230ed37fc0">getKiteEngine</a> () const</td></tr>
<tr class="separator:af7373bd3a4ee8fcf28a316230ed37fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ea0f667687d3a832f8c9806ccbe6792"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Cell.html">Hurricane::Cell</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a5ea0f667687d3a832f8c9806ccbe6792">getCell</a> () const</td></tr>
<tr class="separator:a5ea0f667687d3a832f8c9806ccbe6792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8902daa6817d4275be5e3a37eb24424"><td class="memItemLeft" align="right" valign="top">const Katabatic::GCellVector &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#ad8902daa6817d4275be5e3a37eb24424">getGCells</a> () const</td></tr>
<tr class="separator:ad8902daa6817d4275be5e3a37eb24424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80fc29623500b168c49ba14c49a00a76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a80fc29623500b168c49ba14c49a00a76">getEventQueue</a> ()</td></tr>
<tr class="separator:a80fc29623500b168c49ba14c49a00a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a990d738cf85fa016589edaa08d736d4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a990d738cf85fa016589edaa08d736d4f">getEventHistory</a> ()</td></tr>
<tr class="separator:a990d738cf85fa016589edaa08d736d4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a41d40e5e378b9bcb99048262ec15a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a9a41d40e5e378b9bcb99048262ec15a6">getEventLoop</a> ()</td></tr>
<tr class="separator:a9a41d40e5e378b9bcb99048262ec15a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb77fbb60f78895b010f7a12658864a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aeb77fbb60f78895b010f7a12658864a6">getStage</a> () const</td></tr>
<tr class="separator:aeb77fbb60f78895b010f7a12658864a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a329dbc5bc549e3fe354996368dbf7113"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a329dbc5bc549e3fe354996368dbf7113">setGCells</a> (const Katabatic::GCellVector &amp;)</td></tr>
<tr class="separator:a329dbc5bc549e3fe354996368dbf7113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c0d10dab2d32985e942b7678dcccafd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a7c0d10dab2d32985e942b7678dcccafd">setInterrupt</a> (bool)</td></tr>
<tr class="separator:a7c0d10dab2d32985e942b7678dcccafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad6b43971b936f7ea003d3ad0fd07532"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aad6b43971b936f7ea003d3ad0fd07532">setStage</a> (<a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a>)</td></tr>
<tr class="separator:aad6b43971b936f7ea003d3ad0fd07532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4936106670361df6b6f3ef0b6088c9dc"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a4936106670361df6b6f3ef0b6088c9dc">computeWirelength</a> ()</td></tr>
<tr class="separator:a4936106670361df6b6f3ef0b6088c9dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bf31fcd4e4007e62454689ef7c553fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a7bf31fcd4e4007e62454689ef7c553fc">createTrackSegment</a> (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1AutoSegment.html">AutoSegment</a> *, unsigned int flags)</td></tr>
<tr class="separator:a7bf31fcd4e4007e62454689ef7c553fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ba8e6a122c0cb93174027658cade63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a51ba8e6a122c0cb93174027658cade63">addRoutingEvent</a> (<a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> *, unsigned int level)</td></tr>
<tr class="separator:a51ba8e6a122c0cb93174027658cade63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad8f73494d122463d65797d337ce275"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#acad8f73494d122463d65797d337ce275">rescheduleEvent</a> (<a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> *, unsigned int level)</td></tr>
<tr class="separator:acad8f73494d122463d65797d337ce275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e848b73b597f54e2e83e13eb70ff83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">run</a> (unsigned int flags)</td></tr>
<tr class="separator:a61e848b73b597f54e2e83e13eb70ff83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d3dfaa30cedabd6b64977827ac989d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a8d3dfaa30cedabd6b64977827ac989d8">printStatistics</a> () const</td></tr>
<tr class="separator:a8d3dfaa30cedabd6b64977827ac989d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad9c37ea1398a6dfa332cb297141dc1c4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKite_1_1NegociateWindow.html">NegociateWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#ad9c37ea1398a6dfa332cb297141dc1c4">create</a> (<a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *)</td></tr>
<tr class="separator:ad9c37ea1398a6dfa332cb297141dc1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Perform the routing, main <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> manager. </p>
<p>This object perform the routing. That is creates all the initial <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a>, load them into the queue and then process the queue until it is empty, that is, the routing is finished.</p>
<p>This object is the owner of the <a class="el" href="classKite_1_1RoutingEventQueue.html" title="The priority Queue of RoutingEvent. ">RoutingEventQueue</a>, <a class="el" href="classKite_1_1RoutingEventHistory.html" title="History of RoutingEvent. ">RoutingEventHistory</a> and <a class="el" href="classKite_1_1RoutingEventLoop.html" title="Simple loop dectector for RoutingEvent. ">RoutingEventLoop</a> used all troughout <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> and <a class="el" href="classKite_1_1SegmentFsm.html" title="Pseudo-decorator to process a RoutingEvent. ">SegmentFsm</a>. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="aca8133200c1122e29b87b314d82604eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca8133200c1122e29b87b314d82604eb">&#9670;&nbsp;</a></span>Stage</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The state under which the router is operating. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f"></a>Negociation&#160;</td><td class="fielddoc"><p>The normal mode, priority negociation with ripup. </p>
</td></tr>
<tr><td class="fieldname"><a id="aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82"></a>Packing&#160;</td><td class="fielddoc"><p>Try to find a better placement for segment but just by looking for other fully free spaces. No ripup is performed. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad9c37ea1398a6dfa332cb297141dc1c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9c37ea1398a6dfa332cb297141dc1c4">&#9670;&nbsp;</a></span>create()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td>
<td class="paramname"><em>kite</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The publicly avalaible contructor. Route the whole are defined by the <a class="el" href="namespaceKite.html" title="The namespace dedicated to Kite. ">Kite</a> associated Cell abutment box. </p>
</div>
</div>
<a id="a3a80b6032f86a56bec74609034b3246f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a80b6032f86a56bec74609034b3246f">&#9670;&nbsp;</a></span>destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void destroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The publicly avalaible destructor. </p>
</div>
</div>
<a id="aa1a08014471e19352a5efdabad3a87cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1a08014471e19352a5efdabad3a87cb">&#9670;&nbsp;</a></span>isInterrupted()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool isInterrupted </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> <b>true</b> if the <a class="el" href="classKite_1_1NegociateWindow.html" title="Perform the routing, main RoutingEvent manager. ">NegociateWindow</a> has received an interrupt request. </p>
</div>
</div>
<a id="af7373bd3a4ee8fcf28a316230ed37fc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7373bd3a4ee8fcf28a316230ed37fc0">&#9670;&nbsp;</a></span>getKiteEngine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * getKiteEngine </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The associated <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a>. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a8d3dfaa30cedabd6b64977827ac989d8">NegociateWindow::printStatistics()</a>.</p>
</div>
</div>
<a id="a5ea0f667687d3a832f8c9806ccbe6792"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ea0f667687d3a832f8c9806ccbe6792">&#9670;&nbsp;</a></span>getCell()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Cell.html">Hurricane::Cell</a> * getCell </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The associated Cell. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a8d3dfaa30cedabd6b64977827ac989d8">NegociateWindow::printStatistics()</a>.</p>
</div>
</div>
<a id="ad8902daa6817d4275be5e3a37eb24424"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8902daa6817d4275be5e3a37eb24424">&#9670;&nbsp;</a></span>getGCells()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const Katabatic::GCellVector &amp; getGCells </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> A Copy of the vector of GCell from KatabaticEngine. The vector is copied but not the GCell themselves (shallow copy). </p>
</div>
</div>
<a id="a80fc29623500b168c49ba14c49a00a76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80fc29623500b168c49ba14c49a00a76">&#9670;&nbsp;</a></span>getEventQueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> &amp; getEventQueue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingEventQueue.html" title="The priority Queue of RoutingEvent. ">RoutingEventQueue</a>. </p>
</div>
</div>
<a id="a990d738cf85fa016589edaa08d736d4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a990d738cf85fa016589edaa08d736d4f">&#9670;&nbsp;</a></span>getEventHistory()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> &amp; getEventHistory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingEventHistory.html" title="History of RoutingEvent. ">RoutingEventHistory</a>. </p>
</div>
</div>
<a id="a9a41d40e5e378b9bcb99048262ec15a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a41d40e5e378b9bcb99048262ec15a6">&#9670;&nbsp;</a></span>getEventLoop()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> &amp; getEventLoop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingEventLoop.html" title="Simple loop dectector for RoutingEvent. ">RoutingEventLoop</a>. </p>
</div>
</div>
<a id="aeb77fbb60f78895b010f7a12658864a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb77fbb60f78895b010f7a12658864a6">&#9670;&nbsp;</a></span>getStage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> getStage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The stage (NegicateWindow::Stage) into which the <a class="el" href="classKite_1_1NegociateWindow.html" title="Perform the routing, main RoutingEvent manager. ">NegociateWindow</a> is running. </p>
</div>
</div>
<a id="a329dbc5bc549e3fe354996368dbf7113"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a329dbc5bc549e3fe354996368dbf7113">&#9670;&nbsp;</a></span>setGCells()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void setGCells </td>
<td>(</td>
<td class="paramtype">const Katabatic::GCellVector &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the GCell vector from KatabaticEngine (perform a shallow copy). </p>
</div>
</div>
<a id="a7c0d10dab2d32985e942b7678dcccafd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c0d10dab2d32985e942b7678dcccafd">&#9670;&nbsp;</a></span>setInterrupt()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void setInterrupt </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets or unset the interruption flag. </p>
</div>
</div>
<a id="aad6b43971b936f7ea003d3ad0fd07532"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad6b43971b936f7ea003d3ad0fd07532">&#9670;&nbsp;</a></span>setStage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void setStage </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a>&#160;</td>
<td class="paramname"><em>stage</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the stage (<a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">NegociateWindow::Stage</a>) under which we are running. </p>
</div>
</div>
<a id="a4936106670361df6b6f3ef0b6088c9dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4936106670361df6b6f3ef0b6088c9dc">&#9670;&nbsp;</a></span>computeWirelength()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double computeWirelength </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the total wirelength of the circuit. It is not completly accurate because overlaps are not took into accounts. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">NegociateWindow::run()</a>.</p>
</div>
</div>
<a id="a7bf31fcd4e4007e62454689ef7c553fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bf31fcd4e4007e62454689ef7c553fc">&#9670;&nbsp;</a></span>createTrackSegment()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * createTrackSegment </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1AutoSegment.html">AutoSegment</a> *&#160;</td>
<td class="paramname"><em>autoSegment</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Build a <a class="el" href="classKite_1_1TrackSegment.html" title="Derived Katabatic::AutoSegment for the router. ">TrackSegment</a> from the <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1AutoSegment.html">Katabatic::AutoSegment</a>. If <code>flags</code> contains Kite::KtLoadingStage then assume that we are in the initial loading stage (constructor). </p>
</div>
</div>
<a id="a51ba8e6a122c0cb93174027658cade63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51ba8e6a122c0cb93174027658cade63">&#9670;&nbsp;</a></span>addRoutingEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void addRoutingEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> *&#160;</td>
<td class="paramname"><em>segment</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>level</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> from <a class="el" href="classKite_1_1TrackElement.html" title="Abstract Class for all Elements inserted inside a Track. ">TrackElement</a> (if it doesn't already exists) and insert it into the queue with priority <code>level</code>. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1TrackSegment.html#a0ffe603ec7d46f21f5e56ccbe84c03fb">TrackSegment::reschedule()</a>.</p>
</div>
</div>
<a id="acad8f73494d122463d65797d337ce275"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acad8f73494d122463d65797d337ce275">&#9670;&nbsp;</a></span>rescheduleEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rescheduleEvent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> *&#160;</td>
<td class="paramname"><em>event</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>level</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reschedule an event into the queue, with priority <code>level</code>. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1TrackSegment.html#a0ffe603ec7d46f21f5e56ccbe84c03fb">TrackSegment::reschedule()</a>.</p>
</div>
</div>
<a id="a61e848b73b597f54e2e83e13eb70ff83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61e848b73b597f54e2e83e13eb70ff83">&#9670;&nbsp;</a></span>run()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void run </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform the routing.</p>
<p><span class="red"><code>slowMotion</code> is not implemented yet.</span> </p>
</div>
</div>
<a id="a8d3dfaa30cedabd6b64977827ac989d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d3dfaa30cedabd6b64977827ac989d8">&#9670;&nbsp;</a></span>printStatistics()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void printStatistics </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Display some statistics about the routing, compute the internal complete statistics. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">NegociateWindow::run()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="NegociateWindow_8h_source.html">NegociateWindow.h</a></li>
<li>NegociateWindow.cpp</li>
<li>NegociateWindow.dox</li>
</ul>
</div><!-- contents -->
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Thu Oct 18 2018</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Kite - Detailed Router</td>
<td class="RFooter"><small>Copyright &#169; 2008-2016 UPMC. All rights reserved</small></td>
</tr>
</table>
</body>
</html>