coriolis/katabatic/doc/html/classKatabatic_1_1Session.html

1164 lines
69 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>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.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="namespaceKatabatic.html">Katabatic</a></li><li class="navelem"><a class="el" href="classKatabatic_1_1Session.html">Session</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="classKatabatic_1_1Session-members.html">List of all members</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">Session Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Modification <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> for <a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a>.
<a href="classKatabatic_1_1Session.html#details">More...</a></p>
<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:a037c7ec3b18ec43973f2e6fe3a172000"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a037c7ec3b18ec43973f2e6fe3a172000">isInDemoMode</a> ()</td></tr>
<tr class="separator:a037c7ec3b18ec43973f2e6fe3a172000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41e6fb02bd7bb01c27fb6aae36f0ddc"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#ad41e6fb02bd7bb01c27fb6aae36f0ddc">doWarnGCellOverload</a> ()</td></tr>
<tr class="separator:ad41e6fb02bd7bb01c27fb6aae36f0ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76f17c3642eaeba85fa0af5ae9d208b4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKatabatic_1_1Session.html">Session</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a76f17c3642eaeba85fa0af5ae9d208b4">get</a> (const char *message=NULL)</td></tr>
<tr class="separator:a76f17c3642eaeba85fa0af5ae9d208b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a109acfd064f3c1854abb8bb2c9b4ad30"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Technology.html">Technology</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a109acfd064f3c1854abb8bb2c9b4ad30">getTechnology</a> ()</td></tr>
<tr class="separator:a109acfd064f3c1854abb8bb2c9b4ad30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ec4ff2ad2a5b964c0ff98170a366197"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a1ec4ff2ad2a5b964c0ff98170a366197">getKatabatic</a> ()</td></tr>
<tr class="separator:a1ec4ff2ad2a5b964c0ff98170a366197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d9fd503149d2fff66eb8ba3955b7a13"><td class="memItemLeft" align="right" valign="top">static const Configuration *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a4d9fd503149d2fff66eb8ba3955b7a13">getConfiguration</a> ()</td></tr>
<tr class="separator:a4d9fd503149d2fff66eb8ba3955b7a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a266a4079ca235e8fdb622ef4996d324d"><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a266a4079ca235e8fdb622ef4996d324d">getSaturateRatio</a> ()</td></tr>
<tr class="separator:a266a4079ca235e8fdb622ef4996d324d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfdaa8b3e81de14fce1f99444b35fcda"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#adfdaa8b3e81de14fce1f99444b35fcda">getSaturateRp</a> ()</td></tr>
<tr class="separator:adfdaa8b3e81de14fce1f99444b35fcda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a909ce95ac840ee708f9a49366f0c2690"><td class="memItemLeft" align="right" valign="top">static <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="classKatabatic_1_1Session.html#a909ce95ac840ee708f9a49366f0c2690">getExtensionCap</a> ()</td></tr>
<tr class="separator:a909ce95ac840ee708f9a49366f0c2690"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a05289b33122f312aa2c88c4b023292"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/classCRL_1_1RoutingGauge.html">RoutingGauge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a9a05289b33122f312aa2c88c4b023292">getRoutingGauge</a> ()</td></tr>
<tr class="separator:a9a05289b33122f312aa2c88c4b023292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3efd0f0d87be640dc566c1afd821e5e6"><td class="memItemLeft" align="right" valign="top">static const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Layer.html">Layer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a3efd0f0d87be640dc566c1afd821e5e6">getRoutingLayer</a> (size_t)</td></tr>
<tr class="separator:a3efd0f0d87be640dc566c1afd821e5e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ee60a34f480bd3aecd8c7d957ff52e"><td class="memItemLeft" align="right" valign="top">static const <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Layer.html">Layer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#ad3ee60a34f480bd3aecd8c7d957ff52e">getContactLayer</a> (size_t)</td></tr>
<tr class="separator:ad3ee60a34f480bd3aecd8c7d957ff52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9c144a8faf97714069824933970923c"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#ac9c144a8faf97714069824933970923c">getSegmentStackSize</a> ()</td></tr>
<tr class="separator:ac9c144a8faf97714069824933970923c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d0c0159030a32b78ab4ad2b58871bce"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a0d0c0159030a32b78ab4ad2b58871bce">getContactStackSize</a> ()</td></tr>
<tr class="separator:a0d0c0159030a32b78ab4ad2b58871bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6060b7e972f3c0d10cfa158b5ed174e6"><td class="memItemLeft" align="right" valign="top">static const vector&lt; <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a6060b7e972f3c0d10cfa158b5ed174e6">getInvalidateds</a> ()</td></tr>
<tr class="separator:a6060b7e972f3c0d10cfa158b5ed174e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5675d50557db83d11b7d2151de5f34c"><td class="memItemLeft" align="right" valign="top">static const vector&lt; <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#af5675d50557db83d11b7d2151de5f34c">getRevalidateds</a> ()</td></tr>
<tr class="separator:af5675d50557db83d11b7d2151de5f34c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84211b77fe7fb8b49a93d7f298a5de90"><td class="memItemLeft" align="right" valign="top">static const vector&lt; <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a84211b77fe7fb8b49a93d7f298a5de90">getDoglegs</a> ()</td></tr>
<tr class="separator:a84211b77fe7fb8b49a93d7f298a5de90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c3be93d98029b06138f633342d04157"><td class="memItemLeft" align="right" valign="top">static const set&lt; <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Net.html">Net</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a6c3be93d98029b06138f633342d04157">getNetsModificateds</a> ()</td></tr>
<tr class="separator:a6c3be93d98029b06138f633342d04157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a000e098850f6cccff6b289a294149a41"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKatabatic_1_1Session.html">Session</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a000e098850f6cccff6b289a294149a41">open</a> (<a class="el" href="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> *)</td></tr>
<tr class="separator:a000e098850f6cccff6b289a294149a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae591df94fc66ccb85cbb6565368bca"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a5ae591df94fc66ccb85cbb6565368bca">close</a> ()</td></tr>
<tr class="separator:a5ae591df94fc66ccb85cbb6565368bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9919aefa1db2478b3d1813c1872d175"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#af9919aefa1db2478b3d1813c1872d175">setKatabaticFlags</a> (unsigned int)</td></tr>
<tr class="separator:af9919aefa1db2478b3d1813c1872d175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed01e83f7d8dc7acd85156256a9e776c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#aed01e83f7d8dc7acd85156256a9e776c">dogleg</a> (<a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *)</td></tr>
<tr class="separator:aed01e83f7d8dc7acd85156256a9e776c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69fc41ca90fae86766ae9d528394868f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a69fc41ca90fae86766ae9d528394868f">revalidateTopology</a> ()</td></tr>
<tr class="separator:a69fc41ca90fae86766ae9d528394868f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16f4761496e07b9e836642d1effa1993"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a16f4761496e07b9e836642d1effa1993">setInvalidateMask</a> (unsigned int)</td></tr>
<tr class="separator:a16f4761496e07b9e836642d1effa1993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae310a7c2c301b7e5f90fba5d34cc5be9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#ae310a7c2c301b7e5f90fba5d34cc5be9">invalidate</a> (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Net.html">Net</a> *)</td></tr>
<tr class="separator:ae310a7c2c301b7e5f90fba5d34cc5be9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f8da0ae3a9d714c1dfae69904acec5f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a1f8da0ae3a9d714c1dfae69904acec5f">invalidate</a> (<a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *)</td></tr>
<tr class="separator:a1f8da0ae3a9d714c1dfae69904acec5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7968875ccb5abb2c6f6d5dec92027550"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a7968875ccb5abb2c6f6d5dec92027550">invalidate</a> (<a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *)</td></tr>
<tr class="separator:a7968875ccb5abb2c6f6d5dec92027550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4da9e28432c1fdb0c754717487d9cc83"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a4da9e28432c1fdb0c754717487d9cc83">revalidate</a> ()</td></tr>
<tr class="separator:a4da9e28432c1fdb0c754717487d9cc83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fad7191a9fc248f84e71cf1c9d0c6be"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a8fad7191a9fc248f84e71cf1c9d0c6be">link</a> (<a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *)</td></tr>
<tr class="separator:a8fad7191a9fc248f84e71cf1c9d0c6be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab12ddab837097ec298ede4f66302b677"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#ab12ddab837097ec298ede4f66302b677">link</a> (<a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *)</td></tr>
<tr class="separator:ab12ddab837097ec298ede4f66302b677"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10c42636ea5786d898d530905ccb30d6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a10c42636ea5786d898d530905ccb30d6">unlink</a> (<a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *)</td></tr>
<tr class="separator:a10c42636ea5786d898d530905ccb30d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab815a7824e0253142af6b8a204c361ec"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#ab815a7824e0253142af6b8a204c361ec">unlink</a> (<a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *)</td></tr>
<tr class="separator:ab815a7824e0253142af6b8a204c361ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc20c1f675cc59f9a0068aba727eca47"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#acc20c1f675cc59f9a0068aba727eca47">lookup</a> (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Contact.html">Contact</a> *)</td></tr>
<tr class="separator:acc20c1f675cc59f9a0068aba727eca47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e465f0a592fee7e1e45b6c825b8a5da"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classKatabatic_1_1Session.html#a6e465f0a592fee7e1e45b6c825b8a5da">lookup</a> (<a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Segment.html">Segment</a> *)</td></tr>
<tr class="separator:a6e465f0a592fee7e1e45b6c825b8a5da"><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>Modification <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> for <a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a>. </p>
<p>To perform modifications, the <a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> data structure uses a session mechanism built on top of the <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1UpdateSession.html">Hurricane::UpdateSession</a> one. Sessions obeys very simples rules:</p><ul>
<li>Only one <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> can be opened at a time with <a class="el" href="classKatabatic_1_1Session.html#a000e098850f6cccff6b289a294149a41">Session::open()</a>.</li>
<li>Subsequent calls to <a class="el" href="classKatabatic_1_1Session.html#a000e098850f6cccff6b289a294149a41">Session::open()</a> returns the currently opened session until <a class="el" href="classKatabatic_1_1Session.html#a5ae591df94fc66ccb85cbb6565368bca">Session::close()</a> is called.</li>
<li>Revalidation can take place whithout closing the <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> by calling <a class="el" href="classKatabatic_1_1Session.html#a4da9e28432c1fdb0c754717487d9cc83">Session::revalidate()</a>.</li>
</ul>
<p>The task of a <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> is to keep track of the <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> and <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> that have been modificateds (i.e. invalidated) and, to restore connexity and/or topology when closed.</p>
<p>Two kinds of revalidation could be performed: </p><ul>
<li>
<b>Geometrical</b> : only positions of AutoContacts and AutoSegments extensions are recomputed. </li>
<li>
<b>Topological</b> : a whole net have been invalidated because of a dogleg creation or a move up/move down of a segment. <ul>
<li>
<b>Dogleg</b> : needs to insert the newly created AutoSegments and AutoContacts. </li>
<li>
<b>Move up/Move down</b> : may needs to create additional dogleg to restore connexity (gaps), and then insert them like above. </li>
</ul>
After a topological mofication has been done, the net needs to be re-canonized then the geometrical step takes place. </li>
</ul>
<p>The kind of revalidation needed is automatically detected by the <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a>.</p>
<p>In addition to it's main purpose, <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> also provides cached access to frequently needed variables either from Hurricane or <a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> Configuration and access to the <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> &amp; <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> LUTs of <a class="el" href="classKatabatic_1_1KatabaticEngine.html" title="The Katabatic Tool. ">KatabaticEngine</a>.</p>
<p>From a software point of view, <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> is a singleton object.</p>
<h1><a class="anchor" id="secSessionAlgo"></a>
Session Algorithm</h1>
<p>Main attributes of a <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a>:</p><ul>
<li><code>_netInvalidateds</code>, nets on which topology has changed.</li>
<li><code>_autoSegments</code>, that have been moved or createds.</li>
<li><code>_autoContacts</code>, that have been created or one of their slave segment has moved.</li>
<li><code>_revalidateds</code>, the list of AutoSegments that have just been revalidated (after calling <code><a class="el" href="classKatabatic_1_1Session.html#a4da9e28432c1fdb0c754717487d9cc83">revalidate()</a></code>).</li>
</ul>
<p>Schematic description of how a <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> works:</p>
<ul class="algo1">
<li>
<p class="startli">If at least one net has been invalidated, meaning that it's topology has changed, perform <code>_revalidateTopology()</code>. </p><ul class="algo2">
<li>
Update net topology: correct the topology of each contacts, making dogleg when needed. The <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> segment caching is updated at this point. </li>
<li>
Compute net constraints (on AutoContacts &amp; AutoSegments). </li>
<li>
Compute net optimal positions (on AutoSegments). </li>
<li>
Compute the state of the segments regarding to terminals. </li>
<li>
Canonize sets of aligneds segments. The canonical segment is the one with the lowest <code>id</code>. </li>
<li>
If the segments has just been created, put it on its optimal axis. </li>
</ul>
<p>This stage can add itself more invalidated AutoSegments and AutoContacts as it create doglegs.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Revalidate geometry of AutoContacts. That is, expand or shrink the extremities of the invalidated AutoSegments. Note that AutoSegments are already at on their final axis position.</p>
<p class="endli"></p>
</li>
<li>
Revalidate AutoSegments. Just before this stage, they are on the correct axis and their extensions are also correct, so we may update the caching of their characteristics (mostly the extension). </li>
</ul>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a037c7ec3b18ec43973f2e6fe3a172000"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a037c7ec3b18ec43973f2e6fe3a172000">&#9670;&nbsp;</a></span>isInDemoMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool isInDemoMode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a0141bff96a4778a806d4eba5d256c32a">KatabaticEngine::isInDemoMode()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1GCell.html#a88208864ba2268689946a8cb7a86fcb2">GCell::checkDensity()</a>.</p>
</div>
</div>
<a id="ad41e6fb02bd7bb01c27fb6aae36f0ddc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad41e6fb02bd7bb01c27fb6aae36f0ddc">&#9670;&nbsp;</a></span>doWarnGCellOverload()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool doWarnGCellOverload </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a9dec164d53fdee77f0f008133ecbd97f">KatabaticEngine::doWarnOnGCellOverload()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1GCell.html#a88208864ba2268689946a8cb7a86fcb2">GCell::checkDensity()</a>.</p>
</div>
</div>
<a id="a76f17c3642eaeba85fa0af5ae9d208b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76f17c3642eaeba85fa0af5ae9d208b4">&#9670;&nbsp;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classKatabatic_1_1Session.html">Session</a> * get </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>message</em> = <code>NULL</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> singleton, if no session is currently open throw an exception carrying <code>message</code>. </p>
</div>
</div>
<a id="a109acfd064f3c1854abb8bb2c9b4ad30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a109acfd064f3c1854abb8bb2c9b4ad30">&#9670;&nbsp;</a></span>getTechnology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Technology.html">Technology</a> * getTechnology </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Hurricane shortcut. </p>
</div>
</div>
<a id="a1ec4ff2ad2a5b964c0ff98170a366197"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ec4ff2ad2a5b964c0ff98170a366197">&#9670;&nbsp;</a></span>getKatabatic()</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="classKatabatic_1_1KatabaticEngine.html">KatabaticEngine</a> * getKatabatic </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#ab0cc9e57beeceec519cd4bd3e415569e">AutoSegment::create()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga60edeea78b56db072fc26a58a7afbcd4">GCellTopology::doRp_AccessPad()</a>, <a class="el" href="group__LoadGlobalRouting.html#gae9cae408ea16a3f7c77c3d75f0242f19">GCellTopology::doRp_AutoContacts()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#aa21b16647c1750ba8b3eb9d99b12f073">AutoSegment::makeDogleg()</a>, and <a class="el" href="classKatabatic_1_1Session.html#a000e098850f6cccff6b289a294149a41">Session::open()</a>.</p>
</div>
</div>
<a id="a4d9fd503149d2fff66eb8ba3955b7a13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d9fd503149d2fff66eb8ba3955b7a13">&#9670;&nbsp;</a></span>getConfiguration()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const Configuration * getConfiguration </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoHorizontal.html#a36c0eecad40d3559b5378caefec6a7e0">AutoHorizontal::_makeDogleg()</a>, <a class="el" href="classKatabatic_1_1AutoVertical.html#a36c0eecad40d3559b5378caefec6a7e0">AutoVertical::_makeDogleg()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#a6482341a342eb6e6b3b43f13fd4436f6">AutoSegment::canMoveUp()</a>.</p>
</div>
</div>
<a id="a266a4079ca235e8fdb622ef4996d324d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a266a4079ca235e8fdb622ef4996d324d">&#9670;&nbsp;</a></span>getSaturateRatio()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float getSaturateRatio </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a44d2c1fbd97dd09b102b461e906367a0">KatabaticEngine::getSaturateRatio()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1GCell.html#a49b7bd2f05abd94436177558fd0f97d8">GCell::isSaturated()</a>.</p>
</div>
</div>
<a id="adfdaa8b3e81de14fce1f99444b35fcda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfdaa8b3e81de14fce1f99444b35fcda">&#9670;&nbsp;</a></span>getSaturateRp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getSaturateRp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a61977cc1fd981e7f1c6125189ed20509">KatabaticEngine::getSaturateRp()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1GCell.html#a11f07f57cc33fcd4b2d310145c778801">GCell::rpDesaturate()</a>.</p>
</div>
</div>
<a id="a909ce95ac840ee708f9a49366f0c2690"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a909ce95ac840ee708f9a49366f0c2690">&#9670;&nbsp;</a></span>getExtensionCap()</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> getExtensionCap </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoHorizontal.html#a6575c17bfa589c087215c87678e5719c">AutoHorizontal::checkPositions()</a>, <a class="el" href="classKatabatic_1_1AutoVertical.html#a6575c17bfa589c087215c87678e5719c">AutoVertical::checkPositions()</a>, <a class="el" href="classKatabatic_1_1AutoHorizontal.html#a9662a77c2ed8553d6a0312c5292060ad">AutoHorizontal::updatePositions()</a>, and <a class="el" href="classKatabatic_1_1AutoVertical.html#a9662a77c2ed8553d6a0312c5292060ad">AutoVertical::updatePositions()</a>.</p>
</div>
</div>
<a id="a9a05289b33122f312aa2c88c4b023292"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a05289b33122f312aa2c88c4b023292">&#9670;&nbsp;</a></span>getRoutingGauge()</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_1RoutingGauge.html">RoutingGauge</a> * getRoutingGauge </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoHorizontal.html#a36c0eecad40d3559b5378caefec6a7e0">AutoHorizontal::_makeDogleg()</a>, <a class="el" href="classKatabatic_1_1AutoVertical.html#a36c0eecad40d3559b5378caefec6a7e0">AutoVertical::_makeDogleg()</a>, <a class="el" href="classKatabatic_1_1AutoHorizontal.html#a9b0c21eeb26c256876592ba63438da74">AutoHorizontal::canMoveULeft()</a>, <a class="el" href="classKatabatic_1_1AutoVertical.html#a9b0c21eeb26c256876592ba63438da74">AutoVertical::canMoveULeft()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a6482341a342eb6e6b3b43f13fd4436f6">AutoSegment::canMoveUp()</a>, <a class="el" href="classKatabatic_1_1AutoHorizontal.html#ad0c972e34d6bac47bd9276a7d6e053d8">AutoHorizontal::canMoveURight()</a>, <a class="el" href="classKatabatic_1_1AutoVertical.html#ad0c972e34d6bac47bd9276a7d6e053d8">AutoVertical::canMoveURight()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a24de580d1a371b8d27640cbc3431990b">AutoSegment::canPivotDown()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a6cca3afced729492cae6649a92dc7e88">AutoSegment::canPivotUp()</a>, <a class="el" href="classKatabatic_1_1GCell.html#a88208864ba2268689946a8cb7a86fcb2">GCell::checkDensity()</a>, <a class="el" href="classKatabatic_1_1Session.html#ad3ee60a34f480bd3aecd8c7d957ff52e">Session::getContactLayer()</a>, <a class="el" href="classKatabatic_1_1Session.html#a3efd0f0d87be640dc566c1afd821e5e6">Session::getRoutingLayer()</a>, <a class="el" href="classKatabatic_1_1GCell.html#ac2275a015db51cc12dd53fb13d22ca4f">GCell::hasFreeTrack()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a39c927c04b5016770692b9b8448c2f04">AutoSegment::makeDogleg()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga3973291866b39c10cea5ca17f7d174fb">anonymous_namespace{LoadGrByNet.cpp}::singleGCell()</a>, <a class="el" href="classKatabatic_1_1GCell.html#a5ae4d250ebecf59aa98fb068d848be14">GCell::stepDesaturate()</a>, <a class="el" href="classKatabatic_1_1GCell.html#abe4cf4a81bb78e9b479992336a999a07">GCell::stepNetDesaturate()</a>, <a class="el" href="classKatabatic_1_1GCell.html#a9b3455dce10eb98d0496175dd586528c">GCell::updateDensity()</a>, <a class="el" href="classKatabatic_1_1AutoContactVTee.html#af5bf1f5e71204ef84346e4e036175431">AutoContactVTee::updateTopology()</a>, <a class="el" href="classKatabatic_1_1AutoContactTurn.html#af5bf1f5e71204ef84346e4e036175431">AutoContactTurn::updateTopology()</a>, <a class="el" href="classKatabatic_1_1AutoContactHTee.html#af5bf1f5e71204ef84346e4e036175431">AutoContactHTee::updateTopology()</a>, and <a class="el" href="classKatabatic_1_1AutoContactTerminal.html#af5bf1f5e71204ef84346e4e036175431">AutoContactTerminal::updateTopology()</a>.</p>
</div>
</div>
<a id="a3efd0f0d87be640dc566c1afd821e5e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3efd0f0d87be640dc566c1afd821e5e6">&#9670;&nbsp;</a></span>getRoutingLayer()</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> * getRoutingLayer </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>depth</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1Session.html#a9a05289b33122f312aa2c88c4b023292">Session::getRoutingGauge()</a>, and <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/classCRL_1_1RoutingGauge.html#a6d6c1951c8728886d3fb702891685b94">RoutingGauge::getRoutingLayer()</a>.</p>
<p class="reference">Referenced by <a class="el" href="group__LoadGlobalRouting.html#gae60ed4e27ad89a1e2ff2cd6415ef33f1">GCellTopology::_do_xG_1M1_1M2()</a>, <a class="el" href="group__LoadGlobalRouting.html#gaf9b009520f54099668ac9d12f2c85257">GCellTopology::_do_xG_xM1_xM3()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#ab0cc9e57beeceec519cd4bd3e415569e">AutoSegment::create()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga60edeea78b56db072fc26a58a7afbcd4">GCellTopology::doRp_AccessPad()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#acecc9a1d55a271a4b1587d7872cfe133">AutoSegment::reduceDoglegLayer()</a>, and <a class="el" href="classKatabatic_1_1GCell.html#a11f07f57cc33fcd4b2d310145c778801">GCell::rpDesaturate()</a>.</p>
</div>
</div>
<a id="ad3ee60a34f480bd3aecd8c7d957ff52e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3ee60a34f480bd3aecd8c7d957ff52e">&#9670;&nbsp;</a></span>getContactLayer()</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> * getContactLayer </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>depth</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/classCRL_1_1RoutingGauge.html#a4b603c0fd5f21db1c93d8a747ec1f4ba">RoutingGauge::getContactLayer()</a>, and <a class="el" href="classKatabatic_1_1Session.html#a9a05289b33122f312aa2c88c4b023292">Session::getRoutingGauge()</a>.</p>
<p class="reference">Referenced by <a class="el" href="group__LoadGlobalRouting.html#ga2519ef984b3d19f123827a9b12651672">GCellTopology::_do_1G_1M3()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga97942453a1bc5b01106aa380271fd7fc">GCellTopology::_do_1G_xM1()</a>, <a class="el" href="group__LoadGlobalRouting.html#gaaa6d4ccd2eadfb6bc3e2cc98cfaf2cca">GCellTopology::_do_xG()</a>, <a class="el" href="group__LoadGlobalRouting.html#gae60ed4e27ad89a1e2ff2cd6415ef33f1">GCellTopology::_do_xG_1M1_1M2()</a>, <a class="el" href="group__LoadGlobalRouting.html#gabe00ab10a0dab8a3d2de0709e61e4e7d">GCellTopology::_do_xG_1Pad()</a>, <a class="el" href="group__LoadGlobalRouting.html#gaf9b009520f54099668ac9d12f2c85257">GCellTopology::_do_xG_xM1_xM3()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga532d1c6b530e0375078ea2d6ea3c6024">GCellTopology::_do_xG_xM2()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga007efc725aae31782204a44949765cb4">GCellTopology::_do_xG_xM3()</a>, <a class="el" href="group__LoadGlobalRouting.html#gada6d3c694b8d741b6504b7c3da166357">GCellTopology::doRp_Access()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga60edeea78b56db072fc26a58a7afbcd4">GCellTopology::doRp_AccessPad()</a>, <a class="el" href="group__LoadGlobalRouting.html#gae9cae408ea16a3f7c77c3d75f0242f19">GCellTopology::doRp_AutoContacts()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga3291d84592215974fe4052c00304bdb1">GCellTopology::doRp_StairCaseH()</a>, <a class="el" href="group__LoadGlobalRouting.html#ga6361fb0e90f35cd59063a1ee971ef2a9">GCellTopology::doRp_StairCaseV()</a>, and <a class="el" href="group__LoadGlobalRouting.html#ga3973291866b39c10cea5ca17f7d174fb">anonymous_namespace{LoadGrByNet.cpp}::singleGCell()</a>.</p>
</div>
</div>
<a id="ac9c144a8faf97714069824933970923c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9c144a8faf97714069824933970923c">&#9670;&nbsp;</a></span>getSegmentStackSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getSegmentStackSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The number of <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> in the invalidated stack. </p>
</div>
</div>
<a id="a0d0c0159030a32b78ab4ad2b58871bce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d0c0159030a32b78ab4ad2b58871bce">&#9670;&nbsp;</a></span>getContactStackSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t getContactStackSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The number of <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> in the invalidated stack. </p>
</div>
</div>
<a id="a6060b7e972f3c0d10cfa158b5ed174e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6060b7e972f3c0d10cfa158b5ed174e6">&#9670;&nbsp;</a></span>getInvalidateds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const vector&lt; <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * &gt; &amp; getInvalidateds </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The stack (vector) of invalidateds AutoSegments. </p>
</div>
</div>
<a id="af5675d50557db83d11b7d2151de5f34c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5675d50557db83d11b7d2151de5f34c">&#9670;&nbsp;</a></span>getRevalidateds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const vector&lt; <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * &gt; &amp; getRevalidateds </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The stack (vector) of AutoSegments that have been revalidateds. </p>
</div>
</div>
<a id="a84211b77fe7fb8b49a93d7f298a5de90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84211b77fe7fb8b49a93d7f298a5de90">&#9670;&nbsp;</a></span>getDoglegs()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const vector&lt; <a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * &gt; &amp; getDoglegs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The vector of AutoSegments part of a newly created dogleg. The dogleg creation functions in <a class="el" href="classKatabatic_1_1AutoHorizontal.html" title="Concrete Horizontal AutoSegment. ">AutoHorizontal</a> and <a class="el" href="classKatabatic_1_1AutoVertical.html" title="Concrete Vertical AutoSegment. ">AutoVertical</a> put a triplet (for example in horizontal direction <code></code>(h1,v1,h2) ) for each dogleg composed of:</p><ul>
<li><b>h1</b> the segment <em>before</em> the dogleg (which is also the original one).</li>
<li><b>v1</b> the segment <b>perpandicular</b> (new).</li>
<li><b>h2</b> the segment <b>after</b> (new). </li>
</ul>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#a39c927c04b5016770692b9b8448c2f04">AutoSegment::makeDogleg()</a>.</p>
</div>
</div>
<a id="a6c3be93d98029b06138f633342d04157"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c3be93d98029b06138f633342d04157">&#9670;&nbsp;</a></span>getNetsModificateds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const set&lt; <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Net.html">Net</a> * &gt; &amp; getNetsModificateds </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><b>Returns:</b> The set of Nets that needs either a topological update or a new canonization. </p>
</div>
</div>
<a id="a000e098850f6cccff6b289a294149a41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a000e098850f6cccff6b289a294149a41">&#9670;&nbsp;</a></span>open()</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="classKatabatic_1_1Session.html">Session</a> * open </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Opens a new session or returns the already opened one, if any. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1Session.html#a1ec4ff2ad2a5b964c0ff98170a366197">Session::getKatabatic()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1GCellGrid.html#a032d6eb23f92e3a41a020d18c6bbc02d">GCellGrid::updateContacts()</a>.</p>
</div>
</div>
<a id="a5ae591df94fc66ccb85cbb6565368bca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ae591df94fc66ccb85cbb6565368bca">&#9670;&nbsp;</a></span>close()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Close the <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a>, triggering the revalidation of the AutoSegemnts and AutoContacts. If no <a class="el" href="classKatabatic_1_1Session.html" title="Modification Session for Katabatic. ">Session</a> is opened, throws an execption. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1GCellGrid.html#a032d6eb23f92e3a41a020d18c6bbc02d">GCellGrid::updateContacts()</a>.</p>
</div>
</div>
<a id="af9919aefa1db2478b3d1813c1872d175"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9919aefa1db2478b3d1813c1872d175">&#9670;&nbsp;</a></span>setKatabaticFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void setKatabaticFlags </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="namespaceKatabatic.html" title="The namespace dedicated to Katabatic. ">Katabatic</a> shortcut. </p>
<p class="reference">References <a class="el" href="classKatabatic_1_1KatabaticEngine.html#aeb14f94914af58657a0dc2f50ec98df5">KatabaticEngine::setFlags()</a>.</p>
</div>
</div>
<a id="aed01e83f7d8dc7acd85156256a9e776c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed01e83f7d8dc7acd85156256a9e776c">&#9670;&nbsp;</a></span>dogleg()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void dogleg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *&#160;</td>
<td class="paramname"><em>autoSegment</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds an <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> to the dogleg vector. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoHorizontal.html#a36c0eecad40d3559b5378caefec6a7e0">AutoHorizontal::_makeDogleg()</a>, and <a class="el" href="classKatabatic_1_1AutoVertical.html#a36c0eecad40d3559b5378caefec6a7e0">AutoVertical::_makeDogleg()</a>.</p>
</div>
</div>
<a id="a69fc41ca90fae86766ae9d528394868f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69fc41ca90fae86766ae9d528394868f">&#9670;&nbsp;</a></span>revalidateTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void revalidateTopology </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Revalidate Net that have been invalidateds and re-canonize them. </p>
</div>
</div>
<a id="a16f4761496e07b9e836642d1effa1993"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16f4761496e07b9e836642d1effa1993">&#9670;&nbsp;</a></span>setInvalidateMask()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void setInvalidateMask </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tells what kind of revalidation must be performed. </p>
</div>
</div>
<a id="ae310a7c2c301b7e5f90fba5d34cc5be9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae310a7c2c301b7e5f90fba5d34cc5be9">&#9670;&nbsp;</a></span>invalidate() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void invalidate </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Net.html">Net</a> *&#160;</td>
<td class="paramname"><em>net</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Schedule <code>net</code> for a full revalidation, topological correction and canonization. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#a6a98d2e5839b880893703ad45db4e4c4">AutoSegment::_invalidate()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#a3715b38135ca24745f610bebd3407c10">AutoSegment::_postCreate()</a>.</p>
</div>
</div>
<a id="a1f8da0ae3a9d714c1dfae69904acec5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f8da0ae3a9d714c1dfae69904acec5f">&#9670;&nbsp;</a></span>invalidate() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void invalidate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *&#160;</td>
<td class="paramname"><em>contact</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Schedule <code>contact</code> for revalidation. </p>
</div>
</div>
<a id="a7968875ccb5abb2c6f6d5dec92027550"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7968875ccb5abb2c6f6d5dec92027550">&#9670;&nbsp;</a></span>invalidate() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void invalidate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *&#160;</td>
<td class="paramname"><em>segment</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Schedule <code>segment</code> for revalidation. </p>
</div>
</div>
<a id="a4da9e28432c1fdb0c754717487d9cc83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4da9e28432c1fdb0c754717487d9cc83">&#9670;&nbsp;</a></span>revalidate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t revalidate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform the revalidation. Returns the sum of AutoContacts and AutoSegemnts that have been revalidated. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a1b7d8ed09a198f7afd6e3ac911f6eb37">KatabaticEngine::createDetailedGrid()</a>.</p>
</div>
</div>
<a id="a8fad7191a9fc248f84e71cf1c9d0c6be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fad7191a9fc248f84e71cf1c9d0c6be">&#9670;&nbsp;</a></span>link() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void link </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *&#160;</td>
<td class="paramname"><em>ac</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds <code>ac</code> in the <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> lookup table (allow to retrieve an <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> by it's base Contact). </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#a3715b38135ca24745f610bebd3407c10">AutoSegment::_postCreate()</a>.</p>
</div>
</div>
<a id="ab12ddab837097ec298ede4f66302b677"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab12ddab837097ec298ede4f66302b677">&#9670;&nbsp;</a></span>link() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void link </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *&#160;</td>
<td class="paramname"><em>as</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds <code>as</code> in the <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> lookup table (allow to retrieve an <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> by it's base Segment). </p>
</div>
</div>
<a id="a10c42636ea5786d898d530905ccb30d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10c42636ea5786d898d530905ccb30d6">&#9670;&nbsp;</a></span>unlink() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void unlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoContact.html">AutoContact</a> *&#160;</td>
<td class="paramname"><em>ac</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes <code>ac</code> from the <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> lookup table. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#a7c13d9795eafd477994961f8a0d962d0">AutoSegment::_preDestroy()</a>.</p>
</div>
</div>
<a id="ab815a7824e0253142af6b8a204c361ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab815a7824e0253142af6b8a204c361ec">&#9670;&nbsp;</a></span>unlink() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void unlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKatabatic_1_1AutoSegment.html">AutoSegment</a> *&#160;</td>
<td class="paramname"><em>as</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes <code>as</code> from the <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> lookup table. </p>
</div>
</div>
<a id="acc20c1f675cc59f9a0068aba727eca47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc20c1f675cc59f9a0068aba727eca47">&#9670;&nbsp;</a></span>lookup() <span class="overload">[1/2]</span></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="classKatabatic_1_1AutoContact.html">AutoContact</a> * lookup </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Contact.html">Contact</a> *&#160;</td>
<td class="paramname"><em>contact</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Lookup the <a class="el" href="classKatabatic_1_1AutoContact.html" title="Abstract base class for AutoContact. ">AutoContact</a> associated with <code>contact</code>. <code>NULL</code> if not found. </p>
<p class="reference">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#ae64a61508d148cb4a0ee9b5ffb177659">AutoSegment::AutoSegment()</a>, <a class="el" href="classKatabatic_1_1GCell.html#af4dcc99733b7ea77e8c3c7da9ac3cd3c">GCell::checkEdgeSaturation()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#ab0cc9e57beeceec519cd4bd3e415569e">AutoSegment::create()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a2ca3fac97e325ec8a55d3e03a2ce11a6">AutoSegment::getAutoSource()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#afa494ddc031f4dd1c24999ff83fb878c">AutoSegment::getAutoTarget()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a2c5b0faacc768bf61e17eb72a4ccc248">AutoSegment::getOppositeAnchor()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#a206b53c34f57945b6c7bdb711101e38f">AutoSegment::getPerpandicularsBound()</a>.</p>
</div>
</div>
<a id="a6e465f0a592fee7e1e45b6c825b8a5da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e465f0a592fee7e1e45b6c825b8a5da">&#9670;&nbsp;</a></span>lookup() <span class="overload">[2/2]</span></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="classKatabatic_1_1AutoSegment.html">AutoSegment</a> * lookup </td>
<td>(</td>
<td class="paramtype"><a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Segment.html">Segment</a> *&#160;</td>
<td class="paramname"><em>segment</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Lookup the <a class="el" href="classKatabatic_1_1AutoSegment.html" title="Abstract base class for AutoSegment. ">AutoSegment</a> associated with <code>segment</code>. <code>NULL</code> if not found. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Session_8h_source.html">Session.h</a></li>
<li>Session.cpp</li>
<li>Session.dox</li>
</ul>
</div><!-- contents -->
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Fri Oct 1 2021</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-2020 Sorbonne Universite. All rights reserved</small></td>
</tr>
</table>
</body>
</html>