<!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&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> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <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  </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> { <br />   <a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eba19ccda3133337a5db697480ebfd6097f">Negociation</a> = 1, <br />   <a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82">Packing</a> = 2 <br /> }</td></tr> <tr class="separator:aca8133200c1122e29b87b314d82604eb"><td class="memSeparator" colspan="2"> </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 </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"> </td></tr> <tr class="memitem:aa1a08014471e19352a5efdabad3a87cb"><td class="memItemLeft" align="right" valign="top">bool </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"> </td></tr> <tr class="memitem:af7373bd3a4ee8fcf28a316230ed37fc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * </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"> </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> * </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"> </td></tr> <tr class="memitem:ad8902daa6817d4275be5e3a37eb24424"><td class="memItemLeft" align="right" valign="top">const Katabatic::GCellVector & </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"> </td></tr> <tr class="memitem:a80fc29623500b168c49ba14c49a00a76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> & </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"> </td></tr> <tr class="memitem:a990d738cf85fa016589edaa08d736d4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> & </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"> </td></tr> <tr class="memitem:a9a41d40e5e378b9bcb99048262ec15a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> & </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"> </td></tr> <tr class="memitem:aeb77fbb60f78895b010f7a12658864a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1NegociateWindow.html#aca8133200c1122e29b87b314d82604eb">Stage</a> </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"> </td></tr> <tr class="memitem:a329dbc5bc549e3fe354996368dbf7113"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1NegociateWindow.html#a329dbc5bc549e3fe354996368dbf7113">setGCells</a> (const Katabatic::GCellVector &)</td></tr> <tr class="separator:a329dbc5bc549e3fe354996368dbf7113"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c0d10dab2d32985e942b7678dcccafd"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:aad6b43971b936f7ea003d3ad0fd07532"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:a4936106670361df6b6f3ef0b6088c9dc"><td class="memItemLeft" align="right" valign="top">double </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"> </td></tr> <tr class="memitem:a7bf31fcd4e4007e62454689ef7c553fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * </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"> </td></tr> <tr class="memitem:a51ba8e6a122c0cb93174027658cade63"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:acad8f73494d122463d65797d337ce275"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:a61e848b73b597f54e2e83e13eb70ff83"><td class="memItemLeft" align="right" valign="top">void </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"> </td></tr> <tr class="memitem:a8d3dfaa30cedabd6b64977827ac989d8"><td class="memItemLeft" align="right" valign="top">void </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"> </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> * </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"> </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">◆ </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 </td><td class="fielddoc"><p>The normal mode, priority negociation with ripup. </p> </td></tr> <tr><td class="fieldname"><a id="aca8133200c1122e29b87b314d82604ebabdd3263d9492edf336ac52b4a9776b82"></a>Packing </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">◆ </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> * </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">◆ </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">◆ </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">◆ </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">◆ </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> </div> </div> <a id="ad8902daa6817d4275be5e3a37eb24424"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad8902daa6817d4275be5e3a37eb24424">◆ </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 & 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">◆ </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> & 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">◆ </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> & 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">◆ </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> & 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">◆ </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">◆ </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 & </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">◆ </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 </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">◆ </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> </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">◆ </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">◆ </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> * </td> <td class="paramname"><em>autoSegment</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>flags</em> </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">◆ </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> * </td> <td class="paramname"><em>segment</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>level</em> </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">◆ </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> * </td> <td class="paramname"><em>event</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>level</em> </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">◆ </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 </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">◆ </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 Mon Apr 27 2020</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 © 2008-2016 UPMC. All rights reserved</small></td> </tr> </table> </body> </html>