462 lines
38 KiB
TeX
462 lines
38 KiB
TeX
\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}
|