1258 lines
64 KiB
HTML
1258 lines
64 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.5 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</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_1RoutingEvent.html">RoutingEvent</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<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_1RoutingEvent-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">RoutingEvent Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Atomic Placement Request for a <a class="el" href="classKite_1_1TrackSegment.html" title="Derived Katabatic::AutoSegment for the router. ">TrackSegment</a>.
|
|
<a href="classKite_1_1RoutingEvent.html#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent_1_1Key.html">Key</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> cached key for maps. <a href="classKite_1_1RoutingEvent_1_1Key.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><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:a46c8a310cf4c094f8c80e1cb8dc1f911"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911">Mode</a> { <br/>
|
|
  <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a">Negociate</a> =1,
|
|
<br/>
|
|
  <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911a5afe185b48d7acf013dd5ccadc5b2414">Pack</a> =2,
|
|
<br/>
|
|
  <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911a27b403019a93f9f127cf64a0688a8288">Repair</a> =3
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="separator:a46c8a310cf4c094f8c80e1cb8dc1f911"><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:af942901baf5713aced985265b4f2c478"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#af942901baf5713aced985265b4f2c478">clone</a> () const </td></tr>
|
|
<tr class="separator:af942901baf5713aced985265b4f2c478"><td class="memSeparator" colspan="2"> </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_1RoutingEvent.html#a3a80b6032f86a56bec74609034b3246f">destroy</a> ()</td></tr>
|
|
<tr class="separator:a3a80b6032f86a56bec74609034b3246f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac98b3ddc1eb04076dc3539ecf107eaa2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#ac98b3ddc1eb04076dc3539ecf107eaa2">isCloned</a> () const </td></tr>
|
|
<tr class="separator:ac98b3ddc1eb04076dc3539ecf107eaa2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aac1b70a2ed67ead038c4d3f5ac4d8a81"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#aac1b70a2ed67ead038c4d3f5ac4d8a81">isValid</a> () const </td></tr>
|
|
<tr class="separator:aac1b70a2ed67ead038c4d3f5ac4d8a81"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6e4a75ad6409b428a1710998c0793832"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a6e4a75ad6409b428a1710998c0793832">isUnimplemented</a> () const </td></tr>
|
|
<tr class="separator:a6e4a75ad6409b428a1710998c0793832"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afab9297dbf7887d82524362ab73d2ba7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#afab9297dbf7887d82524362ab73d2ba7">isProcessed</a> () const </td></tr>
|
|
<tr class="separator:afab9297dbf7887d82524362ab73d2ba7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa70ca8c8d12fac70a98436e532c5ff79"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#aa70ca8c8d12fac70a98436e532c5ff79">isDisabled</a> () const </td></tr>
|
|
<tr class="separator:aa70ca8c8d12fac70a98436e532c5ff79"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa3ab3a65fb30053c42b64af5ff42b476"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#aa3ab3a65fb30053c42b64af5ff42b476">isForcedToHint</a> () const </td></tr>
|
|
<tr class="separator:aa3ab3a65fb30053c42b64af5ff42b476"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8494e99c378a54e8e797200adbc4f7f9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a8494e99c378a54e8e797200adbc4f7f9">isRipedByLocal</a> () const </td></tr>
|
|
<tr class="separator:a8494e99c378a54e8e797200adbc4f7f9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a06bda61b1c19277678cf2c3a57686aee"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a06bda61b1c19277678cf2c3a57686aee">getMode</a> () const </td></tr>
|
|
<tr class="separator:a06bda61b1c19277678cf2c3a57686aee"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0556022968c52a701fe1d3f21fde28ca"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a0556022968c52a701fe1d3f21fde28ca">canMinimize</a> () const </td></tr>
|
|
<tr class="separator:a0556022968c52a701fe1d3f21fde28ca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeff84fdf6cc443a2c7a7bd33b03e871f"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#aeff84fdf6cc443a2c7a7bd33b03e871f">getState</a> () const </td></tr>
|
|
<tr class="separator:aeff84fdf6cc443a2c7a7bd33b03e871f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab17b3f4c7e2558bc29ea026925fd6fd6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKite_1_1RoutingEvent_1_1Key.html">Key</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#ab17b3f4c7e2558bc29ea026925fd6fd6">getKey</a> () const </td></tr>
|
|
<tr class="separator:ab17b3f4c7e2558bc29ea026925fd6fd6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad2d369e354ca1f9ff118851da69c7efc"><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_1RoutingEvent.html#ad2d369e354ca1f9ff118851da69c7efc">getSegment</a> () const </td></tr>
|
|
<tr class="separator:ad2d369e354ca1f9ff118851da69c7efc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8e3a42588bbadef86d3023edcabe3fd3"><td class="memItemLeft" align="right" valign="top">const vector< <a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a8e3a42588bbadef86d3023edcabe3fd3">getPerpandiculars</a> () const </td></tr>
|
|
<tr class="separator:a8e3a42588bbadef86d3023edcabe3fd3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2c1fad09850594872cf9e0f017f8034c"><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/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a2c1fad09850594872cf9e0f017f8034c">getAxisHint</a> () const </td></tr>
|
|
<tr class="separator:a2c1fad09850594872cf9e0f017f8034c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0d42d996a3a3d013f775949296513428"><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/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a0d42d996a3a3d013f775949296513428">getAxisHistory</a> () const </td></tr>
|
|
<tr class="separator:a0d42d996a3a3d013f775949296513428"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab1d579993140867de7226e94049047ed"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#ab1d579993140867de7226e94049047ed">getAxisWeight</a> (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a>) const </td></tr>
|
|
<tr class="separator:ab1d579993140867de7226e94049047ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0414e4b8e60741abb6ac0180ed2aba35"><td class="memItemLeft" align="right" valign="top">const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a0414e4b8e60741abb6ac0180ed2aba35">getConstraints</a> () const </td></tr>
|
|
<tr class="separator:a0414e4b8e60741abb6ac0180ed2aba35"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a652d013f5e2df77c83fb0fcf00f1b6d2"><td class="memItemLeft" align="right" valign="top">const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a652d013f5e2df77c83fb0fcf00f1b6d2">getOptimal</a> () const </td></tr>
|
|
<tr class="separator:a652d013f5e2df77c83fb0fcf00f1b6d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeb59bdd62b3cfdb9691fc65ec888335a"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#aeb59bdd62b3cfdb9691fc65ec888335a">getPriority</a> () const </td></tr>
|
|
<tr class="separator:aeb59bdd62b3cfdb9691fc65ec888335a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aff63485acfcd4f98a036508264b6b14e"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#aff63485acfcd4f98a036508264b6b14e">getTracksNb</a> () const </td></tr>
|
|
<tr class="separator:aff63485acfcd4f98a036508264b6b14e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae3c7f769774daa40e1678637037b502c"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#ae3c7f769774daa40e1678637037b502c">getInsertState</a> () const </td></tr>
|
|
<tr class="separator:ae3c7f769774daa40e1678637037b502c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a632af4915847b1e60ba922422d19f0b5"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a632af4915847b1e60ba922422d19f0b5">getEventLevel</a> () const </td></tr>
|
|
<tr class="separator:a632af4915847b1e60ba922422d19f0b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5bd93abe1416952ace15a98dbeeed124"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a5bd93abe1416952ace15a98dbeeed124">revalidate</a> ()</td></tr>
|
|
<tr class="separator:a5bd93abe1416952ace15a98dbeeed124"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a14468bece068cbc5221f057226ee8955"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a14468bece068cbc5221f057226ee8955">updateKey</a> ()</td></tr>
|
|
<tr class="separator:a14468bece068cbc5221f057226ee8955"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6add4f520081c698421481bf8fe0ad1f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">process</a> (<a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> &, <a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> &, <a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> &)</td></tr>
|
|
<tr class="separator:a6add4f520081c698421481bf8fe0ad1f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae2eddb4497661b6319616a70c4acd165"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#ae2eddb4497661b6319616a70c4acd165">setSegment</a> (<a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> *)</td></tr>
|
|
<tr class="separator:ae2eddb4497661b6319616a70c4acd165"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abf2d02f18f96183fc6e78f3e6dc8cbf6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">reschedule</a> (<a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> &, unsigned int eventLevel)</td></tr>
|
|
<tr class="separator:abf2d02f18f96183fc6e78f3e6dc8cbf6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a85982827650655ef9d6e1206874ead69"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a85982827650655ef9d6e1206874ead69">setMode</a> (unsigned int)</td></tr>
|
|
<tr class="separator:a85982827650655ef9d6e1206874ead69"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af7ce7f73feb28f3df8f3180632a2f731"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#af7ce7f73feb28f3df8f3180632a2f731">setState</a> (unsigned int)</td></tr>
|
|
<tr class="separator:af7ce7f73feb28f3df8f3180632a2f731"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a02a3f1f2801d4ebbbe676e062878faae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a02a3f1f2801d4ebbbe676e062878faae">setAxisHintFromParent</a> ()</td></tr>
|
|
<tr class="separator:a02a3f1f2801d4ebbbe676e062878faae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a86c4b1b3d406c12667188ad44ce366db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a86c4b1b3d406c12667188ad44ce366db">incInsertState</a> ()</td></tr>
|
|
<tr class="separator:a86c4b1b3d406c12667188ad44ce366db"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae35f271a106f6c6a6039e4a6f8bf4009"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#ae35f271a106f6c6a6039e4a6f8bf4009">resetInsertState</a> ()</td></tr>
|
|
<tr class="separator:ae35f271a106f6c6a6039e4a6f8bf4009"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a70a9ecd62b806eff001aa602132cc630"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a70a9ecd62b806eff001aa602132cc630">setEventLevel</a> (unsigned int)</td></tr>
|
|
<tr class="separator:a70a9ecd62b806eff001aa602132cc630"><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:a110307ff26b264ea83f69aa1bab23626"><td class="memItemLeft" align="right" valign="top">static unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a110307ff26b264ea83f69aa1bab23626">getStage</a> ()</td></tr>
|
|
<tr class="separator:a110307ff26b264ea83f69aa1bab23626"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a91c8bc1a6bdb1b15c3c084ebfd38af47"><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a91c8bc1a6bdb1b15c3c084ebfd38af47">getAllocateds</a> ()</td></tr>
|
|
<tr class="separator:a91c8bc1a6bdb1b15c3c084ebfd38af47"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0a3993330692b7eb816e9c776d161ad1"><td class="memItemLeft" align="right" valign="top">static size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a0a3993330692b7eb816e9c776d161ad1">getProcesseds</a> ()</td></tr>
|
|
<tr class="separator:a0a3993330692b7eb816e9c776d161ad1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6cf10bb4e4488948e4c616c55a8e6514"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a6cf10bb4e4488948e4c616c55a8e6514">resetProcesseds</a> ()</td></tr>
|
|
<tr class="separator:a6cf10bb4e4488948e4c616c55a8e6514"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7300c33d439e453796b170eeaf4bf04d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a7300c33d439e453796b170eeaf4bf04d">setStage</a> (unsigned int)</td></tr>
|
|
<tr class="separator:a7300c33d439e453796b170eeaf4bf04d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a131ef83c7a57a64aed4f698c0433dffa"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingEvent.html#a131ef83c7a57a64aed4f698c0433dffa">create</a> (<a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> *, unsigned int mode=<a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a">Negociate</a>)</td></tr>
|
|
<tr class="separator:a131ef83c7a57a64aed4f698c0433dffa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Atomic Placement Request for a <a class="el" href="classKite_1_1TrackSegment.html" title="Derived Katabatic::AutoSegment for the router. ">TrackSegment</a>. </p>
|
|
<p><span class="red">The trackFrees attribute has to be reviewed not sure it's still useful.</span></p>
|
|
<p>Cached key for stable sorting, see <a class="el" href="classKite_1_1RoutingEvent_1_1Key.html" title="RoutingEvent cached key for maps. ">RoutingEvent::Key</a>. </p>
|
|
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
<a class="anchor" id="a46c8a310cf4c094f8c80e1cb8dc1f911"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911">Mode</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>The working mode of the router, affect how events are to be handled. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a"></a>Negociate</em> </td><td class="fielddoc">
|
|
<p>This is the normal mode of operation, topological modifications and ripup are enableds. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a46c8a310cf4c094f8c80e1cb8dc1f911a5afe185b48d7acf013dd5ccadc5b2414"></a>Pack</em> </td><td class="fielddoc">
|
|
<p>First post-processing step. For each segment, tries to find a more compact position for a segment, but without riping any others. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="a46c8a310cf4c094f8c80e1cb8dc1f911a27b403019a93f9f127cf64a0688a8288"></a>Repair</em> </td><td class="fielddoc">
|
|
<p>Second post-processing step, try to find a suitable location for a segment more aggressively. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a class="anchor" id="a110307ff26b264ea83f69aa1bab23626"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getStage </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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><b>Returns:</b> The stage the router is in (see <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911">RoutingEvent::Mode</a>). </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentAction.html#a324f17f0f5a09b76344eb2e003695d74">SegmentAction::doAction()</a>, <a class="el" href="classKite_1_1Manipulator.html#a9721ea909a9b11297dea855e1ba82a55">Manipulator::repackPerpandiculars()</a>, <a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">RoutingEvent::reschedule()</a>, <a class="el" href="classKite_1_1RoutingEvent.html#a5bd93abe1416952ace15a98dbeeed124">RoutingEvent::revalidate()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>, and <a class="el" href="classKite_1_1RoutingEvent.html#a02a3f1f2801d4ebbbe676e062878faae">RoutingEvent::setAxisHintFromParent()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a91c8bc1a6bdb1b15c3c084ebfd38af47"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t getAllocateds </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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><b>Returns:</b> The number of <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> currently allocateds. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0a3993330692b7eb816e9c776d161ad1"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">size_t getProcesseds </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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><b>Returns:</b> The number of <a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> that have been processeds since the last call to <a class="el" href="classKite_1_1RoutingEvent.html#a6cf10bb4e4488948e4c616c55a8e6514">RoutingEvent::resetProcesseds()</a>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#aef117fac410e00a57de148dec161d783">NegociateWindow::printStatistics()</a>, <a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">RoutingEvent::process()</a>, and <a class="el" href="classKite_1_1RoutingEventLoop.html#ad684b7c05480897bdbd86a5fb8363c72">RoutingEventLoop::update()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6cf10bb4e4488948e4c616c55a8e6514"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void resetProcesseds </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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><b>Returns:</b> Reset the number of processeds events. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1NegociateWindow.html#a61e848b73b597f54e2e83e13eb70ff83">NegociateWindow::run()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7300c33d439e453796b170eeaf4bf04d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int setStage </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>mode</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>Sets the router's stage (see <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911">RoutingEvent::Mode</a>). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a131ef83c7a57a64aed4f698c0433dffa"></a>
|
|
<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_1RoutingEvent.html">RoutingEvent</a> * create </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * </td>
|
|
<td class="paramname"><em>element</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>mode</em> = <code><a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a">Negociate</a></code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">element</td><td>The element for which to create the event. </td></tr>
|
|
<tr><td class="paramname">mode</td><td>The mode into which this event will be valid.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p><a class="el" href="classKite_1_1RoutingEvent.html" title="Atomic Placement Request for a TrackSegment. ">RoutingEvent</a> constructor. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEventQueue.html#af0813b67c9fc72d960f7e512e9403d57">RoutingEventQueue::add()</a>, and <a class="el" href="classKite_1_1RoutingEventQueue.html#ae119583092a1b62653cf8b009cdb564f">RoutingEventQueue::load()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af942901baf5713aced985265b4f2c478"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> * clone </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>A clone of the event.</dd></dl>
|
|
<p>Cloning an event is slightly different from copying it (which is forbidden). There can be multiple events for one <code>element</code> but only one must be active at a time. This is a cheap way of implementing the rescheduling mechanism. The original event remains the active one, but it's cloned flag is raised. The cloned event is created inactive and with a null <em>eventLevel</em>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">RoutingEvent::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3a80b6032f86a56bec74609034b3246f"></a>
|
|
<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 destructor. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ac98b3ddc1eb04076dc3539ecf107eaa2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isCloned </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 this event has been cloned at least once. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aac1b70a2ed67ead038c4d3f5ac4d8a81"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isValid </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 cached informations from the <em>element</em> are valid (i.e. the element has not been changed). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6e4a75ad6409b428a1710998c0793832"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isUnimplemented </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> <b>true</b> if the event has tried to use an unimplemented feature. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1Manipulator.html#aa1b59e12dd58840e11e1056cab4261b7">Manipulator::canRipup()</a>, and <a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">RoutingEvent::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afab9297dbf7887d82524362ab73d2ba7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isProcessed </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 event has been processed. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">RoutingEvent::process()</a>, and <a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">RoutingEvent::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa70ca8c8d12fac70a98436e532c5ff79"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isDisabled </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 event is <b>not</b> the active one. It should be discarted by the algorithm. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">RoutingEvent::process()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aa3ab3a65fb30053c42b64af5ff42b476"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isForcedToHint </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> the <em>element</em> must be placed exacltly on the given axis hint. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8494e99c378a54e8e797200adbc4f7f9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool isRipedByLocal </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> the <em>element</em> (global) has been riped up to place a local one. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a06bda61b1c19277678cf2c3a57686aee"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getMode </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 mode the event must be taken into account to. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0556022968c52a701fe1d3f21fde28ca"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool canMinimize </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> the <em>element</em> could still be minimized. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1Manipulator.html#aa61f08642d981761687635be108b9837">Manipulator::minimize()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aeff84fdf6cc443a2c7a7bd33b03e871f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getState </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p><b>Returns:</b> the mode the router is currently in. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a6e4a75ad6409b428a1710998c0793832">RoutingEvent::isUnimplemented()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab17b3f4c7e2558bc29ea026925fd6fd6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classKite_1_1RoutingEvent_1_1Key.html">Key</a> & getKey </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 <em>key</em> to use in map & queue for this event. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ad2d369e354ca1f9ff118851da69c7efc"></a>
|
|
<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_1TrackElement.html">TrackElement</a> * getSegment </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 segment. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a0d9a9926ae67cc7998799347f135e28a">SegmentFsm::conflictSolveByHistory()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#a9c0fa6a9067b6e027e24f38330f627dc">SegmentFsm::conflictSolveByPlaceds()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#a0b8e8be9d7c9501be9534d3c2a9dd586">SegmentFsm::desaturate()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#abbcf429498049478d4d8ab94cdb4a022">SegmentFsm::doActions()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#a7140b507da2cab137d968a037bed19df">SegmentFsm::insertInTrack()</a>, <a class="el" href="classKite_1_1Manipulator.html#a147c24aa53f561c10d5d24b82b03448a">Manipulator::ripupPerpandiculars()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>, <a class="el" href="classKite_1_1SegmentFsm.html#a623d68f599c0de60cdd36af3f183e6f1">SegmentFsm::slackenTopology()</a>, and <a class="el" href="classKite_1_1SegmentFsm.html#ab8ae818baad1d0a274a7e8c308ca3f92">SegmentFsm::solveFullBlockages()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a8e3a42588bbadef86d3023edcabe3fd3"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const vector< <a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * > & getPerpandiculars </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 vector of cached perpandiculars to the associated segment. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1Manipulator.html#aa61f08642d981761687635be108b9837">Manipulator::minimize()</a>, <a class="el" href="classKite_1_1Manipulator.html#a9721ea909a9b11297dea855e1ba82a55">Manipulator::repackPerpandiculars()</a>, and <a class="el" href="classKite_1_1Manipulator.html#a147c24aa53f561c10d5d24b82b03448a">Manipulator::ripupPerpandiculars()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2c1fad09850594872cf9e0f017f8034c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<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/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> getAxisHint </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 preferred position for the segment axis. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#ab1d579993140867de7226e94049047ed">RoutingEvent::getAxisWeight()</a>, <a class="el" href="classKite_1_1RoutingEvent.html#a5bd93abe1416952ace15a98dbeeed124">RoutingEvent::revalidate()</a>, <a class="el" href="classKite_1_1Manipulator.html#af46102d49a7aa0c163de1bf143807794">Manipulator::ripple()</a>, and <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0d42d996a3a3d013f775949296513428"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<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/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> getAxisHistory </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 previous position of the segment axis (before it's current position). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab1d579993140867de7226e94049047ed"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<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/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> getAxisWeight </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> </td>
|
|
<td class="paramname"><em>axis</em></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 distance between <code>axis</code> and the preferred position. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a0414e4b8e60741abb6ac0180ed2aba35"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a> & getConstraints </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 range of legal positions for the axis. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1Manipulator.html#aa61f08642d981761687635be108b9837">Manipulator::minimize()</a>, <a class="el" href="classKite_1_1Manipulator.html#a147c24aa53f561c10d5d24b82b03448a">Manipulator::ripupPerpandiculars()</a>, and <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a652d013f5e2df77c83fb0fcf00f1b6d2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a> & getOptimal </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 range of positions for the optimal axis (cached). </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aeb59bdd62b3cfdb9691fc65ec888335a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getPriority </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 priority of the event, it quantify the degree of freedom of the segment. Currently it's computed from the length of the segment and it's slack: </p>
|
|
<p class="formulaDsp">
|
|
<img class="formulaDsp" alt="\[ priority = (slack(segment)+1.0) \times (length(segment)+1.0) \]" src="form_0.png"/>
|
|
</p>
|
|
<p> A high priority means that the segment will be harder to place thus it will be scheduled first. With this function, longer segments will be placed first. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">RoutingEvent::process()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aff63485acfcd4f98a036508264b6b14e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getTracksNb </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 number of tracks avalaibles for the segment to be placed. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae3c7f769774daa40e1678637037b502c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getInsertState </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">
|
|
<dl class="section return"><dt>Returns</dt><dd>The kind of track insertion that will be intended. It's a counter whose values have the following meaning:<ul>
|
|
<li><b>1</b> : normal insert.</li>
|
|
<li><b>2</b> : shrink the segment to it's minimum before inserting.</li>
|
|
<li><b>3</b> : attempt to ripup conflicting others before inserting. </li>
|
|
</ul>
|
|
</dd></dl>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a7140b507da2cab137d968a037bed19df">SegmentFsm::insertInTrack()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a632af4915847b1e60ba922422d19f0b5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned int getEventLevel </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 event level of the event, used to tweak the order inside the event queue. It differs from the priority in the sense that it isn't a topologicaly based value, but manipulated by the algorithm. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">RoutingEvent::process()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a5bd93abe1416952ace15a98dbeeed124"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void revalidate </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Perform an event revalidation. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm::SegmentFsm()</a>, and <a class="el" href="classKite_1_1RoutingEvent.html#a14468bece068cbc5221f057226ee8955">RoutingEvent::updateKey()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a14468bece068cbc5221f057226ee8955"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void updateKey </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>Update the key with the new values from the event, the key <em>must</em> not be inserted in the queue when this method is called. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6add4f520081c698421481bf8fe0ad1f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void process </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> & </td>
|
|
<td class="paramname"><em>queue</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a> & </td>
|
|
<td class="paramname"><em>history</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1RoutingEventLoop.html">RoutingEventLoop</a> & </td>
|
|
<td class="paramname"><em>loop</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">queue</td><td>The main event queue. </td></tr>
|
|
<tr><td class="paramname">history</td><td>The event's history list. </td></tr>
|
|
<tr><td class="paramname">loop</td><td>The loop detector.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>Process the event, that is:</p>
|
|
<ul>
|
|
<li>First, check if there is no looping, if any, do not process the event but dicard it (marked as unimplemented).</li>
|
|
<li>Second, attempt to place the associated segment. Pass it to the relevant function, according to the router's mode (<code>_processNegociate()</code>, <code>processPack()</code> or <code>_processRepair()</code> ). Once processed, the event is added to both <code>history</code> (for the record) and <code>loop</code> to check if we are not looping. </li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae2eddb4497661b6319616a70c4acd165"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setSegment </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1TrackElement.html">TrackElement</a> * </td>
|
|
<td class="paramname"><em>element</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Change the associated <code>segment</code>. <span class="red">Used only by <a class="el" href="classKite_1_1TrackSegment.html#acc245ce084989d1c34816d0e61b9d510">TrackSegment::swapTrack()</a>.</span> </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1TrackSegment.html#acc245ce084989d1c34816d0e61b9d510">TrackSegment::swapTrack()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="abf2d02f18f96183fc6e78f3e6dc8cbf6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classKite_1_1RoutingEvent.html">RoutingEvent</a> * reschedule </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a> & </td>
|
|
<td class="paramname"><em>queue</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>eventLevel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>The newly reinserted event. Depending on the cases it could be itself.</dd></dl>
|
|
<p>Insert or reinsert an event in the scheduler. The <code>eventLevel</code> parameter only allows to increase the level (if it is less than the current level of the event, it will be ignored).</p>
|
|
<p><b>Cloning Management.</b> As an event could be cloned, if we try to re-insert a disabled original, we must first lookup the currently cloned active event. This is done through the associated <code>segment</code> which must always be associated with the active event (if any).</p>
|
|
<p><b>Unimplemented Protection.</b> If the unimplemented flag is set the reschedule is cancelled (<code>NULL</code> is returned).</p>
|
|
<p><b>Unprocessed Event.</b> The event is still in queue, waiting to be processed, then just repush it in the queue with it's new level.</p>
|
|
<p><b>Processed Event.</b> Clone the already processed one, activate it and push it on the queue.</p>
|
|
<p><b>Router's Mode.</b> The mode is also updated. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentAction.html#a324f17f0f5a09b76344eb2e003695d74">SegmentAction::doAction()</a>, and <a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">RoutingEvent::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a85982827650655ef9d6e1206874ead69"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>mode</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Set the mode in which the event must be processed (see <a class="el" href="classKite_1_1RoutingEvent.html#a46c8a310cf4c094f8c80e1cb8dc1f911">RoutingEvent::Mode</a>). </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentAction.html#a324f17f0f5a09b76344eb2e003695d74">SegmentAction::doAction()</a>, and <a class="el" href="classKite_1_1RoutingEvent.html#abf2d02f18f96183fc6e78f3e6dc8cbf6">RoutingEvent::reschedule()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="af7ce7f73feb28f3df8f3180632a2f731"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setState </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>state</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Proxy mutator for <a class="el" href="classKite_1_1DataNegociate.html#aafc8cd0dcd351625a12904bed7d5a7d1">DataNegociate::setState()</a>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a6add4f520081c698421481bf8fe0ad1f">RoutingEvent::process()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a02a3f1f2801d4ebbbe676e062878faae"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setAxisHintFromParent </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Sets the axis hint from it's parent segment. The parentage is found through the <a class="el" href="classKite_1_1TrackSegment.html" title="Derived Katabatic::AutoSegment for the router. ">TrackSegment</a> parentage. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1RoutingEvent.html#a5bd93abe1416952ace15a98dbeeed124">RoutingEvent::revalidate()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a86c4b1b3d406c12667188ad44ce366db"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void incInsertState </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>Increment the insertion state.</p>
|
|
<p><b>See also:</b>  <a class="el" href="classKite_1_1RoutingEvent.html#ae3c7f769774daa40e1678637037b502c">RoutingEvent::getInsertState()</a>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a7140b507da2cab137d968a037bed19df">SegmentFsm::insertInTrack()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae35f271a106f6c6a6039e4a6f8bf4009"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void resetInsertState </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>Reset the insertion state.</p>
|
|
<p><b>See also:</b>  <a class="el" href="classKite_1_1RoutingEvent.html#ae3c7f769774daa40e1678637037b502c">RoutingEvent::getInsertState()</a>. </p>
|
|
|
|
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a623d68f599c0de60cdd36af3f183e6f1">SegmentFsm::slackenTopology()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a70a9ecd62b806eff001aa602132cc630"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void setEventLevel </td>
|
|
<td>(</td>
|
|
<td class="paramtype">unsigned int </td>
|
|
<td class="paramname"><em>level</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 event level (user-controlled re-ordering). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li><a class="el" href="RoutingEvent_8h_source.html">RoutingEvent.h</a></li>
|
|
<li>RoutingEvent.cpp</li>
|
|
<li>RoutingEvent.dox</li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<br>
|
|
<hr>
|
|
<table class="footer1">
|
|
<tr>
|
|
<td class="LFooter"><small>Generated by doxygen 1.8.5 on Sat Aug 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 © 2008-2016 UPMC. All rights reserved</small></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|