2018-06-06 11:42:26 -05:00
<!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)" >
2018-10-18 11:10:01 -05:00
<!-- 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& dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */< / script >
< div id = "main-nav" > < / div >
2018-06-06 11:42:26 -05:00
< 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 > |
< 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  < / 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" >   < / td > < / tr >
< tr class = "memitem:ad41e6fb02bd7bb01c27fb6aae36f0ddc" > < td class = "memItemLeft" align = "right" valign = "top" > static bool  < / 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" >   < / td > < / tr >
< tr class = "memitem:a76f17c3642eaeba85fa0af5ae9d208b4" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classKatabatic_1_1Session.html" > Session< / a > *  < / 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" >   < / 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 > *  < / 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" >   < / td > < / tr >
< tr class = "memitem:a1ec4ff2ad2a5b964c0ff98170a366197" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html" > KatabaticEngine< / a > *  < / 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" >   < / td > < / tr >
< tr class = "memitem:a4d9fd503149d2fff66eb8ba3955b7a13" > < td class = "memItemLeft" align = "right" valign = "top" > static const Configuration *  < / 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" >   < / td > < / tr >
< tr class = "memitem:a266a4079ca235e8fdb622ef4996d324d" > < td class = "memItemLeft" align = "right" valign = "top" > static float  < / 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" >   < / td > < / tr >
< tr class = "memitem:adfdaa8b3e81de14fce1f99444b35fcda" > < td class = "memItemLeft" align = "right" valign = "top" > static size_t  < / 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" >   < / 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 >   < / 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" >   < / td > < / tr >
2018-10-18 11:10:01 -05:00
< 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 > *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKatabatic_1_1Session.html#a9a05289b33122f312aa2c88c4b023292" > getRoutingGauge< / a > ()< / td > < / tr >
2018-06-06 11:42:26 -05:00
< tr class = "separator:a9a05289b33122f312aa2c88c4b023292" > < td class = "memSeparator" colspan = "2" >   < / 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 > *  < / 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" >   < / 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 > *  < / 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" >   < / td > < / tr >
< tr class = "memitem:ac9c144a8faf97714069824933970923c" > < td class = "memItemLeft" align = "right" valign = "top" > static size_t  < / 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" >   < / td > < / tr >
< tr class = "memitem:a0d0c0159030a32b78ab4ad2b58871bce" > < td class = "memItemLeft" align = "right" valign = "top" > static size_t  < / 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" >   < / td > < / tr >
2018-10-18 11:10:01 -05:00
< tr class = "memitem:a6060b7e972f3c0d10cfa158b5ed174e6" > < td class = "memItemLeft" align = "right" valign = "top" > static const vector< < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > * > &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKatabatic_1_1Session.html#a6060b7e972f3c0d10cfa158b5ed174e6" > getInvalidateds< / a > ()< / td > < / tr >
2018-06-06 11:42:26 -05:00
< tr class = "separator:a6060b7e972f3c0d10cfa158b5ed174e6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-10-18 11:10:01 -05:00
< tr class = "memitem:af5675d50557db83d11b7d2151de5f34c" > < td class = "memItemLeft" align = "right" valign = "top" > static const vector< < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > * > &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKatabatic_1_1Session.html#af5675d50557db83d11b7d2151de5f34c" > getRevalidateds< / a > ()< / td > < / tr >
2018-06-06 11:42:26 -05:00
< tr class = "separator:af5675d50557db83d11b7d2151de5f34c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2018-10-18 11:10:01 -05:00
< tr class = "memitem:a84211b77fe7fb8b49a93d7f298a5de90" > < td class = "memItemLeft" align = "right" valign = "top" > static const vector< < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > * > &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classKatabatic_1_1Session.html#a84211b77fe7fb8b49a93d7f298a5de90" > getDoglegs< / a > ()< / td > < / tr >
2018-06-06 11:42:26 -05:00
< tr class = "separator:a84211b77fe7fb8b49a93d7f298a5de90" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a6c3be93d98029b06138f633342d04157" > < td class = "memItemLeft" align = "right" valign = "top" > static const set< < 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 > < 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" >   < / td > < / tr >
< tr class = "memitem:a000e098850f6cccff6b289a294149a41" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classKatabatic_1_1Session.html" > Session< / a > *  < / 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" >   < / td > < / tr >
< tr class = "memitem:a5ae591df94fc66ccb85cbb6565368bca" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:af9919aefa1db2478b3d1813c1872d175" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:aed01e83f7d8dc7acd85156256a9e776c" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:a69fc41ca90fae86766ae9d528394868f" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:a16f4761496e07b9e836642d1effa1993" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:ae310a7c2c301b7e5f90fba5d34cc5be9" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:a1f8da0ae3a9d714c1dfae69904acec5f" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:a7968875ccb5abb2c6f6d5dec92027550" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:a4da9e28432c1fdb0c754717487d9cc83" > < td class = "memItemLeft" align = "right" valign = "top" > static size_t  < / 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" >   < / td > < / tr >
< tr class = "memitem:a8fad7191a9fc248f84e71cf1c9d0c6be" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:ab12ddab837097ec298ede4f66302b677" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:a10c42636ea5786d898d530905ccb30d6" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:ab815a7824e0253142af6b8a204c361ec" > < td class = "memItemLeft" align = "right" valign = "top" > static void  < / 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" >   < / td > < / tr >
< tr class = "memitem:acc20c1f675cc59f9a0068aba727eca47" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classKatabatic_1_1AutoContact.html" > AutoContact< / a > *  < / 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" >   < / td > < / tr >
< tr class = "memitem:a6e465f0a592fee7e1e45b6c825b8a5da" > < td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > *  < / 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" >   < / 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p > Two kinds of revalidation could be performed: < / p > < ul >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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 > & < 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 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p > Main attributes of a < a class = "el" href = "classKatabatic_1_1Session.html" title = "Modification Session for Katabatic. " > Session< / a > :< / p > < ul >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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" >
2018-06-06 11:42:26 -05:00
< 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 & 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 >
2018-10-18 11:10:01 -05:00
< a id = "a037c7ec3b18ec43973f2e6fe3a172000" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a037c7ec3b18ec43973f2e6fe3a172000" > ◆ < / a > < / span > isInDemoMode()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > References < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html#a0141bff96a4778a806d4eba5d256c32a" > KatabaticEngine::isInDemoMode()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1GCell.html#a88208864ba2268689946a8cb7a86fcb2" > GCell::checkDensity()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "ad41e6fb02bd7bb01c27fb6aae36f0ddc" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad41e6fb02bd7bb01c27fb6aae36f0ddc" > ◆ < / a > < / span > doWarnGCellOverload()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > References < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html#a9dec164d53fdee77f0f008133ecbd97f" > KatabaticEngine::doWarnOnGCellOverload()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1GCell.html#a88208864ba2268689946a8cb7a86fcb2" > GCell::checkDensity()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a76f17c3642eaeba85fa0af5ae9d208b4" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a76f17c3642eaeba85fa0af5ae9d208b4" > ◆ < / a > < / span > get()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 *  < / 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 >
2018-10-18 11:10:01 -05:00
< a id = "a109acfd064f3c1854abb8bb2c9b4ad30" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a109acfd064f3c1854abb8bb2c9b4ad30" > ◆ < / a > < / span > getTechnology()< / h2 >
2018-06-06 11:42:26 -05:00
< 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" >
2018-10-18 11:10:01 -05:00
< p > Hurricane shortcut. < / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a1ec4ff2ad2a5b964c0ff98170a366197" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a1ec4ff2ad2a5b964c0ff98170a366197" > ◆ < / a > < / span > getKatabatic()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a4d9fd503149d2fff66eb8ba3955b7a13" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a4d9fd503149d2fff66eb8ba3955b7a13" > ◆ < / a > < / span > getConfiguration()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a266a4079ca235e8fdb622ef4996d324d" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a266a4079ca235e8fdb622ef4996d324d" > ◆ < / a > < / span > getSaturateRatio()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > References < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html#a44d2c1fbd97dd09b102b461e906367a0" > KatabaticEngine::getSaturateRatio()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1GCell.html#a49b7bd2f05abd94436177558fd0f97d8" > GCell::isSaturated()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "adfdaa8b3e81de14fce1f99444b35fcda" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#adfdaa8b3e81de14fce1f99444b35fcda" > ◆ < / a > < / span > getSaturateRp()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > References < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html#a61977cc1fd981e7f1c6125189ed20509" > KatabaticEngine::getSaturateRp()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1GCell.html#a11f07f57cc33fcd4b2d310145c778801" > GCell::rpDesaturate()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a909ce95ac840ee708f9a49366f0c2690" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a909ce95ac840ee708f9a49366f0c2690" > ◆ < / a > < / span > getExtensionCap()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a9a05289b33122f312aa2c88c4b023292" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a9a05289b33122f312aa2c88c4b023292" > ◆ < / a > < / span > getRoutingGauge()< / h2 >
2018-06-06 11:42:26 -05:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a3efd0f0d87be640dc566c1afd821e5e6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a3efd0f0d87be640dc566c1afd821e5e6" > ◆ < / a > < / span > getRoutingLayer()< / h2 >
2018-06-06 11:42:26 -05:00
< 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  < / 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "ad3ee60a34f480bd3aecd8c7d957ff52e" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ad3ee60a34f480bd3aecd8c7d957ff52e" > ◆ < / a > < / span > getContactLayer()< / h2 >
2018-06-06 11:42:26 -05:00
< 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  < / 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "ac9c144a8faf97714069824933970923c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac9c144a8faf97714069824933970923c" > ◆ < / a > < / span > getSegmentStackSize()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a0d0c0159030a32b78ab4ad2b58871bce" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a0d0c0159030a32b78ab4ad2b58871bce" > ◆ < / a > < / span > getContactStackSize()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a6060b7e972f3c0d10cfa158b5ed174e6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a6060b7e972f3c0d10cfa158b5ed174e6" > ◆ < / a > < / span > getInvalidateds()< / h2 >
2018-06-06 11:42:26 -05:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const vector< < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > * > & 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 >
2018-10-18 11:10:01 -05:00
< a id = "af5675d50557db83d11b7d2151de5f34c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#af5675d50557db83d11b7d2151de5f34c" > ◆ < / a > < / span > getRevalidateds()< / h2 >
2018-06-06 11:42:26 -05:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const vector< < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > * > & 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 >
2018-10-18 11:10:01 -05:00
< a id = "a84211b77fe7fb8b49a93d7f298a5de90" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a84211b77fe7fb8b49a93d7f298a5de90" > ◆ < / a > < / span > getDoglegs()< / h2 >
2018-06-06 11:42:26 -05:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const vector< < a class = "el" href = "classKatabatic_1_1AutoSegment.html" > AutoSegment< / a > * > & 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" >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1AutoSegment.html#a39c927c04b5016770692b9b8448c2f04" > AutoSegment::makeDogleg()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a6c3be93d98029b06138f633342d04157" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a6c3be93d98029b06138f633342d04157" > ◆ < / a > < / span > getNetsModificateds()< / h2 >
2018-06-06 11:42:26 -05:00
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const set< < 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 > * > & 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 >
2018-10-18 11:10:01 -05:00
< a id = "a000e098850f6cccff6b289a294149a41" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a000e098850f6cccff6b289a294149a41" > ◆ < / a > < / span > open()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > References < a class = "el" href = "classKatabatic_1_1Session.html#a1ec4ff2ad2a5b964c0ff98170a366197" > Session::getKatabatic()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1GCellGrid.html#a032d6eb23f92e3a41a020d18c6bbc02d" > GCellGrid::updateContacts()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a5ae591df94fc66ccb85cbb6565368bca" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a5ae591df94fc66ccb85cbb6565368bca" > ◆ < / a > < / span > close()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1GCellGrid.html#a032d6eb23f92e3a41a020d18c6bbc02d" > GCellGrid::updateContacts()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "af9919aefa1db2478b3d1813c1872d175" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#af9919aefa1db2478b3d1813c1872d175" > ◆ < / a > < / span > setKatabaticFlags()< / h2 >
2018-06-06 11:42:26 -05:00
< 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  < / 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > References < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html#aeb14f94914af58657a0dc2f50ec98df5" > KatabaticEngine::setFlags()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "aed01e83f7d8dc7acd85156256a9e776c" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#aed01e83f7d8dc7acd85156256a9e776c" > ◆ < / a > < / span > dogleg()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a69fc41ca90fae86766ae9d528394868f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a69fc41ca90fae86766ae9d528394868f" > ◆ < / a > < / span > revalidateTopology()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< a id = "a16f4761496e07b9e836642d1effa1993" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a16f4761496e07b9e836642d1effa1993" > ◆ < / a > < / span > setInvalidateMask()< / h2 >
2018-06-06 11:42:26 -05:00
< 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  < / 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 >
2018-10-18 11:10:01 -05:00
< a id = "ae310a7c2c301b7e5f90fba5d34cc5be9" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae310a7c2c301b7e5f90fba5d34cc5be9" > ◆ < / a > < / span > invalidate() < span class = "overload" > [1/3]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a1f8da0ae3a9d714c1dfae69904acec5f" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a1f8da0ae3a9d714c1dfae69904acec5f" > ◆ < / a > < / span > invalidate() < span class = "overload" > [2/3]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< a id = "a7968875ccb5abb2c6f6d5dec92027550" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a7968875ccb5abb2c6f6d5dec92027550" > ◆ < / a > < / span > invalidate() < span class = "overload" > [3/3]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< a id = "a4da9e28432c1fdb0c754717487d9cc83" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a4da9e28432c1fdb0c754717487d9cc83" > ◆ < / a > < / span > revalidate()< / h2 >
2018-06-06 11:42:26 -05:00
< 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1KatabaticEngine.html#a1b7d8ed09a198f7afd6e3ac911f6eb37" > KatabaticEngine::createDetailedGrid()< / a > .< / p >
2018-08-19 06:27:09 -05:00
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a8fad7191a9fc248f84e71cf1c9d0c6be" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a8fad7191a9fc248f84e71cf1c9d0c6be" > ◆ < / a > < / span > link() < span class = "overload" > [1/2]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1AutoSegment.html#a3715b38135ca24745f610bebd3407c10" > AutoSegment::_postCreate()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "ab12ddab837097ec298ede4f66302b677" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab12ddab837097ec298ede4f66302b677" > ◆ < / a > < / span > link() < span class = "overload" > [2/2]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< a id = "a10c42636ea5786d898d530905ccb30d6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a10c42636ea5786d898d530905ccb30d6" > ◆ < / a > < / span > unlink() < span class = "overload" > [1/2]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< p class = "reference" > Referenced by < a class = "el" href = "classKatabatic_1_1AutoSegment.html#a7c13d9795eafd477994961f8a0d962d0" > AutoSegment::_preDestroy()< / a > .< / p >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "ab815a7824e0253142af6b8a204c361ec" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab815a7824e0253142af6b8a204c361ec" > ◆ < / a > < / span > unlink() < span class = "overload" > [2/2]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< a id = "acc20c1f675cc59f9a0068aba727eca47" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#acc20c1f675cc59f9a0068aba727eca47" > ◆ < / a > < / span > lookup() < span class = "overload" > [1/2]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
2018-10-18 11:10:01 -05:00
< 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 >
2018-06-06 11:42:26 -05:00
< / div >
< / div >
2018-10-18 11:10:01 -05:00
< a id = "a6e465f0a592fee7e1e45b6c825b8a5da" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a6e465f0a592fee7e1e45b6c825b8a5da" > ◆ < / a > < / span > lookup() < span class = "overload" > [2/2]< / span > < / h2 >
2018-06-06 11:42:26 -05:00
< 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 > *  < / 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 >
Migrating the initialisation system to be completely Python-like.
* New: In bootstrap/coriolisEnv.py, add the "etc" directory to the
PYTHONPATH as initialization are now Python modules.
* New: In Hurricane/analogic, first groundwork for the integration of
PIP/MIM/MOM multi-capacitors. Add C++ and Python interface for the
allocation matrix and the list of capacities values.
* Change: In Hurricane::RegularLayer, add a layer parameter to the
constructor so the association between the RegularLayer and it's
BasicLayer can readily be done.
* Change: In Hurricane::Layer, add a new getCut() accessor to get the
cut layer in ViaLayer.
* Change: In Hurricane::DataBase::get(), the Python wrapper should no
longer consider an error if the data-base has not been created yet.
Just return None.
* Bug: In Isobar::PyLayer::getEnclosure() wrapper, if the overall
enclosure is requested, pass the right parameter to the C++ function.
* Change: In AllianceFramework, make public _bindLibraries() and export
it to the Python interface.
* Change: In AllianceFramework::create(), do not longer call bindLibraries().
This now must be done explicitely and afterwards.
* Change: In AllianceFramework::createLibrary() and
Environement::addSYSTEM_LIBRARY(), minor bug corrections that I don't
recall.
* Change: In SearchPath::prepend(), set the selected index to zero and
return it.
* Change: In CRL::System CTOR, add "etc" to the PYTHONPATH as the
configuration files are now organized as Python modules.
* New: In PyCRL, export the CRL::System singleton, it's creation is no
longer triggered by the one of AllianceFramework.
* New: In CRL/etc/, convert most of the configuration files into the
Python module format. For now, keep the old ".conf", but that are no
longer used.
For the real technologies, we cannot keep the directory name as
"180" or "45" as it not allowed by Python syntax, so we create "node180"
or "node45" instead.
Most of the helpers and coriolisInit.py are no longer used now.
To be removed in future commits after being sure that everything
works...
* Bug: In AutoSegment::makeDogleg(AutoContact*), the layer of the contacts
where badly computed when one end of the original segment was attached
to a non-preferred direction segment (mostly on terminal contacts).
Now use the new AutoContact::updateLayer() method.
* Bug: In Dijkstra::load(), limit symetric search area only if the net
is a symmetric one !
* Change: In Katana/python/katanaInit.py, comply with the new initialisation
scheme.
* Change: In Unicorn/cgt.py, comply to the new inititalization scheme.
* Change: In cumulus various Python scripts remove the call to
helpers.staticInitialization() as they are not needed now (we run in
only *one* interpreter, so we correctly share all init).
In plugins/__init__.py, read the new NDA directory variable.
* Bug: In cumulus/plugins/Chip.doCoronafloorplan(), self.railsNb was not
correctly managed when there was no clock.
* Change: In cumulus/plugins/Configuration.coronaContactArray(), compute
the viaPitch from the technology instead of the hard-coded 4.0 lambdas.
In Configuration.loadConfiguration(), read the "ioring.py" from
the new user's settings module.
* Bug: In stratus.dpgen_ADSB2F, gives coordinates translated into DbU to
the XY functions.
In st_model.Save(), use the VstUseConcat flag to get correct VST files.
In st_net.hur_net(), when a net is POWER/GROUND or CLOCK also make it
global.
* Change: In Oroshi/python/WIP_Transistor.py, encapsulate the generator
inside a try/except block to get prettier error (and stop at the first).
2019-10-28 12:09:14 -05:00
< td class = "LFooter" > < small > Generated by doxygen 1.8.14 on Mon Oct 28 2019< / small > < / td >
2018-06-06 11:42:26 -05:00
< 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 © 2008-2016 UPMC. All rights reserved< / small > < / td >
< / tr >
< / table >
< / body >
< / html >