\hypertarget{classKatabatic_1_1Session}{}\section{Session Class Reference} \label{classKatabatic_1_1Session}\index{Session@{Session}} Modification \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} for \mbox{\hyperlink{namespaceKatabatic}{Katabatic}}. \subsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static bool \mbox{\hyperlink{classKatabatic_1_1Session_a037c7ec3b18ec43973f2e6fe3a172000}{is\+In\+Demo\+Mode}} () \item static bool \mbox{\hyperlink{classKatabatic_1_1Session_ad41e6fb02bd7bb01c27fb6aae36f0ddc}{do\+Warn\+G\+Cell\+Overload}} () \item static \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a76f17c3642eaeba85fa0af5ae9d208b4}{get}} (const char $\ast$message=N\+U\+LL) \item static \textbf{ Technology} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a109acfd064f3c1854abb8bb2c9b4ad30}{get\+Technology}} () \item static \mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a1ec4ff2ad2a5b964c0ff98170a366197}{get\+Katabatic}} () \item static const Configuration $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a4d9fd503149d2fff66eb8ba3955b7a13}{get\+Configuration}} () \item static float \mbox{\hyperlink{classKatabatic_1_1Session_a266a4079ca235e8fdb622ef4996d324d}{get\+Saturate\+Ratio}} () \item static size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1Session_adfdaa8b3e81de14fce1f99444b35fcda}{get\+Saturate\+Rp}} () \item static \textbf{ Db\+U\+::\+Unit} \mbox{\hyperlink{classKatabatic_1_1Session_a909ce95ac840ee708f9a49366f0c2690}{get\+Extension\+Cap}} () \item static \textbf{ Routing\+Gauge} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a9a05289b33122f312aa2c88c4b023292}{get\+Routing\+Gauge}} () \item static const \textbf{ Layer} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a3efd0f0d87be640dc566c1afd821e5e6}{get\+Routing\+Layer}} (size\+\_\+t) \item static const \textbf{ Layer} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_ad3ee60a34f480bd3aecd8c7d957ff52e}{get\+Contact\+Layer}} (size\+\_\+t) \item static size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1Session_ac9c144a8faf97714069824933970923c}{get\+Segment\+Stack\+Size}} () \item static size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1Session_a0d0c0159030a32b78ab4ad2b58871bce}{get\+Contact\+Stack\+Size}} () \item static const vector$<$ \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ $>$ \& \mbox{\hyperlink{classKatabatic_1_1Session_a6060b7e972f3c0d10cfa158b5ed174e6}{get\+Invalidateds}} () \item static const vector$<$ \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ $>$ \& \mbox{\hyperlink{classKatabatic_1_1Session_af5675d50557db83d11b7d2151de5f34c}{get\+Revalidateds}} () \item static const vector$<$ \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ $>$ \& \mbox{\hyperlink{classKatabatic_1_1Session_a84211b77fe7fb8b49a93d7f298a5de90}{get\+Doglegs}} () \item static const set$<$ \textbf{ Net} $\ast$ $>$ \& \mbox{\hyperlink{classKatabatic_1_1Session_a6c3be93d98029b06138f633342d04157}{get\+Nets\+Modificateds}} () \item static \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a000e098850f6cccff6b289a294149a41}{open}} (\mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a5ae591df94fc66ccb85cbb6565368bca}{close}} () \item static void \mbox{\hyperlink{classKatabatic_1_1Session_af9919aefa1db2478b3d1813c1872d175}{set\+Katabatic\+Flags}} (unsigned int) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_aed01e83f7d8dc7acd85156256a9e776c}{dogleg}} (\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a69fc41ca90fae86766ae9d528394868f}{revalidate\+Topology}} () \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a16f4761496e07b9e836642d1effa1993}{set\+Invalidate\+Mask}} (unsigned int) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_ae310a7c2c301b7e5f90fba5d34cc5be9}{invalidate}} (\textbf{ Net} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a1f8da0ae3a9d714c1dfae69904acec5f}{invalidate}} (\mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a7968875ccb5abb2c6f6d5dec92027550}{invalidate}} (\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$) \item static size\+\_\+t \mbox{\hyperlink{classKatabatic_1_1Session_a4da9e28432c1fdb0c754717487d9cc83}{revalidate}} () \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a8fad7191a9fc248f84e71cf1c9d0c6be}{link}} (\mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_ab12ddab837097ec298ede4f66302b677}{link}} (\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_a10c42636ea5786d898d530905ccb30d6}{unlink}} (\mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$) \item static void \mbox{\hyperlink{classKatabatic_1_1Session_ab815a7824e0253142af6b8a204c361ec}{unlink}} (\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$) \item static \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_acc20c1f675cc59f9a0068aba727eca47}{lookup}} (\textbf{ Contact} $\ast$) \item static \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ \mbox{\hyperlink{classKatabatic_1_1Session_a6e465f0a592fee7e1e45b6c825b8a5da}{lookup}} (\textbf{ Segment} $\ast$) \end{DoxyCompactItemize} \subsection{Detailed Description} Modification \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} for \mbox{\hyperlink{namespaceKatabatic}{Katabatic}}. To perform modifications, the \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} data structure uses a session mechanism built on top of the \textbf{ Hurricane\+::\+Update\+Session} one. Sessions obeys very simples rules\+: \begin{DoxyItemize} \item Only one \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} can be opened at a time with \mbox{\hyperlink{classKatabatic_1_1Session_a000e098850f6cccff6b289a294149a41}{Session\+::open()}}. \item Subsequent calls to \mbox{\hyperlink{classKatabatic_1_1Session_a000e098850f6cccff6b289a294149a41}{Session\+::open()}} returns the currently opened session until \mbox{\hyperlink{classKatabatic_1_1Session_a5ae591df94fc66ccb85cbb6565368bca}{Session\+::close()}} is called. \item Revalidation can take place whithout closing the \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} by calling \mbox{\hyperlink{classKatabatic_1_1Session_a4da9e28432c1fdb0c754717487d9cc83}{Session\+::revalidate()}}. \end{DoxyItemize} The task of a \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} is to keep track of the \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} and \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} that have been modificateds (i.\+e. invalidated) and, to restore connexity and/or topology when closed. Two kinds of revalidation could be performed\+: \begin{DoxyItemize} \item {\bfseries Geometrical} \+: only positions of Auto\+Contacts and Auto\+Segments extensions are recomputed. \item {\bfseries Topological} \+: a whole net have been invalidated because of a dogleg creation or a move up/move down of a segment. \begin{DoxyItemize} \item {\bfseries Dogleg} \+: needs to insert the newly created Auto\+Segments and Auto\+Contacts. \item {\bfseries Move up/\+Move down} \+: may needs to create additional dogleg to restore connexity (gaps), and then insert them like above. \end{DoxyItemize}After a topological mofication has been done, the net needs to be re-\/canonized then the geometrical step takes place. \end{DoxyItemize} The kind of revalidation needed is automatically detected by the \mbox{\hyperlink{classKatabatic_1_1Session}{Session}}. In addition to it\textquotesingle{}s main purpose, \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} also provides cached access to frequently needed variables either from Hurricane or \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} Configuration and access to the \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} \& \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} L\+U\+Ts of \mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}}. From a software point of view, \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} is a singleton object.\hypertarget{classKatabatic_1_1Session_secSessionAlgo}{}\subsection{Session Algorithm}\label{classKatabatic_1_1Session_secSessionAlgo} Main attributes of a \mbox{\hyperlink{classKatabatic_1_1Session}{Session}}\+: \begin{DoxyItemize} \item {\ttfamily \+\_\+net\+Invalidateds}, nets on which topology has changed. \item {\ttfamily \+\_\+auto\+Segments}, that have been moved or createds. \item {\ttfamily \+\_\+auto\+Contacts}, that have been created or one of their slave segment has moved. \item {\ttfamily \+\_\+revalidateds}, the list of Auto\+Segments that have just been revalidated (after calling {\ttfamily \mbox{\hyperlink{classKatabatic_1_1Session_a4da9e28432c1fdb0c754717487d9cc83}{revalidate()}}}). \end{DoxyItemize} Schematic description of how a \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} works\+: \begin{DoxyItemize} \item If at least one net has been invalidated, meaning that it\textquotesingle{}s topology has changed, perform {\ttfamily \+\_\+revalidate\+Topology()}. \begin{DoxyItemize} \item Update net topology\+: correct the topology of each contacts, making dogleg when needed. The \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} segment caching is updated at this point. \item Compute net constraints (on Auto\+Contacts \& Auto\+Segments). \item Compute net optimal positions (on Auto\+Segments). \item Compute the state of the segments regarding to terminals. \item Canonize sets of aligneds segments. The canonical segment is the one with the lowest {\ttfamily id}. \item If the segments has just been created, put it on its optimal axis. \end{DoxyItemize}This stage can add itself more invalidated Auto\+Segments and Auto\+Contacts as it create doglegs. \item Revalidate geometry of Auto\+Contacts. That is, expand or shrink the extremities of the invalidated Auto\+Segments. Note that Auto\+Segments are already at on their final axis position. \item Revalidate Auto\+Segments. 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). \end{DoxyItemize} \subsection{Member Function Documentation} \mbox{\Hypertarget{classKatabatic_1_1Session_a037c7ec3b18ec43973f2e6fe3a172000}\label{classKatabatic_1_1Session_a037c7ec3b18ec43973f2e6fe3a172000}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!is\+In\+Demo\+Mode@{is\+In\+Demo\+Mode}} \index{is\+In\+Demo\+Mode@{is\+In\+Demo\+Mode}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{is\+In\+Demo\+Mode()}{isInDemoMode()}} {\footnotesize\ttfamily bool is\+In\+Demo\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Katabatic\+Engine\+::is\+In\+Demo\+Mode(). Referenced by G\+Cell\+::check\+Density(). \mbox{\Hypertarget{classKatabatic_1_1Session_ad41e6fb02bd7bb01c27fb6aae36f0ddc}\label{classKatabatic_1_1Session_ad41e6fb02bd7bb01c27fb6aae36f0ddc}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!do\+Warn\+G\+Cell\+Overload@{do\+Warn\+G\+Cell\+Overload}} \index{do\+Warn\+G\+Cell\+Overload@{do\+Warn\+G\+Cell\+Overload}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{do\+Warn\+G\+Cell\+Overload()}{doWarnGCellOverload()}} {\footnotesize\ttfamily bool do\+Warn\+G\+Cell\+Overload (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Katabatic\+Engine\+::do\+Warn\+On\+G\+Cell\+Overload(). Referenced by G\+Cell\+::check\+Density(). \mbox{\Hypertarget{classKatabatic_1_1Session_a76f17c3642eaeba85fa0af5ae9d208b4}\label{classKatabatic_1_1Session_a76f17c3642eaeba85fa0af5ae9d208b4}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get@{get}} \index{get@{get}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get()}{get()}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} $\ast$ get (\begin{DoxyParamCaption}\item[{const char $\ast$}]{message = {\ttfamily NULL} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Return the \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} singleton, if no session is currently open throw an exception carrying {\ttfamily message}. \mbox{\Hypertarget{classKatabatic_1_1Session_a109acfd064f3c1854abb8bb2c9b4ad30}\label{classKatabatic_1_1Session_a109acfd064f3c1854abb8bb2c9b4ad30}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Technology@{get\+Technology}} \index{get\+Technology@{get\+Technology}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Technology()}{getTechnology()}} {\footnotesize\ttfamily \textbf{ Technology} $\ast$ get\+Technology (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Hurricane shortcut. \mbox{\Hypertarget{classKatabatic_1_1Session_a1ec4ff2ad2a5b964c0ff98170a366197}\label{classKatabatic_1_1Session_a1ec4ff2ad2a5b964c0ff98170a366197}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Katabatic@{get\+Katabatic}} \index{get\+Katabatic@{get\+Katabatic}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Katabatic()}{getKatabatic()}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$ get\+Katabatic (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. Referenced by Auto\+Segment\+::create(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Access\+Pad(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Auto\+Contacts(), Auto\+Segment\+::make\+Dogleg(), and Session\+::open(). \mbox{\Hypertarget{classKatabatic_1_1Session_a4d9fd503149d2fff66eb8ba3955b7a13}\label{classKatabatic_1_1Session_a4d9fd503149d2fff66eb8ba3955b7a13}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Configuration@{get\+Configuration}} \index{get\+Configuration@{get\+Configuration}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Configuration()}{getConfiguration()}} {\footnotesize\ttfamily const Configuration $\ast$ get\+Configuration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. Referenced by Auto\+Horizontal\+::\+\_\+make\+Dogleg(), Auto\+Vertical\+::\+\_\+make\+Dogleg(), and Auto\+Segment\+::can\+Move\+Up(). \mbox{\Hypertarget{classKatabatic_1_1Session_a266a4079ca235e8fdb622ef4996d324d}\label{classKatabatic_1_1Session_a266a4079ca235e8fdb622ef4996d324d}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Saturate\+Ratio@{get\+Saturate\+Ratio}} \index{get\+Saturate\+Ratio@{get\+Saturate\+Ratio}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Saturate\+Ratio()}{getSaturateRatio()}} {\footnotesize\ttfamily float get\+Saturate\+Ratio (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Katabatic\+Engine\+::get\+Saturate\+Ratio(). Referenced by G\+Cell\+::is\+Saturated(). \mbox{\Hypertarget{classKatabatic_1_1Session_adfdaa8b3e81de14fce1f99444b35fcda}\label{classKatabatic_1_1Session_adfdaa8b3e81de14fce1f99444b35fcda}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Saturate\+Rp@{get\+Saturate\+Rp}} \index{get\+Saturate\+Rp@{get\+Saturate\+Rp}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Saturate\+Rp()}{getSaturateRp()}} {\footnotesize\ttfamily size\+\_\+t get\+Saturate\+Rp (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Katabatic\+Engine\+::get\+Saturate\+Rp(). Referenced by G\+Cell\+::rp\+Desaturate(). \mbox{\Hypertarget{classKatabatic_1_1Session_a909ce95ac840ee708f9a49366f0c2690}\label{classKatabatic_1_1Session_a909ce95ac840ee708f9a49366f0c2690}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Extension\+Cap@{get\+Extension\+Cap}} \index{get\+Extension\+Cap@{get\+Extension\+Cap}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Extension\+Cap()}{getExtensionCap()}} {\footnotesize\ttfamily \textbf{ Db\+U\+::\+Unit} get\+Extension\+Cap (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. Referenced by Auto\+Horizontal\+::check\+Positions(), Auto\+Vertical\+::check\+Positions(), Auto\+Horizontal\+::update\+Positions(), and Auto\+Vertical\+::update\+Positions(). \mbox{\Hypertarget{classKatabatic_1_1Session_a9a05289b33122f312aa2c88c4b023292}\label{classKatabatic_1_1Session_a9a05289b33122f312aa2c88c4b023292}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Routing\+Gauge@{get\+Routing\+Gauge}} \index{get\+Routing\+Gauge@{get\+Routing\+Gauge}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Routing\+Gauge()}{getRoutingGauge()}} {\footnotesize\ttfamily \textbf{ Routing\+Gauge} $\ast$ get\+Routing\+Gauge (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. Referenced by Auto\+Horizontal\+::\+\_\+make\+Dogleg(), Auto\+Vertical\+::\+\_\+make\+Dogleg(), Auto\+Horizontal\+::can\+Move\+U\+Left(), Auto\+Vertical\+::can\+Move\+U\+Left(), Auto\+Segment\+::can\+Move\+Up(), Auto\+Horizontal\+::can\+Move\+U\+Right(), Auto\+Vertical\+::can\+Move\+U\+Right(), Auto\+Segment\+::can\+Pivot\+Down(), Auto\+Segment\+::can\+Pivot\+Up(), G\+Cell\+::check\+Density(), Session\+::get\+Contact\+Layer(), Session\+::get\+Routing\+Layer(), G\+Cell\+::has\+Free\+Track(), Auto\+Segment\+::make\+Dogleg(), anonymous\+\_\+namespace\{\+Load\+Gr\+By\+Net.\+cpp\}\+::single\+G\+Cell(), G\+Cell\+::step\+Desaturate(), G\+Cell\+::step\+Net\+Desaturate(), G\+Cell\+::update\+Density(), Auto\+Contact\+V\+Tee\+::update\+Topology(), Auto\+Contact\+Turn\+::update\+Topology(), Auto\+Contact\+H\+Tee\+::update\+Topology(), and Auto\+Contact\+Terminal\+::update\+Topology(). \mbox{\Hypertarget{classKatabatic_1_1Session_a3efd0f0d87be640dc566c1afd821e5e6}\label{classKatabatic_1_1Session_a3efd0f0d87be640dc566c1afd821e5e6}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Routing\+Layer@{get\+Routing\+Layer}} \index{get\+Routing\+Layer@{get\+Routing\+Layer}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Routing\+Layer()}{getRoutingLayer()}} {\footnotesize\ttfamily const \textbf{ Layer} $\ast$ get\+Routing\+Layer (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{depth }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Session\+::get\+Routing\+Gauge(), and Routing\+Gauge\+::get\+Routing\+Layer(). Referenced by G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+1\+M1\+\_\+1\+M2(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+x\+M1\+\_\+x\+M3(), Auto\+Segment\+::create(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Access\+Pad(), Auto\+Segment\+::reduce\+Dogleg\+Layer(), and G\+Cell\+::rp\+Desaturate(). \mbox{\Hypertarget{classKatabatic_1_1Session_ad3ee60a34f480bd3aecd8c7d957ff52e}\label{classKatabatic_1_1Session_ad3ee60a34f480bd3aecd8c7d957ff52e}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Contact\+Layer@{get\+Contact\+Layer}} \index{get\+Contact\+Layer@{get\+Contact\+Layer}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Contact\+Layer()}{getContactLayer()}} {\footnotesize\ttfamily const \textbf{ Layer} $\ast$ get\+Contact\+Layer (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{depth }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Routing\+Gauge\+::get\+Contact\+Layer(), and Session\+::get\+Routing\+Gauge(). Referenced by G\+Cell\+Topology\+::\+\_\+do\+\_\+1\+G\+\_\+1\+M3(), G\+Cell\+Topology\+::\+\_\+do\+\_\+1\+G\+\_\+x\+M1(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+1\+M1\+\_\+1\+M2(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+1\+Pad(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+x\+M1\+\_\+x\+M3(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+x\+M2(), G\+Cell\+Topology\+::\+\_\+do\+\_\+x\+G\+\_\+x\+M3(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Access(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Access\+Pad(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Auto\+Contacts(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Stair\+Case\+H(), G\+Cell\+Topology\+::do\+Rp\+\_\+\+Stair\+Case\+V(), and anonymous\+\_\+namespace\{\+Load\+Gr\+By\+Net.\+cpp\}\+::single\+G\+Cell(). \mbox{\Hypertarget{classKatabatic_1_1Session_ac9c144a8faf97714069824933970923c}\label{classKatabatic_1_1Session_ac9c144a8faf97714069824933970923c}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Segment\+Stack\+Size@{get\+Segment\+Stack\+Size}} \index{get\+Segment\+Stack\+Size@{get\+Segment\+Stack\+Size}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Segment\+Stack\+Size()}{getSegmentStackSize()}} {\footnotesize\ttfamily size\+\_\+t get\+Segment\+Stack\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} {\bfseries Returns\+:} The number of \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} in the invalidated stack. \mbox{\Hypertarget{classKatabatic_1_1Session_a0d0c0159030a32b78ab4ad2b58871bce}\label{classKatabatic_1_1Session_a0d0c0159030a32b78ab4ad2b58871bce}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Contact\+Stack\+Size@{get\+Contact\+Stack\+Size}} \index{get\+Contact\+Stack\+Size@{get\+Contact\+Stack\+Size}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Contact\+Stack\+Size()}{getContactStackSize()}} {\footnotesize\ttfamily size\+\_\+t get\+Contact\+Stack\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} {\bfseries Returns\+:} The number of \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} in the invalidated stack. \mbox{\Hypertarget{classKatabatic_1_1Session_a6060b7e972f3c0d10cfa158b5ed174e6}\label{classKatabatic_1_1Session_a6060b7e972f3c0d10cfa158b5ed174e6}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Invalidateds@{get\+Invalidateds}} \index{get\+Invalidateds@{get\+Invalidateds}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Invalidateds()}{getInvalidateds()}} {\footnotesize\ttfamily const vector$<$ \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ $>$ \& get\+Invalidateds (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} {\bfseries Returns\+:} The stack (vector) of invalidateds Auto\+Segments. \mbox{\Hypertarget{classKatabatic_1_1Session_af5675d50557db83d11b7d2151de5f34c}\label{classKatabatic_1_1Session_af5675d50557db83d11b7d2151de5f34c}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Revalidateds@{get\+Revalidateds}} \index{get\+Revalidateds@{get\+Revalidateds}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Revalidateds()}{getRevalidateds()}} {\footnotesize\ttfamily const vector$<$ \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ $>$ \& get\+Revalidateds (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} {\bfseries Returns\+:} The stack (vector) of Auto\+Segments that have been revalidateds. \mbox{\Hypertarget{classKatabatic_1_1Session_a84211b77fe7fb8b49a93d7f298a5de90}\label{classKatabatic_1_1Session_a84211b77fe7fb8b49a93d7f298a5de90}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Doglegs@{get\+Doglegs}} \index{get\+Doglegs@{get\+Doglegs}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Doglegs()}{getDoglegs()}} {\footnotesize\ttfamily const vector$<$ \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ $>$ \& get\+Doglegs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} {\bfseries Returns\+:} The vector of Auto\+Segments part of a newly created dogleg. The dogleg creation functions in \mbox{\hyperlink{classKatabatic_1_1AutoHorizontal}{Auto\+Horizontal}} and \mbox{\hyperlink{classKatabatic_1_1AutoVertical}{Auto\+Vertical}} put a triplet (for example in horizontal direction {\ttfamily }(h1,v1,h2) ) for each dogleg composed of\+: \begin{DoxyItemize} \item {\bfseries h1} the segment {\itshape before} the dogleg (which is also the original one). \item {\bfseries v1} the segment {\bfseries perpandicular} (new). \item {\bfseries h2} the segment {\bfseries after} (new). \end{DoxyItemize} Referenced by Auto\+Segment\+::make\+Dogleg(). \mbox{\Hypertarget{classKatabatic_1_1Session_a6c3be93d98029b06138f633342d04157}\label{classKatabatic_1_1Session_a6c3be93d98029b06138f633342d04157}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!get\+Nets\+Modificateds@{get\+Nets\+Modificateds}} \index{get\+Nets\+Modificateds@{get\+Nets\+Modificateds}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{get\+Nets\+Modificateds()}{getNetsModificateds()}} {\footnotesize\ttfamily const set$<$ \textbf{ Net} $\ast$ $>$ \& get\+Nets\+Modificateds (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} {\bfseries Returns\+:} The set of Nets that needs either a topological update or a new canonization. \mbox{\Hypertarget{classKatabatic_1_1Session_a000e098850f6cccff6b289a294149a41}\label{classKatabatic_1_1Session_a000e098850f6cccff6b289a294149a41}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!open@{open}} \index{open@{open}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{open()}{open()}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} $\ast$ open (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1KatabaticEngine}{Katabatic\+Engine}} $\ast$}]{ktbt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Opens a new session or returns the already opened one, if any. References Session\+::get\+Katabatic(). Referenced by G\+Cell\+Grid\+::update\+Contacts(). \mbox{\Hypertarget{classKatabatic_1_1Session_a5ae591df94fc66ccb85cbb6565368bca}\label{classKatabatic_1_1Session_a5ae591df94fc66ccb85cbb6565368bca}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!close@{close}} \index{close@{close}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{close()}{close()}} {\footnotesize\ttfamily void close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Close the \mbox{\hyperlink{classKatabatic_1_1Session}{Session}}, triggering the revalidation of the Auto\+Segemnts and Auto\+Contacts. If no \mbox{\hyperlink{classKatabatic_1_1Session}{Session}} is opened, throws an execption. Referenced by G\+Cell\+Grid\+::update\+Contacts(). \mbox{\Hypertarget{classKatabatic_1_1Session_af9919aefa1db2478b3d1813c1872d175}\label{classKatabatic_1_1Session_af9919aefa1db2478b3d1813c1872d175}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!set\+Katabatic\+Flags@{set\+Katabatic\+Flags}} \index{set\+Katabatic\+Flags@{set\+Katabatic\+Flags}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{set\+Katabatic\+Flags()}{setKatabaticFlags()}} {\footnotesize\ttfamily void set\+Katabatic\+Flags (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} \mbox{\hyperlink{namespaceKatabatic}{Katabatic}} shortcut. References Katabatic\+Engine\+::set\+Flags(). \mbox{\Hypertarget{classKatabatic_1_1Session_aed01e83f7d8dc7acd85156256a9e776c}\label{classKatabatic_1_1Session_aed01e83f7d8dc7acd85156256a9e776c}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!dogleg@{dogleg}} \index{dogleg@{dogleg}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{dogleg()}{dogleg()}} {\footnotesize\ttfamily void dogleg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$}]{auto\+Segment }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Adds an \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} to the dogleg vector. Referenced by Auto\+Horizontal\+::\+\_\+make\+Dogleg(), and Auto\+Vertical\+::\+\_\+make\+Dogleg(). \mbox{\Hypertarget{classKatabatic_1_1Session_a69fc41ca90fae86766ae9d528394868f}\label{classKatabatic_1_1Session_a69fc41ca90fae86766ae9d528394868f}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!revalidate\+Topology@{revalidate\+Topology}} \index{revalidate\+Topology@{revalidate\+Topology}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{revalidate\+Topology()}{revalidateTopology()}} {\footnotesize\ttfamily void revalidate\+Topology (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Revalidate Net that have been invalidateds and re-\/canonize them. \mbox{\Hypertarget{classKatabatic_1_1Session_a16f4761496e07b9e836642d1effa1993}\label{classKatabatic_1_1Session_a16f4761496e07b9e836642d1effa1993}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!set\+Invalidate\+Mask@{set\+Invalidate\+Mask}} \index{set\+Invalidate\+Mask@{set\+Invalidate\+Mask}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{set\+Invalidate\+Mask()}{setInvalidateMask()}} {\footnotesize\ttfamily void set\+Invalidate\+Mask (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Tells what kind of revalidation must be performed. \mbox{\Hypertarget{classKatabatic_1_1Session_ae310a7c2c301b7e5f90fba5d34cc5be9}\label{classKatabatic_1_1Session_ae310a7c2c301b7e5f90fba5d34cc5be9}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!invalidate@{invalidate}} \index{invalidate@{invalidate}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{invalidate()}{invalidate()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily void invalidate (\begin{DoxyParamCaption}\item[{\textbf{ Net} $\ast$}]{net }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Schedule {\ttfamily net} for a full revalidation, topological correction and canonization. Referenced by Auto\+Segment\+::\+\_\+invalidate(), and Auto\+Segment\+::\+\_\+post\+Create(). \mbox{\Hypertarget{classKatabatic_1_1Session_a1f8da0ae3a9d714c1dfae69904acec5f}\label{classKatabatic_1_1Session_a1f8da0ae3a9d714c1dfae69904acec5f}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!invalidate@{invalidate}} \index{invalidate@{invalidate}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{invalidate()}{invalidate()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily void invalidate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$}]{contact }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Schedule {\ttfamily contact} for revalidation. \mbox{\Hypertarget{classKatabatic_1_1Session_a7968875ccb5abb2c6f6d5dec92027550}\label{classKatabatic_1_1Session_a7968875ccb5abb2c6f6d5dec92027550}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!invalidate@{invalidate}} \index{invalidate@{invalidate}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{invalidate()}{invalidate()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily void invalidate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$}]{segment }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Schedule {\ttfamily segment} for revalidation. \mbox{\Hypertarget{classKatabatic_1_1Session_a4da9e28432c1fdb0c754717487d9cc83}\label{classKatabatic_1_1Session_a4da9e28432c1fdb0c754717487d9cc83}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!revalidate@{revalidate}} \index{revalidate@{revalidate}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{revalidate()}{revalidate()}} {\footnotesize\ttfamily size\+\_\+t revalidate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Perform the revalidation. Returns the sum of Auto\+Contacts and Auto\+Segemnts that have been revalidated. Referenced by Katabatic\+Engine\+::create\+Detailed\+Grid(). \mbox{\Hypertarget{classKatabatic_1_1Session_a8fad7191a9fc248f84e71cf1c9d0c6be}\label{classKatabatic_1_1Session_a8fad7191a9fc248f84e71cf1c9d0c6be}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!link@{link}} \index{link@{link}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{link()}{link()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily void link (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$}]{ac }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Adds {\ttfamily ac} in the \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} lookup table (allow to retrieve an \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} by it\textquotesingle{}s base Contact). Referenced by Auto\+Segment\+::\+\_\+post\+Create(). \mbox{\Hypertarget{classKatabatic_1_1Session_ab12ddab837097ec298ede4f66302b677}\label{classKatabatic_1_1Session_ab12ddab837097ec298ede4f66302b677}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!link@{link}} \index{link@{link}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{link()}{link()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily void link (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$}]{as }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Adds {\ttfamily as} in the \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} lookup table (allow to retrieve an \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} by it\textquotesingle{}s base Segment). \mbox{\Hypertarget{classKatabatic_1_1Session_a10c42636ea5786d898d530905ccb30d6}\label{classKatabatic_1_1Session_a10c42636ea5786d898d530905ccb30d6}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!unlink@{unlink}} \index{unlink@{unlink}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{unlink()}{unlink()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily void unlink (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$}]{ac }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Removes {\ttfamily ac} from the \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} lookup table. Referenced by Auto\+Segment\+::\+\_\+pre\+Destroy(). \mbox{\Hypertarget{classKatabatic_1_1Session_ab815a7824e0253142af6b8a204c361ec}\label{classKatabatic_1_1Session_ab815a7824e0253142af6b8a204c361ec}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!unlink@{unlink}} \index{unlink@{unlink}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{unlink()}{unlink()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily void unlink (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$}]{as }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Removes {\ttfamily as} from the \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} lookup table. \mbox{\Hypertarget{classKatabatic_1_1Session_acc20c1f675cc59f9a0068aba727eca47}\label{classKatabatic_1_1Session_acc20c1f675cc59f9a0068aba727eca47}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!lookup@{lookup}} \index{lookup@{lookup}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{lookup()}{lookup()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} $\ast$ lookup (\begin{DoxyParamCaption}\item[{\textbf{ Contact} $\ast$}]{contact }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Lookup the \mbox{\hyperlink{classKatabatic_1_1AutoContact}{Auto\+Contact}} associated with {\ttfamily contact}. {\ttfamily N\+U\+LL} if not found. Referenced by Auto\+Segment\+::\+Auto\+Segment(), G\+Cell\+::check\+Edge\+Saturation(), Auto\+Segment\+::create(), Auto\+Segment\+::get\+Auto\+Source(), Auto\+Segment\+::get\+Auto\+Target(), Auto\+Segment\+::get\+Opposite\+Anchor(), and Auto\+Segment\+::get\+Perpandiculars\+Bound(). \mbox{\Hypertarget{classKatabatic_1_1Session_a6e465f0a592fee7e1e45b6c825b8a5da}\label{classKatabatic_1_1Session_a6e465f0a592fee7e1e45b6c825b8a5da}} \index{Katabatic\+::\+Session@{Katabatic\+::\+Session}!lookup@{lookup}} \index{lookup@{lookup}!Katabatic\+::\+Session@{Katabatic\+::\+Session}} \subsubsection{\texorpdfstring{lookup()}{lookup()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} $\ast$ lookup (\begin{DoxyParamCaption}\item[{\textbf{ Segment} $\ast$}]{segment }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} Lookup the \mbox{\hyperlink{classKatabatic_1_1AutoSegment}{Auto\+Segment}} associated with {\ttfamily segment}. {\ttfamily N\+U\+LL} if not found. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item Session.\+h\item Session.\+cpp\item Session.\+dox\end{DoxyCompactItemize}