coriolis/katabatic/doc/html/classKatabatic_1_1GCellGrid...

530 lines
36 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>Katabatic Documentation</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">Katabatic - Routing Toolbox</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="namespaceKatabatic.html">Katabatic</a></li><li class="navelem"><a class="el" href="classKatabatic_1_1GCellGrid.html">GCellGrid</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="classKatabatic_1_1GCellGrid-members.html">List of all members</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">GCellGrid Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> <a class="el" href="classKatabatic_1_1Grid.html" title="Template Class for Regular Grid. ">Grid</a>.
<a href="classKatabatic_1_1GCellGrid.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for GCellGrid:</div>
<div class="dyncontent">
<div class="center"><img src="classKatabatic_1_1GCellGrid__inherit__graph.png" border="0" usemap="#GCellGrid_inherit__map" alt="Inheritance graph"/></div>
<map name="GCellGrid_inherit__map" id="GCellGrid_inherit__map">
<area shape="rect" id="node2" href="classKatabatic_1_1Grid.html" title="Grid\&lt; GCell \&gt;" alt="" coords="5,80,107,107"/><area shape="rect" id="node3" href="classKatabatic_1_1BaseGrid.html" title="Abstract Base Class for Irregular Grid. " alt="" coords="18,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-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a07884f5e1af410e98208fed76a2b40fe"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fe">DensityMode</a> { <br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fead15bf3e5b63f398d76d717a088acd310">AverageHVDensity</a> =1,
<br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40feaec0ad06385eae8d1e2dee4f3c9f9f4ed">AverageHDensity</a> =2,
<br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fead1a1d89017d10aeb63d1c05b6fb650dd">AverageVDensity</a> =3,
<br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fea8265e053af0708a508ecbce86d1a8165">MaxHVDensity</a> =4,
<br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fea5f0a89ca367ef98550eaa86c1e32c873">MaxVDensity</a> =5,
<br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fea2a6d29b012cc89026c3c0061f87a4f03">MaxHDensity</a> =6,
<br/>
&#160;&#160;<a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fea90a2f4a4ee8558de9f99458ddeab852c">MaxDensity</a> =7
<br/>
}</td></tr>
<tr class="separator:a07884f5e1af410e98208fed76a2b40fe"><td class="memSeparator" colspan="2">&#160;</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:a148fdf09f18e7adb39a73c747f165266"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Cell.html">Cell</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a148fdf09f18e7adb39a73c747f165266">getCell</a> () const </td></tr>
<tr class="separator:a148fdf09f18e7adb39a73c747f165266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6f266b5c40e2dd7d387b5d4fcb5f196"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#af6f266b5c40e2dd7d387b5d4fcb5f196">getKatabatic</a> () const </td></tr>
<tr class="separator:af6f266b5c40e2dd7d387b5d4fcb5f196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a412fc9ba0a5d19ee3e7949c1ed6199ee"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a412fc9ba0a5d19ee3e7949c1ed6199ee">getDensityMode</a> () const </td></tr>
<tr class="separator:a412fc9ba0a5d19ee3e7949c1ed6199ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09721f6fc7df7727a63ddbc4552ad0d9"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a09721f6fc7df7727a63ddbc4552ad0d9">getHEdgeCapacity</a> () const </td></tr>
<tr class="separator:a09721f6fc7df7727a63ddbc4552ad0d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee0cab79d66553ad9b2a7fc2bf8725be"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#aee0cab79d66553ad9b2a7fc2bf8725be">getVEdgeCapacity</a> () const </td></tr>
<tr class="separator:aee0cab79d66553ad9b2a7fc2bf8725be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a371dfcfdfa4043649a81e1ff35287528"><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_1Interval.html">Interval</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a371dfcfdfa4043649a81e1ff35287528">getUSide</a> (unsigned int) const </td></tr>
<tr class="separator:a371dfcfdfa4043649a81e1ff35287528"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f5167eb40def2cfa878913743079f03"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a8f5167eb40def2cfa878913743079f03">checkDensity</a> () const </td></tr>
<tr class="separator:a8f5167eb40def2cfa878913743079f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b3455dce10eb98d0496175dd586528c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a9b3455dce10eb98d0496175dd586528c">updateDensity</a> ()</td></tr>
<tr class="separator:a9b3455dce10eb98d0496175dd586528c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a032d6eb23f92e3a41a020d18c6bbc02d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a032d6eb23f92e3a41a020d18c6bbc02d">updateContacts</a> (unsigned int flags=<a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217af314588109fcc5f5ee1c42e5fd4d0ed5">KbOpenSession</a>)</td></tr>
<tr class="separator:a032d6eb23f92e3a41a020d18c6bbc02d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86899930041463cf80b713c3ca5b4834"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a86899930041463cf80b713c3ca5b4834">setDensityMode</a> (unsigned int)</td></tr>
<tr class="separator:a86899930041463cf80b713c3ca5b4834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classKatabatic_1_1BaseGrid"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classKatabatic_1_1BaseGrid')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classKatabatic_1_1BaseGrid.html">BaseGrid</a></td></tr>
<tr class="memitem:a3a80b6032f86a56bec74609034b3246f inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a3a80b6032f86a56bec74609034b3246f">destroy</a> ()</td></tr>
<tr class="separator:a3a80b6032f86a56bec74609034b3246f inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a895132a706d822c43d6ec747c3266f74 inherit pub_methods_classKatabatic_1_1BaseGrid"><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_1Box.html">Box</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a895132a706d822c43d6ec747c3266f74">getBoundingBox</a> () const </td></tr>
<tr class="separator:a895132a706d822c43d6ec747c3266f74 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2bf24a99431664bb5897b122bb15b43 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#ae2bf24a99431664bb5897b122bb15b43">getColumns</a> () const </td></tr>
<tr class="separator:ae2bf24a99431664bb5897b122bb15b43 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7e3c454272e9a8f2c803e24454d7303 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#ab7e3c454272e9a8f2c803e24454d7303">getRows</a> () const </td></tr>
<tr class="separator:ab7e3c454272e9a8f2c803e24454d7303 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac25c519161036ae2d004fcc78abf7856 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#ac25c519161036ae2d004fcc78abf7856">getRawSize</a> () const </td></tr>
<tr class="separator:ac25c519161036ae2d004fcc78abf7856 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ffadea177995aedb4152f58b9dd391d inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a5ffadea177995aedb4152f58b9dd391d">getIndex</a> (unsigned int c, unsigned int r) const </td></tr>
<tr class="separator:a5ffadea177995aedb4152f58b9dd391d inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a813e40c392fb62c5b1b86d11f1dcb4 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a3a813e40c392fb62c5b1b86d11f1dcb4">getRow</a> (unsigned int) const </td></tr>
<tr class="separator:a3a813e40c392fb62c5b1b86d11f1dcb4 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ae31ad99809b916f386fe9bde67c6f2 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a3ae31ad99809b916f386fe9bde67c6f2">getColumn</a> (unsigned int) const </td></tr>
<tr class="separator:a3ae31ad99809b916f386fe9bde67c6f2 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5731a526d261c2fa798a2c836cfeb9d1 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html">Axis</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a5731a526d261c2fa798a2c836cfeb9d1">getXGrads</a> () const </td></tr>
<tr class="separator:a5731a526d261c2fa798a2c836cfeb9d1 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40fe4841176c132346564b3d4c942668 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html">Axis</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#a40fe4841176c132346564b3d4c942668">getYGrads</a> () const </td></tr>
<tr class="separator:a40fe4841176c132346564b3d4c942668 inherit pub_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a3715b38135ca24745f610bebd3407c10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a3715b38135ca24745f610bebd3407c10">_postCreate</a> ()</td></tr>
<tr class="separator:a3715b38135ca24745f610bebd3407c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c13d9795eafd477994961f8a0d962d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a7c13d9795eafd477994961f8a0d962d0">_preDestroy</a> ()</td></tr>
<tr class="separator:a7c13d9795eafd477994961f8a0d962d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classKatabatic_1_1BaseGrid"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classKatabatic_1_1BaseGrid')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classKatabatic_1_1BaseGrid.html">BaseGrid</a></td></tr>
<tr class="memitem:ac479157e8ac115074615167e8a4a2789 inherit pro_methods_classKatabatic_1_1BaseGrid"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1BaseGrid.html#ac479157e8ac115074615167e8a4a2789">BaseGrid</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_1Box.html">Box</a> &amp;)</td></tr>
<tr class="separator:ac479157e8ac115074615167e8a4a2789 inherit pro_methods_classKatabatic_1_1BaseGrid"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a19a45b2e6c6b9ca8898b2fde035d1827"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKatabatic_1_1GCellGrid.html">GCellGrid</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1GCellGrid.html#a19a45b2e6c6b9ca8898b2fde035d1827">create</a> (<a class="el" href="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> *)</td></tr>
<tr class="separator:a19a45b2e6c6b9ca8898b2fde035d1827"><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><a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> <a class="el" href="classKatabatic_1_1Grid.html" title="Template Class for Regular Grid. ">Grid</a>. </p>
<p>The <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> <a class="el" href="classKatabatic_1_1Grid.html" title="Template Class for Regular Grid. ">Grid</a> of <a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a>. Although the base template class <a class="el" href="classKatabatic_1_1Grid.html" title="Template Class for Regular Grid. ">Grid</a> support irregular grid, the <a class="el" href="classKatabatic_1_1GCellGrid.html" title="GCell Grid. ">GCellGrid</a> is regular, following the Knik global router GCells. Only the topmost row and leftmost column may have different height or width to cope with the design real size.</p>
<p>Due to the regular nature of the grid, the horizontal &amp; vertical edges capacities are all identical, and initialized from the <a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> Configuration.</p>
<p>The grid is build from the Knik global routing, so obviously a KnikEngine must be attached to the Cell when building the <a class="el" href="classKatabatic_1_1GCellGrid.html" title="GCell Grid. ">GCellGrid</a>. An error is thrown otherwise. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a07884f5e1af410e98208fed76a2b40fe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classKatabatic_1_1GCellGrid.html#a07884f5e1af410e98208fed76a2b40fe">DensityMode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Various ways of computing the overall density of a <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40fead15bf3e5b63f398d76d717a088acd310"></a>AverageHVDensity</em>&nbsp;</td><td class="fielddoc">
<p>The average density all depths accounted. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40feaec0ad06385eae8d1e2dee4f3c9f9f4ed"></a>AverageHDensity</em>&nbsp;</td><td class="fielddoc">
<p>The average density of horizontal layers. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40fead1a1d89017d10aeb63d1c05b6fb650dd"></a>AverageVDensity</em>&nbsp;</td><td class="fielddoc">
<p>The average density of horizontal layers. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40fea8265e053af0708a508ecbce86d1a8165"></a>MaxHVDensity</em>&nbsp;</td><td class="fielddoc">
<p>The maximum of the average horizontal &amp; vertical densities taken as a whole. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40fea5f0a89ca367ef98550eaa86c1e32c873"></a>MaxVDensity</em>&nbsp;</td><td class="fielddoc">
<p>The maximum of the average vertical densities taken depth by depth. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40fea2a6d29b012cc89026c3c0061f87a4f03"></a>MaxHDensity</em>&nbsp;</td><td class="fielddoc">
<p>The maximum of the average horizontal densities taken depth by depth. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a07884f5e1af410e98208fed76a2b40fea90a2f4a4ee8558de9f99458ddeab852c"></a>MaxDensity</em>&nbsp;</td><td class="fielddoc">
<p>The maximum of the average horizontal &amp; vertical densities taken depth by depth. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a148fdf09f18e7adb39a73c747f165266"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Cell.html">Cell</a> * getCell </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The associated Cell. </p>
<p>Referenced by <a class="el" href="classKatabatic_1_1GCellGrid.html#a3715b38135ca24745f610bebd3407c10">GCellGrid::_postCreate()</a>.</p>
</div>
</div>
<a class="anchor" id="af6f266b5c40e2dd7d387b5d4fcb5f196"></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="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> * getKatabatic </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="classKatabatic_1_1KatabaticEngine.html" title="The Katabatic Tool. ">KatabaticEngine</a>. </p>
</div>
</div>
<a class="anchor" id="a412fc9ba0a5d19ee3e7949c1ed6199ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int getDensityMode </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 computation mode of the <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> densities. </p>
<p>Referenced by <a class="el" href="classKatabatic_1_1GCell.html#abdc872b796225ad9d6414f59b6d503c1">GCell::getDensity()</a>.</p>
</div>
</div>
<a class="anchor" id="a09721f6fc7df7727a63ddbc4552ad0d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getHEdgeCapacity </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 horizontal edge capacity. As the matrix is regular it is identical for all horizontal edges. </p>
<p>Referenced by <a class="el" href="classKatabatic_1_1GCell.html#a0fb331311568ccb14d2005065575dc28">GCell::checkEdgeSaturation()</a>.</p>
</div>
</div>
<a class="anchor" id="aee0cab79d66553ad9b2a7fc2bf8725be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getVEdgeCapacity </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 vertical edge capacity. As the matrix is regular it is identical for all vertical edges. </p>
<p>Referenced by <a class="el" href="classKatabatic_1_1GCell.html#a0fb331311568ccb14d2005065575dc28">GCell::checkEdgeSaturation()</a>.</p>
</div>
</div>
<a class="anchor" id="a371dfcfdfa4043649a81e1ff35287528"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a> getUSide </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>direction</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The side of the whole grid in <code>direction</code>. </p>
<p>References <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Box.html#acc5d2a8bd02e55b7dd89b2e3eb978574">Box::getXMax()</a>, <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Box.html#aface811f07334748f81b547336bb7658">Box::getXMin()</a>, <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Box.html#ab694cc5f242e0fe8f8e13ad64d1fd780">Box::getYMax()</a>, <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Box.html#a42ba8048c9dedabd808e7c567264a092">Box::getYMin()</a>, <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a1a9045673c5d3c30b067100f1440ae1b">Katabatic::KbHorizontal</a>, and <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a284cad95203a27172838b09e396e3590">Katabatic::KbVertical</a>.</p>
</div>
</div>
<a class="anchor" id="a8f5167eb40def2cfa878913743079f03"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t checkDensity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The number of <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> saturateds.</p>
<p>Check all GCells for saturations. </p>
<p>References <a class="el" href="classKatabatic_1_1Grid.html#a24b4ab5b46b56ee744cf4c368a114d95">Grid&lt; GCell &gt;::getGCells()</a>.</p>
</div>
</div>
<a class="anchor" id="a9b3455dce10eb98d0496175dd586528c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t updateDensity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The number of <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> saturateds.</p>
<p>Force a density update on all the GCells. </p>
<p>References <a class="el" href="classKatabatic_1_1Grid.html#a24b4ab5b46b56ee744cf4c368a114d95">Grid&lt; GCell &gt;::getGCells()</a>.</p>
</div>
</div>
<a class="anchor" id="a032d6eb23f92e3a41a020d18c6bbc02d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void updateContacts </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em> = <code><a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217af314588109fcc5f5ee1c42e5fd4d0ed5">KbOpenSession</a></code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Force an update on all <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> on all the GCells. if <code>openSession</code> is <b>true</b>, enclose the update in a <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a>. </p>
<p>References <a class="el" href="classKatabatic_1_1Session.html#a5ae591df94fc66ccb85cbb6565368bca">Session::close()</a>, <a class="el" href="classKatabatic_1_1Grid.html#a24b4ab5b46b56ee744cf4c368a114d95">Grid&lt; GCell &gt;::getGCells()</a>, <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217af314588109fcc5f5ee1c42e5fd4d0ed5">Katabatic::KbOpenSession</a>, and <a class="el" href="classKatabatic_1_1Session.html#a000e098850f6cccff6b289a294149a41">Session::open()</a>.</p>
<p>Referenced by <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a1e9bb62be35c6a415a1950c72c1964ef">KatabaticEngine::refresh()</a>.</p>
</div>
</div>
<a class="anchor" id="a86899930041463cf80b713c3ca5b4834"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void setDensityMode </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the density computation mode. </p>
</div>
</div>
<a class="anchor" id="a3715b38135ca24745f610bebd3407c10"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void _postCreate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform the <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> &amp; <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> vector allocation.</p>
<ul>
<li>Read the horizontal and vertical cut lines from Knik and translate them into <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html" title="Graduations on a BaseGrid Axis (H or V). ">BaseGrid::Axis</a>.</li>
<li>From the <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html" title="Graduations on a BaseGrid Axis (H or V). ">BaseGrid::Axis</a>, deduces the exact positions of the GCells and allocate them.</li>
<li>The <a class="el" href="classKatabatic_1_1GCell.html" title="Routing Global Cell. ">GCell</a> allocation is done in a "row by row" fashion consistent with <a class="el" href="classKatabatic_1_1BaseGrid.html" title="Abstract Base Class for Irregular Grid. ">BaseGrid</a> implicit assumptions. </li>
</ul>
<p>Reimplemented from <a class="el" href="classKatabatic_1_1BaseGrid.html">BaseGrid</a>.</p>
<p>References <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html#ada526136545060f41e8b9228ce1c5895">BaseGrid::Axis::addGraduation()</a>, <a class="el" href="classKatabatic_1_1GCellGrid.html#a148fdf09f18e7adb39a73c747f165266">GCellGrid::getCell()</a>, <a class="el" href="classKatabatic_1_1BaseGrid.html#ae2bf24a99431664bb5897b122bb15b43">BaseGrid::getColumns()</a>, <a class="el" href="classKatabatic_1_1BaseGrid.html#ab7e3c454272e9a8f2c803e24454d7303">BaseGrid::getRows()</a>, <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html#af55b3790622878d65ed5ff2bb2b3fcc4">BaseGrid::Axis::getSize()</a>, and <a class="el" href="classKatabatic_1_1BaseGrid_1_1Axis.html#a47fdc9eea42b6975cdc835bb2e08810e">BaseGrid::Axis::sort()</a>.</p>
<p>Referenced by <a class="el" href="classKatabatic_1_1GCellGrid.html#a19a45b2e6c6b9ca8898b2fde035d1827">GCellGrid::create()</a>.</p>
</div>
</div>
<a class="anchor" id="a7c13d9795eafd477994961f8a0d962d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void _preDestroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The GCells are deleted at this point. </p>
<p>Reimplemented from <a class="el" href="classKatabatic_1_1BaseGrid.html">BaseGrid</a>.</p>
</div>
</div>
<a class="anchor" id="a19a45b2e6c6b9ca8898b2fde035d1827"></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="classKatabatic_1_1GCellGrid.html">GCellGrid</a> * create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> *&#160;</td>
<td class="paramname"><em>ktbt</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>API-space contructor. </p>
<p>References <a class="el" href="classKatabatic_1_1GCellGrid.html#a3715b38135ca24745f610bebd3407c10">GCellGrid::_postCreate()</a>, and <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga1d4bac6e3b68c8cd44b345de3b425753">grid()</a>.</p>
<p>Referenced by <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a1b7d8ed09a198f7afd6e3ac911f6eb37">KatabaticEngine::createDetailedGrid()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="GCellGrid_8h_source.html">GCellGrid.h</a></li>
<li>GCellGrid.cpp</li>
<li>GCellGrid.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">Katabatic - Routing Toolbox</td>
<td class="RFooter"><small>Copyright &#169; 2008-2016 UPMC. All rights reserved</small></td>
</tr>
</table>
</body>
</html>