<divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// -*- C++ -*-</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// This file is part of the Coriolis Software.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// Copyright (c) UPMC 2008-2018, All Rights Reserved</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// +-----------------------------------------------------------------+</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">// | C O R I O L I S |</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// | K a t a b a t i c - Routing Toolbox |</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// | |</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// | Author : Jean-Paul CHAPUT |</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// | E-mail : Jean-Paul.Chaput@lip6.fr |</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// | =============================================================== |</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="comment">// | C++ Header : "./katabatic/GCell.h" |</span></div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="comment">// +-----------------------------------------------------------------+</span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> </div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> </div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="preprocessor">#ifndef KATABATIC_GCELL_H</span></div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="preprocessor">#define KATABATIC_GCELL_H</span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> </div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#include <set></span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="preprocessor">#include <vector></span></div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="preprocessor">#include <iostream></span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor">#include <functional></span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> </div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="preprocessor">#include "hurricane/DbU.h"</span></div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="preprocessor">#include "hurricane/Point.h"</span></div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> <spanclass="preprocessor">#include "hurricane/Box.h"</span></div><divclass="line"><aname="l00028"></a><spanclass="lineno"> 28</span>&
<divclass="ttc"id="classHurricane_1_1Box_html_a77b9db757080544fcede3e670cee8c5c"><divclass="ttname"><ahref="../hurricane/classHurricane_1_1Box.html#a77b9db757080544fcede3e670cee8c5c">Hurricane::Box::getXMax</a></div><divclass="ttdeci">const DbU::Unit & getXMax() const</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_ad26f8bcf642c2620ac525cc04c8376c0"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#ad26f8bcf642c2620ac525cc04c8376c0">Katabatic::GCell::getRow</a></div><divclass="ttdeci">unsigned int getRow() const</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:461</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_ac5b1a776c3eafa7f68d31292615011fa"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#ac5b1a776c3eafa7f68d31292615011fa">Katabatic::GCell::getColumn</a></div><divclass="ttdeci">unsigned int getColumn() const</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:465</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_1_1CompareByDensity_html_a3a51c3a473276097f23c5f58c6800f9b"><divclass="ttname"><ahref="classKatabatic_1_1GCell_1_1CompareByDensity.html#a3a51c3a473276097f23c5f58c6800f9b">Katabatic::GCell::CompareByDensity::CompareByDensity</a></div><divclass="ttdeci">CompareByDensity(unsigned int depth)</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:271</div></div>
<divclass="ttc"id="classHurricane_1_1Box_html_a06e1a86a06dacfca6d3403c16affc7e8"><divclass="ttname"><ahref="../hurricane/classHurricane_1_1Box.html#a06e1a86a06dacfca6d3403c16affc7e8">Hurricane::Box::getYMax</a></div><divclass="ttdeci">const DbU::Unit & getYMax() const</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_ad31c16c87377e164728a0df55e21f96b"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#ad31c16c87377e164728a0df55e21f96b">Katabatic::GCell::getDensity</a></div><divclass="ttdeci">float getDensity(unsigned int flags=0) const</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:572</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a80ad0f9e79bccf6aed4fb69b4b795005"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a80ad0f9e79bccf6aed4fb69b4b795005">Katabatic::GCell::getStopSegments</a></div><divclass="ttdeci">AutoSegments getStopSegments(unsigned int direction)</div><divclass="ttdef"><b>Definition:</b> GCell.h:260</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a9e76ae5cee9320b65251387419c9432b"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a9e76ae5cee9320b65251387419c9432b">Katabatic::GCell::getName</a></div><divclass="ttdeci">virtual const Name & getName() const</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:457</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a6c4d9081746b8daa3e45e5e3dd185b60"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a6c4d9081746b8daa3e45e5e3dd185b60">Katabatic::GCell::getDepth</a></div><divclass="ttdeci">unsigned int getDepth() const</div><divclass="ttdef"><b>Definition:</b> GCell.h:241</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a11f07f57cc33fcd4b2d310145c778801"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a11f07f57cc33fcd4b2d310145c778801">Katabatic::GCell::rpDesaturate</a></div><divclass="ttdeci">void rpDesaturate(set< Net *>&)</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:1102</div></div>
<divclass="ttc"id="classHurricane_1_1Box_html_ad5122ef7dda8a58c1dacddb57cd4ccfb"><divclass="ttname"><ahref="../hurricane/classHurricane_1_1Box.html#ad5122ef7dda8a58c1dacddb57cd4ccfb">Hurricane::Box::getXMin</a></div><divclass="ttdeci">const DbU::Unit & getXMin() const</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a1f92568d22b1384a8cdf328340fb9160"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a1f92568d22b1384a8cdf328340fb9160">Katabatic::GCell::getStartSegments</a></div><divclass="ttdeci">AutoSegments getStartSegments(unsigned int direction)</div><divclass="ttdef"><b>Definition:</b> GCell.h:257</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html">Katabatic::GCell</a></div><divclass="ttdoc">Routing Global Cell. </div><divclass="ttdef"><b>Definition:</b> GCell.h:74</div></div>
<divclass="ttc"id="classKatabatic_1_1AutoSegment_html"><divclass="ttname"><ahref="classKatabatic_1_1AutoSegment.html">Katabatic::AutoSegment</a></div><divclass="ttdoc">Abstract base class for AutoSegment. </div><divclass="ttdef"><b>Definition:</b> AutoSegment.h:104</div></div>
<divclass="ttc"id="namespaceKatabatic_html"><divclass="ttname"><ahref="namespaceKatabatic.html">Katabatic</a></div><divclass="ttdoc">The namespace dedicated to Katabatic. </div><divclass="ttdef"><b>Definition:</b> Katabatic.dox:13</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a5ae4d250ebecf59aa98fb068d848be14"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a5ae4d250ebecf59aa98fb068d848be14">Katabatic::GCell::stepDesaturate</a></div><divclass="ttdeci">bool stepDesaturate(unsigned int depth, set< Net *>&, AutoSegment *&moved, unsigned int flags=0)</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:1130</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a00e56270cfb31f56e52e31afbc33ba71"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a00e56270cfb31f56e52e31afbc33ba71">Katabatic::GCell::getStaticName</a></div><divclass="ttdeci">static const Name & getStaticName()</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:445</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a762de91e7869ca544ff034b99fc2e0a6"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a762de91e7869ca544ff034b99fc2e0a6">Katabatic::GCell::getIndex</a></div><divclass="ttdeci">unsigned int getIndex() const</div><divclass="ttdef"><b>Definition:</b> GCell.h:242</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_1_1Key_html_a1b9cfb06a645d2b0d93024bc6ff82e9e"><divclass="ttname"><ahref="classKatabatic_1_1GCell_1_1Key.html#a1b9cfb06a645d2b0d93024bc6ff82e9e">Katabatic::GCell::Key::update</a></div><divclass="ttdeci">void update(unsigned int depth)</div><divclass="ttdef"><b>Definition:</b> GCell.h:300</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_abe4cf4a81bb78e9b479992336a999a07"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#abe4cf4a81bb78e9b479992336a999a07">Katabatic::GCell::stepNetDesaturate</a></div><divclass="ttdeci">bool stepNetDesaturate(unsigned int depth, set< Net *>&globalNets, SetIndex &invalidateds)</div><divclass="ttdef"><b>Definition:</b> GCell.cpp:1226</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_a11beff0f0bec06d0f3e080969516dfc3"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#a11beff0f0bec06d0f3e080969516dfc3">Katabatic::GCell::updateKey</a></div><divclass="ttdeci">void updateKey(unsigned int depth)</div><divclass="ttdef"><b>Definition:</b> GCell.h:255</div></div>
<divclass="ttc"id="classKatabatic_1_1GCellDensitySet_html"><divclass="ttname"><ahref="classKatabatic_1_1GCellDensitySet.html">Katabatic::GCellDensitySet</a></div><divclass="ttdoc">GCell Set, sorted by density. </div><divclass="ttdef"><b>Definition:</b> GCell.h:315</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_1_1Key_html"><divclass="ttname"><ahref="classKatabatic_1_1GCell_1_1Key.html">Katabatic::GCell::Key</a></div><divclass="ttdoc">GCell Key - Density Cache. </div><divclass="ttdef"><b>Definition:</b> GCell.h:93</div></div>
<divclass="ttc"id="classKatabatic_1_1AutoContact_html"><divclass="ttname"><ahref="classKatabatic_1_1AutoContact.html">Katabatic::AutoContact</a></div><divclass="ttdoc">Abstract base class for AutoContact. </div><divclass="ttdef"><b>Definition:</b> AutoContact.h:70</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_aa64538731e911c60eeaea557be1c7740"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#aa64538731e911c60eeaea557be1c7740">Katabatic::GCell::getWDensity</a></div><divclass="ttdeci">float getWDensity(unsigned int depth, unsigned int flags=0) const</div><divclass="ttdef"><b>Definition:</b> GCell.h:266</div></div>
<divclass="ttc"id="classHurricane_1_1Box_html_a542c383466845aeca0e32f51b77c7439"><divclass="ttname"><ahref="../hurricane/classHurricane_1_1Box.html#a542c383466845aeca0e32f51b77c7439">Hurricane::Box::getYMin</a></div><divclass="ttdeci">const DbU::Unit & getYMin() const</div></div>
<divclass="ttc"id="classKatabatic_1_1GCell_html_ae56b981fad5960835faef809ec282cfa"><divclass="ttname"><ahref="classKatabatic_1_1GCell.html#ae56b981fad5960835faef809ec282cfa">Katabatic::GCell::getCDensity</a></div><divclass="ttdeci">float getCDensity(unsigned int flags=0) const</div><divclass="ttdef"><b>Definition:</b> GCell.h:263</div></div>