2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1Session} { \section { Session Class Reference}
2018-06-06 11:42:26 -05:00
\label { classKatabatic_ 1_ 1Session} \index { Session@{ Session} }
2018-08-19 06:27:09 -05:00
}
2018-06-06 11:42:26 -05:00
Modification \hyperlink { classKatabatic_ 1_ 1Session} { Session} for \hyperlink { namespaceKatabatic} { Katabatic} .
\subsection * { Static Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
static bool \hyperlink { classKatabatic_ 1_ 1Session_ a037c7ec3b18ec43973f2e6fe3a172000} { is\- In\- Demo\- Mode} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static bool \hyperlink { classKatabatic_ 1_ 1Session_ ad41e6fb02bd7bb01c27fb6aae36f0ddc} { do\- Warn\- G\- Cell\- Overload} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKatabatic_ 1_ 1Session} { Session} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a76f17c3642eaeba85fa0af5ae9d208b4} { get} (const char $ \ast $ message=N\- U\- L\- L)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Technology} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a109acfd064f3c1854abb8bb2c9b4ad30} { get\- Technology} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a1ec4ff2ad2a5b964c0ff98170a366197} { get\- Katabatic} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const Configuration $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a4d9fd503149d2fff66eb8ba3955b7a13} { get\- Configuration} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static float \hyperlink { classKatabatic_ 1_ 1Session_ a266a4079ca235e8fdb622ef4996d324d} { get\- Saturate\- Ratio} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1Session_ adfdaa8b3e81de14fce1f99444b35fcda} { get\- Saturate\- Rp} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Db\- U\- ::\- Unit} \hyperlink { classKatabatic_ 1_ 1Session_ a909ce95ac840ee708f9a49366f0c2690} { get\- Extension\- Cap} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Routing\- Gauge} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a9a05289b33122f312aa2c88c4b023292} { get\- Routing\- Gauge} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const { \bf Layer} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a3efd0f0d87be640dc566c1afd821e5e6} { get\- Routing\- Layer} (size\- \_ \- t)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const { \bf Layer} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ ad3ee60a34f480bd3aecd8c7d957ff52e} { get\- Contact\- Layer} (size\- \_ \- t)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1Session_ ac9c144a8faf97714069824933970923c} { get\- Segment\- Stack\- Size} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1Session_ a0d0c0159030a32b78ab4ad2b58871bce} { get\- Contact\- Stack\- Size} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const vector\\ *
$ < $ \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1Session_ a6060b7e972f3c0d10cfa158b5ed174e6} { get\- Invalidateds} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const vector\\ *
$ < $ \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1Session_ af5675d50557db83d11b7d2151de5f34c} { get\- Revalidateds} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const vector\\ *
$ < $ \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1Session_ a84211b77fe7fb8b49a93d7f298a5de90} { get\- Doglegs} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const set$ < $ { \bf Net} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1Session_ a6c3be93d98029b06138f633342d04157} { get\- Nets\- Modificateds} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKatabatic_ 1_ 1Session} { Session} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a000e098850f6cccff6b289a294149a41} { open} (\hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
static void \hyperlink { classKatabatic_ 1_ 1Session_ a5ae591df94fc66ccb85cbb6565368bca} { close} ()
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ af9919aefa1db2478b3d1813c1872d175} { set\- Katabatic\- Flags} (unsigned int)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ aed01e83f7d8dc7acd85156256a9e776c} { dogleg} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ a69fc41ca90fae86766ae9d528394868f} { revalidate\- Topology} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ a16f4761496e07b9e836642d1effa1993} { set\- Invalidate\- Mask} (unsigned int)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ ae310a7c2c301b7e5f90fba5d34cc5be9} { invalidate} ({ \bf Net} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ a1f8da0ae3a9d714c1dfae69904acec5f} { invalidate} (\hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ a7968875ccb5abb2c6f6d5dec92027550} { invalidate} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1Session_ a4da9e28432c1fdb0c754717487d9cc83} { revalidate} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ a8fad7191a9fc248f84e71cf1c9d0c6be} { link} (\hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ ab12ddab837097ec298ede4f66302b677} { link} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ a10c42636ea5786d898d530905ccb30d6} { unlink} (\hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static void \hyperlink { classKatabatic_ 1_ 1Session_ ab815a7824e0253142af6b8a204c361ec} { unlink} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ acc20c1f675cc59f9a0068aba727eca47} { lookup} ({ \bf Contact} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ \hyperlink { classKatabatic_ 1_ 1Session_ a6e465f0a592fee7e1e45b6c825b8a5da} { lookup} ({ \bf Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsection { Detailed Description}
Modification \hyperlink { classKatabatic_ 1_ 1Session} { Session} for \hyperlink { namespaceKatabatic} { Katabatic} .
2018-08-19 06:27:09 -05:00
To perform modifications, the \hyperlink { namespaceKatabatic} { Katabatic} data structure uses a session mechanism built on top of the { \bf Hurricane\- ::\- Update\- Session} one. Sessions obeys very simples rules\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item Only one \hyperlink { classKatabatic_ 1_ 1Session} { Session} can be opened at a time with \hyperlink { classKatabatic_ 1_ 1Session_ a000e098850f6cccff6b289a294149a41} { Session\- ::open()} .
\item Subsequent calls to \hyperlink { classKatabatic_ 1_ 1Session_ a000e098850f6cccff6b289a294149a41} { Session\- ::open()} returns the currently opened session until \hyperlink { classKatabatic_ 1_ 1Session_ a5ae591df94fc66ccb85cbb6565368bca} { Session\- ::close()} is called.
\item Revalidation can take place whithout closing the \hyperlink { classKatabatic_ 1_ 1Session} { Session} by calling \hyperlink { classKatabatic_ 1_ 1Session_ a4da9e28432c1fdb0c754717487d9cc83} { Session\- ::revalidate()} .
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
The task of a \hyperlink { classKatabatic_ 1_ 1Session} { Session} is to keep track of the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} and \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} that have been modificateds (i.\- e. invalidated) and, to restore connexity and/or topology when closed.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Two kinds of revalidation could be performed\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
\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 \hyperlink { classKatabatic_ 1_ 1Session} { Session} .
2018-08-19 06:27:09 -05:00
In addition to it's main purpose, \hyperlink { classKatabatic_ 1_ 1Session} { Session} also provides cached access to frequently needed variables either from { \bf Hurricane} or \hyperlink { namespaceKatabatic} { Katabatic} Configuration and access to the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} \& \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} L\- U\- Ts of \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} .
2018-06-06 11:42:26 -05:00
From a software point of view, \hyperlink { classKatabatic_ 1_ 1Session} { Session} is a singleton object.\hypertarget { classKatabatic_ 1_ 1Session_ secSessionAlgo} { } \subsection { Session Algorithm} \label { classKatabatic_ 1_ 1Session_ secSessionAlgo}
2018-08-19 06:27:09 -05:00
Main attributes of a \hyperlink { classKatabatic_ 1_ 1Session} { Session} \- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\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 \hyperlink { classKatabatic_ 1_ 1Session_ a4da9e28432c1fdb0c754717487d9cc83} { revalidate()} } ).
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
Schematic description of how a \hyperlink { classKatabatic_ 1_ 1Session} { Session} works\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item If at least one net has been invalidated, meaning that it's topology has changed, perform { \ttfamily \- \_ \- revalidate\- Topology()} .
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item Update net topology\- : correct the topology of each contacts, making dogleg when needed. The \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).
2018-06-06 11:42:26 -05:00
\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.
2018-08-19 06:27:09 -05:00
\end { DoxyItemize} This stage can add itself more invalidated Auto\- Segments and Auto\- Contacts as it create doglegs.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\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.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\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).
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
\subsection { Member Function Documentation}
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{is\-In\-Demo\-Mode}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- In\- Demo\- Mode (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a037c7ec3b18ec43973f2e6fe3a172000}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
References Katabatic\- Engine\- ::is\- In\- Demo\- Mode().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::check\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{do\-Warn\-G\-Cell\-Overload}] { \setlength { \rightskip } { 0pt plus 5cm} bool do\- Warn\- G\- Cell\- Overload (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ ad41e6fb02bd7bb01c27fb6aae36f0ddc}
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Katabatic\- Engine\- ::do\- Warn\- On\- G\- Cell\- Overload().
Referenced by G\- Cell\- ::check\- Density().
\hypertarget { classKatabatic_ 1_ 1Session_ a76f17c3642eaeba85fa0af5ae9d208b4} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get@{ get} }
\index { get@{ get} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Session} $ \ast $ get (
\begin { DoxyParamCaption}
\item [{const char $\ast$}] { message = { \ttfamily NULL} }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a76f17c3642eaeba85fa0af5ae9d208b4}
Return the \hyperlink { classKatabatic_ 1_ 1Session} { Session} singleton, if no session is currently open throw an exception carrying { \ttfamily message} . \hypertarget { classKatabatic_ 1_ 1Session_ a109acfd064f3c1854abb8bb2c9b4ad30} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get\- Technology@{ get\- Technology} }
\index { get\- Technology@{ get\- Technology} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get\-Technology}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Technology} $ \ast $ get\- Technology (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a109acfd064f3c1854abb8bb2c9b4ad30}
{ \bf Hurricane} shortcut. \hypertarget { classKatabatic_ 1_ 1Session_ a1ec4ff2ad2a5b964c0ff98170a366197} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get\- Katabatic@{ get\- Katabatic} }
\index { get\- Katabatic@{ get\- Katabatic} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get\-Katabatic}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Katabatic\- Engine} $ \ast $ get\- Katabatic (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a1ec4ff2ad2a5b964c0ff98170a366197}
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
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().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1Session_ a4d9fd503149d2fff66eb8ba3955b7a13} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get\- Configuration@{ get\- Configuration} }
\index { get\- Configuration@{ get\- Configuration} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get\-Configuration}] { \setlength { \rightskip } { 0pt plus 5cm} const Configuration $ \ast $ get\- Configuration (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a4d9fd503149d2fff66eb8ba3955b7a13}
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- make\- Dogleg(), Auto\- Vertical\- ::\- \_ \- make\- Dogleg(), and Auto\- Segment\- ::can\- Move\- Up().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{get\-Saturate\-Ratio}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- Saturate\- Ratio (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a266a4079ca235e8fdb622ef4996d324d}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
References Katabatic\- Engine\- ::get\- Saturate\- Ratio().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::is\- Saturated().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{get\-Saturate\-Rp}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t get\- Saturate\- Rp (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ adfdaa8b3e81de14fce1f99444b35fcda}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
References Katabatic\- Engine\- ::get\- Saturate\- Rp().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::rp\- Desaturate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{get\-Extension\-Cap}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Extension\- Cap (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a909ce95ac840ee708f9a49366f0c2690}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::check\- Positions(), Auto\- Vertical\- ::check\- Positions(), Auto\- Horizontal\- ::update\- Positions(), and Auto\- Vertical\- ::update\- Positions().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{get\-Routing\-Gauge}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Routing\- Gauge} $ \ast $ get\- Routing\- Gauge (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a9a05289b33122f312aa2c88c4b023292}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
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().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{get\-Routing\-Layer}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Layer} $ \ast $ get\- Routing\- Layer (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { depth}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a3efd0f0d87be640dc566c1afd821e5e6}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
References Session\- ::get\- Routing\- Gauge(), and Routing\- Gauge\- ::get\- Routing\- Layer().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
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().
\hypertarget { 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 [{get\-Contact\-Layer}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Layer} $ \ast $ get\- Contact\- Layer (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { depth}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ ad3ee60a34f480bd3aecd8c7d957ff52e}
2018-06-06 11:42:26 -05:00
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-08-19 06:27:09 -05:00
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().
\hypertarget { 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 [{get\-Segment\-Stack\-Size}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t get\- Segment\- Stack\- Size (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ ac9c144a8faf97714069824933970923c}
{ \bfseries Returns\- :} The number of \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} in the invalidated stack. \hypertarget { 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 [{get\-Contact\-Stack\-Size}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t get\- Contact\- Stack\- Size (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a0d0c0159030a32b78ab4ad2b58871bce}
{ \bfseries Returns\- :} The number of \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} in the invalidated stack. \hypertarget { classKatabatic_ 1_ 1Session_ a6060b7e972f3c0d10cfa158b5ed174e6} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get\- Invalidateds@{ get\- Invalidateds} }
\index { get\- Invalidateds@{ get\- Invalidateds} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get\-Invalidateds}] { \setlength { \rightskip } { 0pt plus 5cm} const vector$ < $ { \bf Auto\- Segment} $ \ast $ $ > $ \& get\- Invalidateds (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a6060b7e972f3c0d10cfa158b5ed174e6}
{ \bfseries Returns\- :} The stack (vector) of invalidateds Auto\- Segments. \hypertarget { classKatabatic_ 1_ 1Session_ af5675d50557db83d11b7d2151de5f34c} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get\- Revalidateds@{ get\- Revalidateds} }
\index { get\- Revalidateds@{ get\- Revalidateds} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get\-Revalidateds}] { \setlength { \rightskip } { 0pt plus 5cm} const vector$ < $ { \bf Auto\- Segment} $ \ast $ $ > $ \& get\- Revalidateds (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ af5675d50557db83d11b7d2151de5f34c}
{ \bfseries Returns\- :} The stack (vector) of Auto\- Segments that have been revalidateds. \hypertarget { classKatabatic_ 1_ 1Session_ a84211b77fe7fb8b49a93d7f298a5de90} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !get\- Doglegs@{ get\- Doglegs} }
\index { get\- Doglegs@{ get\- Doglegs} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{get\-Doglegs}] { \setlength { \rightskip } { 0pt plus 5cm} const vector$ < $ { \bf Auto\- Segment} $ \ast $ $ > $ \& get\- Doglegs (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a84211b77fe7fb8b49a93d7f298a5de90}
{ \bfseries Returns\- :} The vector of Auto\- Segments part of a newly created dogleg. The dogleg creation functions in \hyperlink { classKatabatic_ 1_ 1AutoHorizontal} { Auto\- Horizontal} and \hyperlink { classKatabatic_ 1_ 1AutoVertical} { Auto\- Vertical} put a triplet (for example in horizontal direction { \ttfamily } (h1,v1,h2) ) for each dogleg composed of\- :
2018-06-06 11:42:26 -05:00
\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}
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Segment\- ::make\- Dogleg().
\hypertarget { 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 [{get\-Nets\-Modificateds}] { \setlength { \rightskip } { 0pt plus 5cm} const set$ < $ { \bf Net} $ \ast $ $ > $ \& get\- Nets\- Modificateds (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a6c3be93d98029b06138f633342d04157}
{ \bfseries Returns\- :} The set of Nets that needs either a topological update or a new canonization. \hypertarget { classKatabatic_ 1_ 1Session_ a000e098850f6cccff6b289a294149a41} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !open@{ open} }
\index { open@{ open} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{open}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Session} $ \ast $ open (
\begin { DoxyParamCaption}
\item [{{\bf Katabatic\-Engine} $\ast$}] { ktbt}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a000e098850f6cccff6b289a294149a41}
2018-06-06 11:42:26 -05:00
Opens a new session or returns the already opened one, if any.
2018-08-19 06:27:09 -05:00
References Session\- ::get\- Katabatic().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- Grid\- ::update\- Contacts().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1Session_ a5ae591df94fc66ccb85cbb6565368bca} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !close@{ close} }
\index { close@{ close} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{close}] { \setlength { \rightskip } { 0pt plus 5cm} void close (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a5ae591df94fc66ccb85cbb6565368bca}
Close the \hyperlink { classKatabatic_ 1_ 1Session} { Session} , triggering the revalidation of the Auto\- Segemnts and Auto\- Contacts. If no \hyperlink { classKatabatic_ 1_ 1Session} { Session} is opened, throws an execption.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- Grid\- ::update\- Contacts().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { 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 [{set\-Katabatic\-Flags}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- Katabatic\- Flags (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ af9919aefa1db2478b3d1813c1872d175}
\hyperlink { namespaceKatabatic} { Katabatic} shortcut.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Katabatic\- Engine\- ::set\- Flags().
\hypertarget { classKatabatic_ 1_ 1Session_ aed01e83f7d8dc7acd85156256a9e776c} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !dogleg@{ dogleg} }
\index { dogleg@{ dogleg} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{dogleg}] { \setlength { \rightskip } { 0pt plus 5cm} void dogleg (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { auto\- Segment}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ aed01e83f7d8dc7acd85156256a9e776c}
Adds an \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} to the dogleg vector.
Referenced by Auto\- Horizontal\- ::\- \_ \- make\- Dogleg(), and Auto\- Vertical\- ::\- \_ \- make\- Dogleg().
\hypertarget { classKatabatic_ 1_ 1Session_ a69fc41ca90fae86766ae9d528394868f} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !revalidate\- Topology@{ revalidate\- Topology} }
\index { revalidate\- Topology@{ revalidate\- Topology} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{revalidate\-Topology}] { \setlength { \rightskip } { 0pt plus 5cm} void revalidate\- Topology (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a69fc41ca90fae86766ae9d528394868f}
Revalidate Net that have been invalidateds and re-\/ canonize them. \hypertarget { 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 [{set\-Invalidate\-Mask}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- Invalidate\- Mask (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a16f4761496e07b9e836642d1effa1993}
Tells what kind of revalidation must be performed. \hypertarget { classKatabatic_ 1_ 1Session_ ae310a7c2c301b7e5f90fba5d34cc5be9} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !invalidate@{ invalidate} }
\index { invalidate@{ invalidate} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{invalidate}] { \setlength { \rightskip } { 0pt plus 5cm} void invalidate (
\begin { DoxyParamCaption}
\item [{{\bf Net} $\ast$}] { net}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ ae310a7c2c301b7e5f90fba5d34cc5be9}
2018-06-06 11:42:26 -05:00
Schedule { \ttfamily net} for a full revalidation, topological correction and canonization.
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Segment\- ::\- \_ \- invalidate(), and Auto\- Segment\- ::\- \_ \- post\- Create().
\hypertarget { classKatabatic_ 1_ 1Session_ a1f8da0ae3a9d714c1dfae69904acec5f} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !invalidate@{ invalidate} }
\index { invalidate@{ invalidate} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{invalidate}] { \setlength { \rightskip } { 0pt plus 5cm} void invalidate (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Contact} $\ast$}] { contact}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a1f8da0ae3a9d714c1dfae69904acec5f}
Schedule { \ttfamily contact} for revalidation. \hypertarget { classKatabatic_ 1_ 1Session_ a7968875ccb5abb2c6f6d5dec92027550} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !invalidate@{ invalidate} }
\index { invalidate@{ invalidate} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{invalidate}] { \setlength { \rightskip } { 0pt plus 5cm} void invalidate (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { segment}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a7968875ccb5abb2c6f6d5dec92027550}
Schedule { \ttfamily segment} for revalidation. \hypertarget { classKatabatic_ 1_ 1Session_ a4da9e28432c1fdb0c754717487d9cc83} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !revalidate@{ revalidate} }
\index { revalidate@{ revalidate} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{revalidate}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t revalidate (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} , { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a4da9e28432c1fdb0c754717487d9cc83}
Perform the revalidation. Returns the sum of Auto\- Contacts and Auto\- Segemnts that have been revalidated.
Referenced by Katabatic\- Engine\- ::create\- Detailed\- Grid().
\hypertarget { classKatabatic_ 1_ 1Session_ a8fad7191a9fc248f84e71cf1c9d0c6be} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !link@{ link} }
\index { link@{ link} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{link}] { \setlength { \rightskip } { 0pt plus 5cm} void link (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Contact} $\ast$}] { ac}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a8fad7191a9fc248f84e71cf1c9d0c6be}
Adds { \ttfamily ac} in the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} lookup table (allow to retrieve an \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} by it's base Contact).
Referenced by Auto\- Segment\- ::\- \_ \- post\- Create().
\hypertarget { classKatabatic_ 1_ 1Session_ ab12ddab837097ec298ede4f66302b677} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !link@{ link} }
\index { link@{ link} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{link}] { \setlength { \rightskip } { 0pt plus 5cm} void link (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { as}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ ab12ddab837097ec298ede4f66302b677}
Adds { \ttfamily as} in the \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} lookup table (allow to retrieve an \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} by it's base Segment). \hypertarget { classKatabatic_ 1_ 1Session_ a10c42636ea5786d898d530905ccb30d6} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !unlink@{ unlink} }
\index { unlink@{ unlink} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{unlink}] { \setlength { \rightskip } { 0pt plus 5cm} void unlink (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Contact} $\ast$}] { ac}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a10c42636ea5786d898d530905ccb30d6}
Removes { \ttfamily ac} from the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} lookup table.
Referenced by Auto\- Segment\- ::\- \_ \- pre\- Destroy().
\hypertarget { classKatabatic_ 1_ 1Session_ ab815a7824e0253142af6b8a204c361ec} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !unlink@{ unlink} }
\index { unlink@{ unlink} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{unlink}] { \setlength { \rightskip } { 0pt plus 5cm} void unlink (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { as}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ ab815a7824e0253142af6b8a204c361ec}
Removes { \ttfamily as} from the \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} lookup table. \hypertarget { classKatabatic_ 1_ 1Session_ acc20c1f675cc59f9a0068aba727eca47} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !lookup@{ lookup} }
\index { lookup@{ lookup} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{lookup}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Contact} $ \ast $ lookup (
\begin { DoxyParamCaption}
\item [{{\bf Contact} $\ast$}] { contact}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ acc20c1f675cc59f9a0068aba727eca47}
Lookup the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} associated with { \ttfamily contact} . { \ttfamily N\- U\- L\- L} 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().
\hypertarget { classKatabatic_ 1_ 1Session_ a6e465f0a592fee7e1e45b6c825b8a5da} { \index { Katabatic\- ::\- Session@{ Katabatic\- ::\- Session} !lookup@{ lookup} }
\index { lookup@{ lookup} !Katabatic::Session@{ Katabatic\- ::\- Session} }
\subsubsection [{lookup}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segment} $ \ast $ lookup (
\begin { DoxyParamCaption}
\item [{{\bf Segment} $\ast$}] { segment}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1Session_ a6e465f0a592fee7e1e45b6c825b8a5da}
Lookup the \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} associated with { \ttfamily segment} . { \ttfamily N\- U\- L\- L} 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}