coriolis/katabatic/doc/html/classKatabatic_1_1Session.html

1151 lines
70 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.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</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">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">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>
<p class="reference">References <a class="el" href="classKatabatic_1_1AutoSegment.html#a53877ff5ef48eb0030c2581a6eeb3c09">AutoSegment::base()</a>, <a class="el" href="classKatabatic_1_1AutoContact.html#af783b79a1398450e28e2ea55c3eb8476">AutoContact::canDestroy()</a>, <a class="el" href="namespaceKatabatic.html#ab9e409db5feff0bdbc85e90e2a029cdaad4f7e86648b59223202a64bde4eda4c7">Katabatic::EngineActive</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#aaca749f49cd03ca06449d5ea2104033a">AutoSegment::getAligneds()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#ab5b5aaa5b318369feee6003dbad039c2">AutoSegment::getAxis()</a>, <a class="el" href="classKatabatic_1_1KatabaticEngine.html#a171ed6fac01ac5067d4f1b770cc419cf">KatabaticEngine::getRoutingGauge()</a>, <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#a34cb010c6d36875f4890bddc78fb8861">RoutingGauge::getTechnology()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a19ba379112d6b29faa45c5eefbf38500">AutoSegment::isGlobal()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a2bd22f431b7cf3695babab78fc3b4c9e">AutoSegment::isUnsetAxis()</a>, <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a3f95c1f06fe0b58b44ccbc57d99f2a5d">Katabatic::KbPropagate</a>, <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a45a219697151531a23e997b11118e08a">Katabatic::KbRealignate</a>, <a class="el" href="namespaceKatabatic.html#a94585537ee1724ea9315578ec54380f4a296b371b45ade66cd1d44bc8898e64d9">Katabatic::SegCanonical</a>, <a class="el" href="namespaceKatabatic.html#a94585537ee1724ea9315578ec54380f4a637e0426170a532feac45548e009325d">Katabatic::SegNotAligned</a>, <a class="el" href="namespaceKatabatic.html#a94585537ee1724ea9315578ec54380f4a16ef6f2b6b9e44559e41f04c652919ad">Katabatic::SegWeakGlobal</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a3881efebb7510d9b22e5f89bcd418954">AutoSegment::setAxis()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#aeb14f94914af58657a0dc2f50ec98df5">AutoSegment::setFlags()</a>, <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4923a9a443871282ad7d331be2a2a5d4">DbU::toLambda()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a750983d7154c94b54537127a3a18e14b">AutoSegment::toOptimalAxis()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#a1a6fac115cb81db48e3ac9ffa0721bb5">AutoSegment::unsetFlags()</a>.</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>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#aa21b16647c1750ba8b3eb9d99b12f073">AutoSegment::makeDogleg()</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#a2ced98fb06f208aa88c0962a706e64db">AutoHorizontal::_canSlacken()</a>, <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_1AutoSegment.html#a6482341a342eb6e6b3b43f13fd4436f6">AutoSegment::canMoveUp()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#acecc9a1d55a271a4b1587d7872cfe133">AutoSegment::reduceDoglegLayer()</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">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">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_1GCell_1_1CompareByDensity.html#a3a51c3a473276097f23c5f58c6800f9b">GCell::CompareByDensity::CompareByDensity()</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="classKatabatic_1_1AutoSegment.html#ace393c3c082a5e62a348168354660e39">AutoSegment::raise()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#acecc9a1d55a271a4b1587d7872cfe133">AutoSegment::reduceDoglegLayer()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a1fbc0adb4c0b14632edc7c55f028cd4b">AutoSegment::slacken()</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">Referenced by <a class="el" href="classKatabatic_1_1AutoSegment.html#ab0cc9e57beeceec519cd4bd3e415569e">AutoSegment::create()</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="el" href="group__LoadGlobalRouting.html#ggaec07c7f30c801c3b0f72193757250d64add44bf8d6f7bbe1393d76b940b85294b">anonymous_namespace{LoadGrByNet.cpp}::NoFlags</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_1AutoHorizontal.html#a2ced98fb06f208aa88c0962a706e64db">AutoHorizontal::_canSlacken()</a>, <a class="el" href="classKatabatic_1_1AutoVertical.html#a2ced98fb06f208aa88c0962a706e64db">AutoVertical::_canSlacken()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a39c927c04b5016770692b9b8448c2f04">AutoSegment::makeDogleg()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#acecc9a1d55a271a4b1587d7872cfe133">AutoSegment::reduceDoglegLayer()</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">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">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#ac553c4dc3f51576a3128ad42d5a006b2">RoutingGauge::getLayerDirection()</a>, <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/namespaceConstant.html#ac081a99f2b64361919ed5d9f37c0f9afa7a545ff2d744fe30bfac294dfe9d03db">Constant::Horizontal</a>, <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a1a9045673c5d3c30b067100f1440ae1b">Katabatic::KbHorizontal</a>, <a class="el" href="namespaceKatabatic.html#a2af2ad6b6441614038caf59d04b3b217a284cad95203a27172838b09e396e3590">Katabatic::KbVertical</a>, <a class="el" href="group__LoadGlobalRouting.html#ggaec07c7f30c801c3b0f72193757250d64add44bf8d6f7bbe1393d76b940b85294b">anonymous_namespace{LoadGrByNet.cpp}::NoFlags</a>, <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/namespaceConstant.html#ab2e46a17cc373a268c5c24fa0e2067e5a816e7f6e3fb44de0c2da893f32a6748e">Constant::PinOnly</a>, and <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/namespaceConstant.html#ac081a99f2b64361919ed5d9f37c0f9afa63ce9cc57c99cccca96aa1157113da34">Constant::Vertical</a>.</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>
</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">References <a class="elRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/crlcore/doc/crlcore/html/crlcore.tag:../crlcore/" href="../crlcore/classCRL_1_1RoutingLayerGauge.html#a2c154cf6be98a71ab29d98faafae485f">RoutingLayerGauge::getDepth()</a>.</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>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a3715b38135ca24745f610bebd3407c10">AutoSegment::_postCreate()</a>, and <a class="el" href="classKatabatic_1_1AutoSegment.html#ace393c3c082a5e62a348168354660e39">AutoSegment::raise()</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>
</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_1AutoContactTerminal.html#a00ed934305dd186a284b7a13b5798cb6">AutoContactTerminal::getNativeConstraintBox()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a2c5b0faacc768bf61e17eb72a4ccc248">AutoSegment::getOppositeAnchor()</a>, <a class="el" href="classKatabatic_1_1AutoSegment.html#a206b53c34f57945b6c7bdb711101e38f">AutoSegment::getPerpandicularsBound()</a>, <a class="el" href="classKatabatic_1_1AutoContactVTee.html#a99fa8a78e97a29f2fb5730eaaa59acfc">AutoContactVTee::getSegment()</a>, <a class="el" href="classKatabatic_1_1AutoContactTurn.html#a99fa8a78e97a29f2fb5730eaaa59acfc">AutoContactTurn::getSegment()</a>, and <a class="el" href="classKatabatic_1_1AutoContactHTee.html#a99fa8a78e97a29f2fb5730eaaa59acfc">AutoContactHTee::getSegment()</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.13 on Mon May 14 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>