coriolis/kite/doc/html/classKite_1_1RoutingPlane.html

692 lines
35 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_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:a21b9cefd33ae22e4c2070ad441bdd30b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a21b9cefd33ae22e4c2070ad441bdd30b">isHorizontal</a> () const</td></tr>
<tr class="separator:a21b9cefd33ae22e4c2070ad441bdd30b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd54544ef1710ee4b67cfb021d73446c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#abd54544ef1710ee4b67cfb021d73446c">isVertical</a> () const</td></tr>
<tr class="separator:abd54544ef1710ee4b67cfb021d73446c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7373bd3a4ee8fcf28a316230ed37fc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#af7373bd3a4ee8fcf28a316230ed37fc0">getKiteEngine</a> () const</td></tr>
<tr class="separator:af7373bd3a4ee8fcf28a316230ed37fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b0e4f62672b952af5ba448e7fe4810"><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#ae0b0e4f62672b952af5ba448e7fe4810">getLayerGauge</a> () const</td></tr>
<tr class="separator:ae0b0e4f62672b952af5ba448e7fe4810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dd7cf705ace42c662c289955313b2e9"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a0dd7cf705ace42c662c289955313b2e9">getDirection</a> () const</td></tr>
<tr class="separator:a0dd7cf705ace42c662c289955313b2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c9c37c39d0eb83b0b4279e3e54e24a5"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a1c9c37c39d0eb83b0b4279e3e54e24a5">getDepth</a> () const</td></tr>
<tr class="separator:a1c9c37c39d0eb83b0b4279e3e54e24a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9adcc1428480dd9a60454637c704207f"><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#a9adcc1428480dd9a60454637c704207f">getAxisMin</a> () const</td></tr>
<tr class="separator:a9adcc1428480dd9a60454637c704207f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aa9568c234ed8b055c54f73c262690d"><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#a1aa9568c234ed8b055c54f73c262690d">getAxisMax</a> () const</td></tr>
<tr class="separator:a1aa9568c234ed8b055c54f73c262690d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd185bba655c6f59e11b5652352cb902"><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#afd185bba655c6f59e11b5652352cb902">getTrackMin</a> () const</td></tr>
<tr class="separator:afd185bba655c6f59e11b5652352cb902"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a0f37c5727c0d5bf286ed79b7143989"><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#a5a0f37c5727c0d5bf286ed79b7143989">getTrackMax</a> () const</td></tr>
<tr class="separator:a5a0f37c5727c0d5bf286ed79b7143989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a855e69cd11c46df8c37843f25cabee05"><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#a855e69cd11c46df8c37843f25cabee05">getTop</a> () const</td></tr>
<tr class="separator:a855e69cd11c46df8c37843f25cabee05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7478ed4841ef25190c021165dd457520"><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#a7478ed4841ef25190c021165dd457520">getBottom</a> () const</td></tr>
<tr class="separator:a7478ed4841ef25190c021165dd457520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab045567c4f529dca7790d66c17c3084f"><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#ab045567c4f529dca7790d66c17c3084f">getLayer</a> () const</td></tr>
<tr class="separator:ab045567c4f529dca7790d66c17c3084f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e47dfca4bfafa56d9c0f1dc39dc237e"><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#a4e47dfca4bfafa56d9c0f1dc39dc237e">getBlockageLayer</a> () const</td></tr>
<tr class="separator:a4e47dfca4bfafa56d9c0f1dc39dc237e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa44eb6d4806e49d36bf273cd9d979197"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#aa44eb6d4806e49d36bf273cd9d979197">getTracksSize</a> () const</td></tr>
<tr class="separator:aa44eb6d4806e49d36bf273cd9d979197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b4c6bb50297d585962d84b2a165e139"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#a4b4c6bb50297d585962d84b2a165e139">computeTracksSize</a> () const</td></tr>
<tr class="separator:a4b4c6bb50297d585962d84b2a165e139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2ea9830bfcd3d7f36af63bcad3eed6e"><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#ae2ea9830bfcd3d7f36af63bcad3eed6e">getTrackPosition</a> (size_t index) const</td></tr>
<tr class="separator:ae2ea9830bfcd3d7f36af63bcad3eed6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e9defabb4cb2cb1b0f73b1dc3c677de"><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#a5e9defabb4cb2cb1b0f73b1dc3c677de">getTrackByIndex</a> (size_t index) const</td></tr>
<tr class="separator:a5e9defabb4cb2cb1b0f73b1dc3c677de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c464eebfa0f85d0b9f4677bb191100c"><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#a8c464eebfa0f85d0b9f4677bb191100c">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:a8c464eebfa0f85d0b9f4677bb191100c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea9a19f9b402ffe42c011c9afc2ca73"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKite_1_1RoutingPlane.html#aeea9a19f9b402ffe42c011c9afc2ca73">_check</a> (unsigned int &amp;overlaps) const</td></tr>
<tr class="separator:aeea9a19f9b402ffe42c011c9afc2ca73"><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 id="a91d1fdb3aac133a9f687207499caf1c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91d1fdb3aac133a9f687207499caf1c4">&#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_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 id="a21b9cefd33ae22e4c2070ad441bdd30b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21b9cefd33ae22e4c2070ad441bdd30b">&#9670;&nbsp;</a></span>isHorizontal()</h2>
<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 id="abd54544ef1710ee4b67cfb021d73446c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd54544ef1710ee4b67cfb021d73446c">&#9670;&nbsp;</a></span>isVertical()</h2>
<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 id="af7373bd3a4ee8fcf28a316230ed37fc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7373bd3a4ee8fcf28a316230ed37fc0">&#9670;&nbsp;</a></span>getKiteEngine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKite_1_1KiteEngine.html">KiteEngine</a> * getKiteEngine </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The associated <a class="el" href="classKite_1_1KiteEngine.html" title="The Kite Tool. ">KiteEngine</a>. </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1Track.html#af7373bd3a4ee8fcf28a316230ed37fc0">Track::getKiteEngine()</a>.</p>
</div>
</div>
<a id="ae0b0e4f62672b952af5ba448e7fe4810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0b0e4f62672b952af5ba448e7fe4810">&#9670;&nbsp;</a></span>getLayerGauge()</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/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 class="reference">Referenced by <a class="el" href="classKite_1_1RoutingPlane.html#a4e47dfca4bfafa56d9c0f1dc39dc237e">RoutingPlane::getBlockageLayer()</a>, and <a class="el" href="classKite_1_1RoutingPlane.html#ab045567c4f529dca7790d66c17c3084f">RoutingPlane::getLayer()</a>.</p>
</div>
</div>
<a id="a0dd7cf705ace42c662c289955313b2e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dd7cf705ace42c662c289955313b2e9">&#9670;&nbsp;</a></span>getDirection()</h2>
<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 (Katabatic::KbHorizontal or Katabatic::KbVertical). </p>
<p class="reference">Referenced by <a class="el" href="classKite_1_1RoutingPlane.html#a91d1fdb3aac133a9f687207499caf1c4">RoutingPlane::create()</a>, <a class="el" href="classKite_1_1RoutingPlane.html#a21b9cefd33ae22e4c2070ad441bdd30b">RoutingPlane::isHorizontal()</a>, and <a class="el" href="classKite_1_1RoutingPlane.html#abd54544ef1710ee4b67cfb021d73446c">RoutingPlane::isVertical()</a>.</p>
</div>
</div>
<a id="a1c9c37c39d0eb83b0b4279e3e54e24a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c9c37c39d0eb83b0b4279e3e54e24a5">&#9670;&nbsp;</a></span>getDepth()</h2>
<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 class="reference">Referenced by <a class="el" href="classKite_1_1Track.html#a6c4d9081746b8daa3e45e5e3dd185b60">Track::getDepth()</a>.</p>
</div>
</div>
<a id="a9adcc1428480dd9a60454637c704207f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9adcc1428480dd9a60454637c704207f">&#9670;&nbsp;</a></span>getAxisMin()</h2>
<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 id="a1aa9568c234ed8b055c54f73c262690d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1aa9568c234ed8b055c54f73c262690d">&#9670;&nbsp;</a></span>getAxisMax()</h2>
<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 id="afd185bba655c6f59e11b5652352cb902"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd185bba655c6f59e11b5652352cb902">&#9670;&nbsp;</a></span>getTrackMin()</h2>
<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 id="a5a0f37c5727c0d5bf286ed79b7143989"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a0f37c5727c0d5bf286ed79b7143989">&#9670;&nbsp;</a></span>getTrackMax()</h2>
<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 id="a855e69cd11c46df8c37843f25cabee05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a855e69cd11c46df8c37843f25cabee05">&#9670;&nbsp;</a></span>getTop()</h2>
<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 id="a7478ed4841ef25190c021165dd457520"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7478ed4841ef25190c021165dd457520">&#9670;&nbsp;</a></span>getBottom()</h2>
<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 id="ab045567c4f529dca7790d66c17c3084f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab045567c4f529dca7790d66c17c3084f">&#9670;&nbsp;</a></span>getLayer()</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_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 class="reference">Referenced by <a class="el" href="classKite_1_1Track.html#ab468d5fc5ad722f437b81decc8209ab7">Track::getLayer()</a>.</p>
</div>
</div>
<a id="a4e47dfca4bfafa56d9c0f1dc39dc237e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e47dfca4bfafa56d9c0f1dc39dc237e">&#9670;&nbsp;</a></span>getBlockageLayer()</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_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 class="reference">Referenced by <a class="el" href="classKite_1_1Track.html#aa719edbfb0c3d2f294cf658f1c6bfb37">Track::getBlockageLayer()</a>.</p>
</div>
</div>
<a id="aa44eb6d4806e49d36bf273cd9d979197"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa44eb6d4806e49d36bf273cd9d979197">&#9670;&nbsp;</a></span>getTracksSize()</h2>
<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 id="a4b4c6bb50297d585962d84b2a165e139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b4c6bb50297d585962d84b2a165e139">&#9670;&nbsp;</a></span>computeTracksSize()</h2>
<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 class="reference">Referenced by <a class="el" href="classKite_1_1RoutingPlane.html#a91d1fdb3aac133a9f687207499caf1c4">RoutingPlane::create()</a>.</p>
</div>
</div>
<a id="ae2ea9830bfcd3d7f36af63bcad3eed6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2ea9830bfcd3d7f36af63bcad3eed6e">&#9670;&nbsp;</a></span>getTrackPosition()</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/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 id="a5e9defabb4cb2cb1b0f73b1dc3c677de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e9defabb4cb2cb1b0f73b1dc3c677de">&#9670;&nbsp;</a></span>getTrackByIndex()</h2>
<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 class="reference">Referenced by <a class="el" href="classKite_1_1Track.html#a1b8af68504f2de84cb85cf25e30f93bd">Track::getNextTrack()</a>, and <a class="el" href="classKite_1_1Track.html#a984171d836a7f61df95e74beeddcf6b5">Track::getPreviousTrack()</a>.</p>
</div>
</div>
<a id="a8c464eebfa0f85d0b9f4677bb191100c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c464eebfa0f85d0b9f4677bb191100c">&#9670;&nbsp;</a></span>getTrackByPosition()</h2>
<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 class="reference">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 id="aeea9a19f9b402ffe42c011c9afc2ca73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeea9a19f9b402ffe42c011c9afc2ca73">&#9670;&nbsp;</a></span>_check()</h2>
<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.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>