coriolis/kite/doc/html/classKite_1_1KiteEngine.html

412 lines
21 KiB
HTML

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Kite - Detailed Router</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="SoC.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<h1 id="pagetop" class="header">Kite - Detailed Router</h1>
<!--
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
</tr>
</table>
</center>
-->
<br>
<body onload="javascript:toggleLevel(1)">
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceKite.html">Kite</a></li><li class="navelem"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classKite_1_1KiteEngine-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">KiteEngine Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The <a class="el" href="namespaceKite.html" title="The namespace dedicated to Kite. ">Kite</a> Tool.
<a href="classKite_1_1KiteEngine.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for KiteEngine:</div>
<div class="dyncontent">
<div class="center"><img src="classKite_1_1KiteEngine__inherit__graph.png" border="0" usemap="#KiteEngine_inherit__map" alt="Inheritance graph"/></div>
<map name="KiteEngine_inherit__map" id="KiteEngine_inherit__map">
<area shape="rect" id="node2" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1KatabaticEngine.html" title="KatabaticEngine" alt="" coords="5,155,133,181"/>
<area shape="rect" id="node3" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/classCRL_1_1ToolEngine.html" title="ToolEngine" alt="" coords="22,80,116,107"/>
<area shape="rect" id="node4" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1DBo.html" title="DBo" alt="" coords="45,5,93,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<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:a2313df62af32702cf749c15d349af5ea"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a2313df62af32702cf749c15d349af5ea">base</a> ()</td></tr>
<tr class="separator:a2313df62af32702cf749c15d349af5ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af1f95e771fba5c85a19ea2d686553a"><td class="memItemLeft" align="right" valign="top">Configuration *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a1af1f95e771fba5c85a19ea2d686553a">getKiteConfiguration</a> ()</td></tr>
<tr class="separator:a1af1f95e771fba5c85a19ea2d686553a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7fbadfe526875680f698c76adfb128"><td class="memItemLeft" align="right" valign="top">virtual Configuration *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a9a7fbadfe526875680f698c76adfb128">getConfiguration</a> ()</td></tr>
<tr class="separator:a9a7fbadfe526875680f698c76adfb128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef6f41b0e8265ad574d1797f46ab9fa8"><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_1Net.html">Net</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#aef6f41b0e8265ad574d1797f46ab9fa8">getBlockageNet</a> ()</td></tr>
<tr class="separator:aef6f41b0e8265ad574d1797f46ab9fa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae88a4ccf0189655c785df38e5d75155c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#ae88a4ccf0189655c785df38e5d75155c">getToolSuccess</a> () const</td></tr>
<tr class="separator:ae88a4ccf0189655c785df38e5d75155c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb19e465ef249651bfc0efbe6f23ef1d"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#abb19e465ef249651bfc0efbe6f23ef1d">getEventsLimit</a> () const</td></tr>
<tr class="separator:abb19e465ef249651bfc0efbe6f23ef1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9cc4f640a8b50dc1bcff8d938a09c3c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#aa9cc4f640a8b50dc1bcff8d938a09c3c">getRipupLimit</a> (unsigned int type) const</td></tr>
<tr class="separator:aa9cc4f640a8b50dc1bcff8d938a09c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b4de41d8359251bcfbda288ec6bbbee"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a1b4de41d8359251bcfbda288ec6bbbee">getRipupCost</a> () const</td></tr>
<tr class="separator:a1b4de41d8359251bcfbda288ec6bbbee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a802eee6265da8d536db52d412f8a4afd"><td class="memItemLeft" align="right" valign="top">static const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Name.html">Name</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a802eee6265da8d536db52d412f8a4afd">staticGetName</a> ()</td></tr>
<tr class="separator:a802eee6265da8d536db52d412f8a4afd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a520d92a22c1becdc0fbbec927365db21"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a520d92a22c1becdc0fbbec927365db21">create</a> (<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">Cell</a> *)</td></tr>
<tr class="separator:a520d92a22c1becdc0fbbec927365db21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9905ab1f7a970bc947adb8ddf54e55e1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1KiteEngine.html#a9905ab1f7a970bc947adb8ddf54e55e1">get</a> (const <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">Cell</a> *)</td></tr>
<tr class="separator:a9905ab1f7a970bc947adb8ddf54e55e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="namespaceKite.html" title="The namespace dedicated to Kite. ">Kite</a> Tool. </p>
<p><b>Lookup Mechanism</b></p>
<p>Please look at <a class="el" href="classKite_1_1Session.html" title="Kite update Session. ">Kite::Session</a> for an explanation of the lookup mechanism from <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Segment.html">Hurricane::Segment</a> or <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> to <a class="el" href="classKite_1_1TrackSegment.html" title="Derived Katabatic::AutoSegment for the router. ">TrackSegment</a>. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a802eee6265da8d536db52d412f8a4afd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a802eee6265da8d536db52d412f8a4afd">&#9670;&nbsp;</a></span>staticGetName()</h2>
<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_1Name.html">Name</a> &amp; staticGetName </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 unique string identifier for the <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a> class of ToolEngine. </p>
</div>
</div>
<a id="a520d92a22c1becdc0fbbec927365db21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a520d92a22c1becdc0fbbec927365db21">&#9670;&nbsp;</a></span>create()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * create </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/classHurricane_1_1Cell.html">Cell</a> *&#160;</td>
<td class="paramname"><em>cell</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>Create a <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a> on <code>cell</code>. </p>
</div>
</div>
<a id="a9905ab1f7a970bc947adb8ddf54e55e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9905ab1f7a970bc947adb8ddf54e55e1">&#9670;&nbsp;</a></span>get()</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> * get </td>
<td>(</td>
<td class="paramtype">const <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">Cell</a> *&#160;</td>
<td class="paramname"><em>cell</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><b>Returns:</b> The <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a> associated to <code>cell</code>. <code>NULL</code> if there isn't. </p>
</div>
</div>
<a id="a2313df62af32702cf749c15d349af5ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2313df62af32702cf749c15d349af5ea">&#9670;&nbsp;</a></span>base()</h2>
<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/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> * base </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_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a>, casted as it's base class (KatabaticEngine). </p>
</div>
</div>
<a id="a1af1f95e771fba5c85a19ea2d686553a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1af1f95e771fba5c85a19ea2d686553a">&#9670;&nbsp;</a></span>getKiteConfiguration()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Configuration * getKiteConfiguration </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_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a> configuration. The <a class="el" href="namespaceKite.html" title="The namespace dedicated to Kite. ">Kite</a> Configuration is a derived class of KatabaticConfiguration. </p>
</div>
</div>
<a id="a9a7fbadfe526875680f698c76adfb128"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a7fbadfe526875680f698c76adfb128">&#9670;&nbsp;</a></span>getConfiguration()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Configuration * getConfiguration </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a> configuration. </p>
<p>Reimplemented from <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/classKatabatic_1_1KatabaticEngine.html#a9a7fbadfe526875680f698c76adfb128">KatabaticEngine</a>.</p>
</div>
</div>
<a id="aef6f41b0e8265ad574d1797f46ab9fa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef6f41b0e8265ad574d1797f46ab9fa8">&#9670;&nbsp;</a></span>getBlockageNet()</h2>
<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/classHurricane_1_1Net.html">Net</a> * getBlockageNet </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 Net which is used to mark the blockage segments. It's not part of the Configuration <em>per se</em> but an isolated attribute. </p>
</div>
</div>
<a id="ae88a4ccf0189655c785df38e5d75155c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae88a4ccf0189655c785df38e5d75155c">&#9670;&nbsp;</a></span>getToolSuccess()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool getToolSuccess </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 tool was successful, that is, all the Net were routeds. </p>
</div>
</div>
<a id="abb19e465ef249651bfc0efbe6f23ef1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb19e465ef249651bfc0efbe6f23ef1d">&#9670;&nbsp;</a></span>getEventsLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long getEventsLimit </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 maximal number of allowed routing events. This limit is a security against infinite looping, be sure that it is great enough not to prevent normal routing completion. </p>
</div>
</div>
<a id="aa9cc4f640a8b50dc1bcff8d938a09c3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9cc4f640a8b50dc1bcff8d938a09c3c">&#9670;&nbsp;</a></span>getRipupLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long getRipupLimit </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>type</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 maximum ripup allowed of a segment of <code>type</code>. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1Manipulator.html#acae2506c976194aef762d27900c97b02">Manipulator::canRipup()</a>, and <a class="el" href="classKite_1_1SegmentAction.html#a324f17f0f5a09b76344eb2e003695d74">SegmentAction::doAction()</a>.</p>
</div>
</div>
<a id="a1b4de41d8359251bcfbda288ec6bbbee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b4de41d8359251bcfbda288ec6bbbee">&#9670;&nbsp;</a></span>getRipupCost()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long getRipupCost </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 differential used while comparing two ripup costs. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="KiteEngine_8h_source.html">KiteEngine.h</a></li>
<li>KiteEngine.dox</li>
</ul>
</div><!-- contents -->
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Thu Nov 12 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 &#169; 2008-2020 Sorbonne Universite. All rights reserved</small></td>
</tr>
</table>
</body>
</html>