\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}
