coriolis/kite/doc/html/classKite_1_1RoutingPlane.html

659 lines
33 KiB
HTML
Raw Normal View History

<!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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;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_1RoutingPlane.html">RoutingPlane</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_1RoutingPlane-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">RoutingPlane Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Array of Tracks in one Layer.
<a href="classKite_1_1RoutingPlane.html#details">More...</a></p>
<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:ac46ac3b48d712750c7888b48964ac189"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#ac46ac3b48d712750c7888b48964ac189">isHorizontal</a> () const </td></tr>
<tr class="separator:ac46ac3b48d712750c7888b48964ac189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bb30e82aad1f321af4a065338775f36"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a2bb30e82aad1f321af4a065338775f36">isVertical</a> () const </td></tr>
<tr class="separator:a2bb30e82aad1f321af4a065338775f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ccc00efc7079210bc25122921382da4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a9ccc00efc7079210bc25122921382da4">getKiteEngine</a> () const </td></tr>
<tr class="separator:a9ccc00efc7079210bc25122921382da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb1e3ca2d9e56c1005588180d00f24bd"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore" href="../crlcore/classCRL_1_1RoutingLayerGauge.html">RoutingLayerGauge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#afb1e3ca2d9e56c1005588180d00f24bd">getLayerGauge</a> () const </td></tr>
<tr class="separator:afb1e3ca2d9e56c1005588180d00f24bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d03fbca9ab891c2f25bdae7f89a899"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a09d03fbca9ab891c2f25bdae7f89a899">getDirection</a> () const </td></tr>
<tr class="separator:a09d03fbca9ab891c2f25bdae7f89a899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cc89ca12b6e0ae7b113e8e47d1f9906"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a4cc89ca12b6e0ae7b113e8e47d1f9906">getDepth</a> () const </td></tr>
<tr class="separator:a4cc89ca12b6e0ae7b113e8e47d1f9906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17360e029dac78397c640184aded92b8"><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>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a17360e029dac78397c640184aded92b8">getAxisMin</a> () const </td></tr>
<tr class="separator:a17360e029dac78397c640184aded92b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81ee030948ee6e3180460ba3526e5c5c"><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>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a81ee030948ee6e3180460ba3526e5c5c">getAxisMax</a> () const </td></tr>
<tr class="separator:a81ee030948ee6e3180460ba3526e5c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156bb82142ec07d172fc3ec8180a3d5e"><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>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a156bb82142ec07d172fc3ec8180a3d5e">getTrackMin</a> () const </td></tr>
<tr class="separator:a156bb82142ec07d172fc3ec8180a3d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3fbbb0bf1e680ee8d344c14c611ed33"><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>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#ae3fbbb0bf1e680ee8d344c14c611ed33">getTrackMax</a> () const </td></tr>
<tr class="separator:ae3fbbb0bf1e680ee8d344c14c611ed33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6daa517201dcde848a31ae2580b46a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingPlane.html">RoutingPlane</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#adb6daa517201dcde848a31ae2580b46a">getTop</a> () const </td></tr>
<tr class="separator:adb6daa517201dcde848a31ae2580b46a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0348ee05b44a4252874d0ffe6cb4e32c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1RoutingPlane.html">RoutingPlane</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a0348ee05b44a4252874d0ffe6cb4e32c">getBottom</a> () const </td></tr>
<tr class="separator:a0348ee05b44a4252874d0ffe6cb4e32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a304ee4e02745811e04ac6fb688bf834f"><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_1Layer.html">Layer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a304ee4e02745811e04ac6fb688bf834f">getLayer</a> () const </td></tr>
<tr class="separator:a304ee4e02745811e04ac6fb688bf834f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a7beca78f42f20b30ee11e5a67944f4"><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_1Layer.html">Layer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a6a7beca78f42f20b30ee11e5a67944f4">getBlockageLayer</a> () const </td></tr>
<tr class="separator:a6a7beca78f42f20b30ee11e5a67944f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac66ca5cc2e33b8d9482c33f4f902408f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#ac66ca5cc2e33b8d9482c33f4f902408f">getTracksSize</a> () const </td></tr>
<tr class="separator:ac66ca5cc2e33b8d9482c33f4f902408f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c981485b4732c5d598259f20b0d8aa6"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a9c981485b4732c5d598259f20b0d8aa6">computeTracksSize</a> () const </td></tr>
<tr class="separator:a9c981485b4732c5d598259f20b0d8aa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f714d82c6e1f156873275b171d06ad"><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>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a83f714d82c6e1f156873275b171d06ad">getTrackPosition</a> (size_t index) const </td></tr>
<tr class="separator:a83f714d82c6e1f156873275b171d06ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae48fea9cd9f8f4c7df903e3f778d6bca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1Track.html">Track</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#ae48fea9cd9f8f4c7df903e3f778d6bca">getTrackByIndex</a> (size_t index) const </td></tr>
<tr class="separator:ae48fea9cd9f8f4c7df903e3f778d6bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453b16df53120b5ab6dc19dfb7755a18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1Track.html">Track</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a453b16df53120b5ab6dc19dfb7755a18">getTrackByPosition</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> axis, unsigned int mode=<a class="el" href="namespaceKite.html#acca8fffa3182dea5f94208f454f14b47afaf04b2ddbae58557683c20373c0bada">KtNearest</a>) const </td></tr>
<tr class="separator:a453b16df53120b5ab6dc19dfb7755a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a421196d1d87ce7b2376c103e47b061d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a421196d1d87ce7b2376c103e47b061d4">_check</a> (unsigned int &amp;overlaps) const </td></tr>
<tr class="separator:a421196d1d87ce7b2376c103e47b061d4"><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:a91d1fdb3aac133a9f687207499caf1c4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKite_1_1RoutingPlane.html">RoutingPlane</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a91d1fdb3aac133a9f687207499caf1c4">create</a> (<a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *, size_t depth)</td></tr>
<tr class="separator:a91d1fdb3aac133a9f687207499caf1c4"><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>Array of Tracks in one Layer. </p>
<p>A <a class="el" href="classKite_1_1RoutingPlane.html" title="Array of Tracks in one Layer. ">RoutingPlane</a> is an array of <a class="el" href="classKite_1_1Track.html" title="Structure managing one routing track. ">Track</a> covering a rectangular area. For now the area is the abutment box of the to be routed Cell. Tracks are spaced evenly and according to the configuration of the relevant RoutingLayerGauge.</p>
<div class="image">
<img src="RoutingPlane-1.png" alt="RoutingPlane-1.png"/>
<div class="caption">
Fig 1: Horizontal RoutingPlane</div></div>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a91d1fdb3aac133a9f687207499caf1c4"></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_1RoutingPlane.html">RoutingPlane</a> * create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td>
<td class="paramname"><em>engine</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>depth</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">engine</td><td>The associated engine. </td></tr>
<tr><td class="paramname">depth</td><td>The Layer depth of the plane. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The newly created <a class="el" href="classKite_1_1RoutingPlane.html" title="Array of Tracks in one Layer. ">RoutingPlane</a>.</dd></dl>
<p>The <a class="el" href="classKite_1_1RoutingPlane.html" title="Array of Tracks in one Layer. ">RoutingPlane</a> public constructor. The <code>depth</code> is in the sense of the RoutingGauge. </p>
</div>
</div>
<a class="anchor" id="ac46ac3b48d712750c7888b48964ac189"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool isHorizontal </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 preferred routing direction is horizontal (the actual direction of the tracks). </p>
</div>
</div>
<a class="anchor" id="a2bb30e82aad1f321af4a065338775f36"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool isVertical </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 preferred routing direction is vertical (the actual direction of the tracks). </p>
</div>
</div>
<a class="anchor" id="a9ccc00efc7079210bc25122921382da4"></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_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>Referenced by <a class="el" href="classKite_1_1Track.html#a9ccc00efc7079210bc25122921382da4">Track::getKiteEngine()</a>.</p>
</div>
</div>
<a class="anchor" id="afb1e3ca2d9e56c1005588180d00f24bd"></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/crlcore/doc/crlcore/html/crlcore.tag:../crlcore" href="../crlcore/classCRL_1_1RoutingLayerGauge.html">RoutingLayerGauge</a> * getLayerGauge </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 RoutingLayerGauge of the plane. </p>
<p>Referenced by <a class="el" href="classKite_1_1RoutingPlane.html#a6a7beca78f42f20b30ee11e5a67944f4">RoutingPlane::getBlockageLayer()</a>, and <a class="el" href="classKite_1_1RoutingPlane.html#a304ee4e02745811e04ac6fb688bf834f">RoutingPlane::getLayer()</a>.</p>
</div>
</div>
<a class="anchor" id="a09d03fbca9ab891c2f25bdae7f89a899"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int getDirection </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 routing direction (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a1a9045673c5d3c30b067100f1440ae1b">Katabatic::KbHorizontal</a> or <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/katabatic/doc/html/katabatic.tag:../katabatic/" href="../katabatic/namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a284cad95203a27172838b09e396e3590">Katabatic::KbVertical</a>). </p>
<p>Referenced by <a class="el" href="classKite_1_1RoutingPlane.html#a91d1fdb3aac133a9f687207499caf1c4">RoutingPlane::create()</a>, <a class="el" href="classKite_1_1RoutingPlane.html#ac46ac3b48d712750c7888b48964ac189">RoutingPlane::isHorizontal()</a>, and <a class="el" href="classKite_1_1RoutingPlane.html#a2bb30e82aad1f321af4a065338775f36">RoutingPlane::isVertical()</a>.</p>
</div>
</div>
<a class="anchor" id="a4cc89ca12b6e0ae7b113e8e47d1f9906"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getDepth </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 depth of the associated layer (as defined by the RoutingLayerGauge). </p>
<p>Referenced by <a class="el" href="classKite_1_1Track.html#ad43be8bb2a3c8247405feef4fa973734">Track::getDepth()</a>.</p>
</div>
</div>
<a class="anchor" id="a17360e029dac78397c640184aded92b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getAxisMin </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 axis coordinate of the first/lowest track. </p>
</div>
</div>
<a class="anchor" id="a81ee030948ee6e3180460ba3526e5c5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getAxisMax </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 axis coordinate of the last/highest track. </p>
</div>
</div>
<a class="anchor" id="a156bb82142ec07d172fc3ec8180a3d5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getTrackMin </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 minimum bound of all track. </p>
</div>
</div>
<a class="anchor" id="ae3fbbb0bf1e680ee8d344c14c611ed33"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getTrackMax </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 maximum bound of all track. </p>
</div>
</div>
<a class="anchor" id="adb6daa517201dcde848a31ae2580b46a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1RoutingPlane.html">RoutingPlane</a> * getTop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingPlane.html" title="Array of Tracks in one Layer. ">RoutingPlane</a> immediatly above this one. </p>
</div>
</div>
<a class="anchor" id="a0348ee05b44a4252874d0ffe6cb4e32c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1RoutingPlane.html">RoutingPlane</a> * getBottom </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The <a class="el" href="classKite_1_1RoutingPlane.html" title="Array of Tracks in one Layer. ">RoutingPlane</a> immediatly below this one. </p>
</div>
</div>
<a class="anchor" id="a304ee4e02745811e04ac6fb688bf834f"></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_1Layer.html">Layer</a> * getLayer </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 routing layer. </p>
<p>Referenced by <a class="el" href="classKite_1_1Track.html#ac1bbd63624eb1b4e394301c92adef62c">Track::getLayer()</a>.</p>
</div>
</div>
<a class="anchor" id="a6a7beca78f42f20b30ee11e5a67944f4"></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_1Layer.html">Layer</a> * getBlockageLayer </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 blockage layer associated to the routing layer. </p>
<p>Referenced by <a class="el" href="classKite_1_1Track.html#aceadd4784a0ae6394d2c75433f81ce59">Track::getBlockageLayer()</a>.</p>
</div>
</div>
<a class="anchor" id="ac66ca5cc2e33b8d9482c33f4f902408f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getTracksSize </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 in the array. </p>
</div>
</div>
<a class="anchor" id="a9c981485b4732c5d598259f20b0d8aa6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t computeTracksSize </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 <em>to create</em> in the array.</p>
<p>Helper method that compute the number of tracks in the array from the area of the Cell to be routed and the RoutingLayerGauge characteristics (the Cell is accessible through the <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a>). </p>
<p>Referenced by <a class="el" href="classKite_1_1RoutingPlane.html#a91d1fdb3aac133a9f687207499caf1c4">RoutingPlane::create()</a>.</p>
</div>
</div>
<a class="anchor" id="a83f714d82c6e1f156873275b171d06ad"></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> getTrackPosition </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>index</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 axis of the track at <code>index</code> in the array. </p>
</div>
</div>
<a class="anchor" id="ae48fea9cd9f8f4c7df903e3f778d6bca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1Track.html">Track</a> * getTrackByIndex </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The track at <code>index</code> in the array. </p>
<p>Referenced by <a class="el" href="classKite_1_1Track.html#ab83ae7101fae68a7db48b96a82cc42f5">Track::getNextTrack()</a>, and <a class="el" href="classKite_1_1Track.html#a0647664eabb2f70005585316c3681b7f">Track::getPreviousTrack()</a>.</p>
</div>
</div>
<a class="anchor" id="a453b16df53120b5ab6dc19dfb7755a18"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1Track.html">Track</a> * getTrackByPosition </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>&#160;</td>
<td class="paramname"><em>axis</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>mode</em> = <code><a class="el" href="namespaceKite.html#acca8fffa3182dea5f94208f454f14b47afaf04b2ddbae58557683c20373c0bada">KtNearest</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The track which position is nearest from <code>axis</code>. The meaning of <em>nearest</em> is defined by <code>mode</code> (classic rouding options). </p>
<p>Referenced by <a class="el" href="classKite_1_1SegmentFsm.html#a9c0fa6a9067b6e027e24f38330f627dc">SegmentFsm::conflictSolveByPlaceds()</a>, <a class="el" href="classKite_1_1NegociateWindow.html#a7bf31fcd4e4007e62454689ef7c553fc">NegociateWindow::createTrackSegment()</a>, <a class="el" href="classKite_1_1RoutingEvent.html#a5bd93abe1416952ace15a98dbeeed124">RoutingEvent::revalidate()</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="a421196d1d87ce7b2376c103e47b061d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _check </td>
<td>(</td>
<td class="paramtype">unsigned int &amp;&#160;</td>
<td class="paramname"><em>overlaps</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> <b>true</b> if no errors have been found (i.e. the database is coherent).</p>
<p>Perform a coherency check on all tracks part of the array. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="RoutingPlane_8h_source.html">RoutingPlane.h</a></li>
<li>RoutingPlane.cpp</li>
<li>RoutingPlane.dox</li>
</ul>
</div><!-- contents -->
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.5 on Mon Oct 1 2018</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Kite - Detailed Router</td>
<td class="RFooter"><small>Copyright &#169; 2008-2016 UPMC. All rights reserved</small></td>
</tr>
</table>
</body>
</html>