\hypertarget{classKatabatic_1_1AutoContact}{\section{Auto\-Contact Class Reference}
\label{classKatabatic_1_1AutoContact}\index{Auto\-Contact@{Auto\-Contact}}
}


Abstract base class for \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}.  




Inheritance diagram for Auto\-Contact\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classKatabatic_1_1AutoContact__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Hook} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_a4092778435abf3fb25a986a802bdb6c6}{get\-Body\-Hook} ()
\item 
{\bf Hook} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_ad4a1ca46647528c32c5fbd4c45ac866c}{get\-Anchor\-Hook} ()
\item 
{\bf Component} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_afa2c2abdef6c96ffc359707919be5d9f}{get\-Anchor} () const 
\item 
{\bf Net} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_adf3e1a980233163de0ca34a5c3575998}{get\-Net} () const 
\item 
const {\bf Layer} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_a304ee4e02745811e04ac6fb688bf834f}{get\-Layer} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_a852afe759ce2cb8cb9c0524fc1e23387}{get\-X} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_ac597d25a34a79fb4393211c70f5a1bc3}{get\-Y} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_a2589fed9c8789a650f5dc102b762aa57}{get\-Dx} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_ab9233926e07b704773511774b1992602}{get\-Dy} () const 
\item 
{\bf Point} \hyperlink{classKatabatic_1_1AutoContact_a9e97a8efe26be94cbe5202c7f345e175}{get\-Center} () const 
\item 
{\bf Point} \hyperlink{classKatabatic_1_1AutoContact_a2b1a75d102c6f88eaa432064efd04e27}{get\-Position} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_aa018d3e74791b77d2def527248b9b00a}{get\-Width} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_af2daf0fed893337f82e93363ae17bf14}{get\-Half\-Width} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_ae66967177ea58702fc89e9563f73bfb4}{get\-Height} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_a68048c464a03e8bbc9ae9ec74b037561}{get\-Half\-Height} () const 
\item 
{\bf Components} \hyperlink{classKatabatic_1_1AutoContact_a5e6d3b7991ce74215e3e0a0ae6c07645}{get\-Slave\-Components} () const 
\item 
void \hyperlink{classKatabatic_1_1AutoContact_aad4271c35e0162c8a4d034dca07f5a4b}{set\-Layer} (const {\bf Layer} $\ast$)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a9a0ec0a0ac85f23cfad6c069ea8dade7}{set\-Width} ({\bf Db\-U\-::\-Unit})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a106f372cee0916ebb6544627e47bb58d}{set\-Height} ({\bf Db\-U\-::\-Unit})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a0284fcec9bd41b26648e7bef3d4f1952}{set\-Sizes} ({\bf Db\-U\-::\-Unit} width, {\bf Db\-U\-::\-Unit} height)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a154f993d0262c92bfc0dc95154faf794}{set\-X} ({\bf Db\-U\-::\-Unit})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_ac862ce450a533f0544d2168b132ba165}{set\-Y} ({\bf Db\-U\-::\-Unit})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a12d3bfdce07580db21b17cf87f912cc3}{set\-Position} ({\bf Db\-U\-::\-Unit} width, {\bf Db\-U\-::\-Unit} height)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a52707afec84391e898e01c75b2713d32}{set\-Position} (const {\bf Point} \&)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a2c83ac6a03bbac090a8ab120d62c6e44}{set\-Dx} ({\bf Db\-U\-::\-Unit})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a123478e15e2544598851d0e907212841}{set\-Dy} ({\bf Db\-U\-::\-Unit})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a9881d5e969669b641c5de4f4d94e5d15}{set\-Offset} ({\bf Db\-U\-::\-Unit} dx, {\bf Db\-U\-::\-Unit} dy)
\item 
virtual void \hyperlink{classKatabatic_1_1AutoContact_a9161f1e2832e5e141a13863223322aa5}{translate} (const {\bf Db\-U\-::\-Unit} \&tx, const {\bf Db\-U\-::\-Unit} \&ty)
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_a8a8f27ca267d07ae56abff162a3b3ae0}{is\-In\-Creation\-Stage} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_a54f713d06c43bebf4e0dfef06e347531}{is\-Invalidated} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_af715dc65deddf045ec1743a529393224}{is\-Invalidated\-Cache} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_aa7c7bc6592b91fe675acb9b793b1188e}{is\-Turn} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_a8fd7a3439896837a5af19d408162ca62}{is\-Tee} (unsigned int direction) const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_ac2131e4356f7d7c6e4ada597307f1d95}{is\-H\-Tee} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_a938932aae592e22efdc9b275ad5a4094}{is\-V\-Tee} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_af5e7d3badddf2ec07159f1d83426d4c1}{is\-Fixed} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_a1aebd841bb4796ac0f4264d6a694d6fa}{has\-Bad\-Topology} () const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_aa1d158503e0663092922e38651b8c9f5}{can\-Destroy} (unsigned int flags=0) const 
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_a3b30ff8ac1916f6cf9f9be735a3d9c3a}{can\-Move\-Up} (const \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} $\ast$moved) const 
\item 
{\bf Contact} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_a7f6571edacd5e4120cc9b87abd23082a}{base} () const 
\item 
virtual const {\bf Name} \& \hyperlink{classKatabatic_1_1AutoContact_a5e23c46b801d3049b349b68774a0d298}{get\-Name} () const 
\item 
size\-\_\-t \hyperlink{classKatabatic_1_1AutoContact_ac0015de06fff235f96ec1cf68444f7a4}{get\-Id} () const 
\item 
virtual {\bf Box} \hyperlink{classKatabatic_1_1AutoContact_a3b9694bf093e3ea16e4a8c8126a8d4db}{get\-Bounding\-Box} () const 
\item 
\hyperlink{classKatabatic_1_1GCell}{G\-Cell} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_ab45ccfee0f781ec16c50672663d36141}{get\-G\-Cell} () const 
\item 
virtual \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_a48ab1d3bdf85712e4784ef83ef136939}{get\-Opposite} (const \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} $\ast$) const =0
\item 
virtual \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_a994371005874f946cc0ac78005d38423}{get\-Perpandicular} (const \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} $\ast$) const =0
\item 
virtual \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} $\ast$ \hyperlink{classKatabatic_1_1AutoContact_a50531ded68cc5206fe104b8d8bf3bd87}{get\-Segment} (unsigned int) const =0
\item 
unsigned int \hyperlink{classKatabatic_1_1AutoContact_a5b16a639914ac05e0cb7032f918278b0}{get\-Min\-Depth} () const 
\item 
unsigned int \hyperlink{classKatabatic_1_1AutoContact_a625d8d6b12c514f8cf1bc217cc20d743}{get\-Max\-Depth} () const 
\item 
void \hyperlink{classKatabatic_1_1AutoContact_ac607a624c0698056c5bccf405cf05ea7}{get\-Lengths} ({\bf Db\-U\-::\-Unit} $\ast$lengths, Auto\-Segment\-::\-Depth\-Length\-Set \&)
\item 
virtual {\bf Box} \hyperlink{classKatabatic_1_1AutoContact_a762d33db26927e6db939a7420bb95743}{get\-Native\-Constraint\-Box} () const 
\item 
{\bf Interval} \hyperlink{classKatabatic_1_1AutoContact_aaa2758181c73fb81e43550dea6b03041}{get\-U\-Constraints} (unsigned int direction) const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_a0c391297a64d0ae15c14a6e803b0316e}{get\-C\-B\-X\-Min} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_a20ab0da1716ecd002f3abc76285dd5a1}{get\-C\-B\-X\-Max} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_acd040eea296d73195a2065819ba02ebc}{get\-C\-B\-Y\-Min} () const 
\item 
{\bf Db\-U\-::\-Unit} \hyperlink{classKatabatic_1_1AutoContact_a25bae06d071e2e19696d3e950956d785}{get\-C\-B\-Y\-Max} () const 
\item 
{\bf Box} \hyperlink{classKatabatic_1_1AutoContact_a0d59519da5ced04bca8f2849c9f9a890}{get\-Constraint\-Box} () const 
\item 
{\bf Box} \& \hyperlink{classKatabatic_1_1AutoContact_a2b4fffa1c238d8379a3418012e4f60f0}{intersect\-Constraint\-Box} ({\bf Box} \&box) const 
\item 
void \hyperlink{classKatabatic_1_1AutoContact_aabac50fd9b8e1bba7289573973658d18}{invalidate} (unsigned int flags=0)
\item 
virtual void \hyperlink{classKatabatic_1_1AutoContact_af6a2454547eeb7f5a519970dcb467e90}{update\-Geometry} ()=0
\item 
virtual void \hyperlink{classKatabatic_1_1AutoContact_a690764ddc997fe9766a79c4b8e0c3e2f}{update\-Topology} ()=0
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a66f92d8233776fb858075f78af451997}{show\-Topology\-Error} (const std\-::string \&, unsigned int flags=0)
\item 
virtual void \hyperlink{classKatabatic_1_1AutoContact_ac371cd5b837a8965c11297c197e70a45}{check\-Topology} ()
\item 
void \hyperlink{classKatabatic_1_1AutoContact_aa1a02e206437f1371a74cafc724b00d7}{set\-G\-Cell} (\hyperlink{classKatabatic_1_1GCell}{G\-Cell} $\ast$)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a9fcb986110e79bc0044f7bfe503acc0c}{set\-C\-B\-X\-Min} ({\bf Db\-U\-::\-Unit} x\-Min)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_aaa7652f5db46cab9edb066d06ea979f9}{set\-C\-B\-X\-Max} ({\bf Db\-U\-::\-Unit} x\-Max)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a5b598929b39ad3ec202405b31ac02b1d}{set\-C\-B\-Y\-Min} ({\bf Db\-U\-::\-Unit} y\-Min)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a1fdb3737d910a966e150a86d885f3c05}{set\-C\-B\-Y\-Max} ({\bf Db\-U\-::\-Unit} y\-Max)
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a5e5f791613d0ef8f4cf9e7d8f35dc4c5}{set\-Constraint\-Box} (const {\bf Box} \&box)
\item 
bool \hyperlink{classKatabatic_1_1AutoContact_ac893802d1c5518cab86f8341af817abe}{restrict\-Constraint\-Box} ({\bf Db\-U\-::\-Unit} constraint\-Min, {\bf Db\-U\-::\-Unit} constraint\-Max, unsigned int flags=\hyperlink{namespaceKatabatic_a2af2ad6b6441614038caf59d04b3b217aa5153b2cc25ebccca8616ce20ecd727a}{Kb\-Warn\-On\-Error})
\item 
void \hyperlink{classKatabatic_1_1AutoContact_a7fc4029992d75a62ce718e5e622f8ce9}{migrate\-Constraint\-Box} (\hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} $\ast$other)
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static size\-\_\-t \hyperlink{classKatabatic_1_1AutoContact_a91c8bc1a6bdb1b15c3c084ebfd38af47}{get\-Allocateds} ()
\item 
static const {\bf Name} \& \hyperlink{classKatabatic_1_1AutoContact_a00e56270cfb31f56e52e31afbc33ba71}{get\-Static\-Name} ()
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{classKatabatic_1_1AutoContact_a2294ddd6bd4bda59c3453cc4dbd4f4fa}{\-\_\-get\-Topology} ({\bf Contact} $\ast$, {\bf Component} $\ast$\&anchor, {\bf Horizontal} $\ast$$\ast$\&, {\bf Vertical} $\ast$$\ast$\&, size\-\_\-t)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract base class for \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}. 

\hypertarget{classKatabatic_1_1AutoContact_secACCache}{}\subsection{Caching Mechanism}\label{classKatabatic_1_1AutoContact_secACCache}
To bypass the Ring/\-Hook mechanism {\itshape and} the subsequent Session\-::\-Lookup() call, the Auto\-Segments anchored on an \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} are cached in the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} itself. They can be accessed through {\ttfamily get\-Horizontal\-N()} and get\-Vertical\-N() accessors {\ttfamily N} depending on the subtype of \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}.

Cached Auto\-Segments are updated in the \hyperlink{classKatabatic_1_1AutoContact_a690764ddc997fe9766a79c4b8e0c3e2f}{Auto\-Contact\-::update\-Topology()} function only.\hypertarget{classKatabatic_1_1AutoContact_secACInvalidate}{}\subsection{Invalidate on Auto\-Contacts}\label{classKatabatic_1_1AutoContact_secACInvalidate}
The invalidation of an \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} invalidate all the segments that are anchored on it.

{\bfseries Special Case of H\-Tee \& V\-Tee}

When invalidating an H\-Tee or V\-Tee, two out of the three anchored segments are parallels. The {\itshape aligned} constraint is passed on those two. By default, when we invalidate an \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment}, the invalidation is applied to the whole aligned set through the \hyperlink{classKatabatic_1_1AutoSegment_aaca749f49cd03ca06449d5ea2104033a}{Auto\-Segment\-::get\-Aligneds()} collection. So if one of the parallel is invalidated and the other not, it should only be because we are already in {\ttfamily get\-Aligneds()}, then we do not want to invalidate again the whole aligned set. In that case, we perform an atomic only invalidation (reset \hyperlink{namespaceKatabatic_a2af2ad6b6441614038caf59d04b3b217a3f95c1f06fe0b58b44ccbc57d99f2a5d}{Katabatic\-::\-Kb\-Propagate}).

For the complete invalidation/revalidation mechanism see \hyperlink{classKatabatic_1_1Session_secSessionAlgo}{Session Algorithm}.\hypertarget{classKatabatic_1_1AutoContact_secDiffFromKatabatic2}{}\subsection{Notes -\/ Differences from Katabatic 2}\label{classKatabatic_1_1AutoContact_secDiffFromKatabatic2}
From the previous version of \hyperlink{namespaceKatabatic}{Katabatic}, \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} have been greatly stripped down (again). They are now always punctual objetcs with stricly fixed topologies\-: 
\begin{DoxyItemize}
\item \hyperlink{classKatabatic_1_1AutoContactTerminal}{Auto\-Contact\-Terminal} to connect to a terminal (one segment). 
\item \hyperlink{classKatabatic_1_1AutoContactTurn}{Auto\-Contact\-Turn} to make a turn\-: two perpandiculars segments. 
\item \hyperlink{classKatabatic_1_1AutoContactHTee}{Auto\-Contact\-H\-Tee} an horizontal tee\-: two {\itshape aligned} horizonals and one vertical. 
\item \hyperlink{classKatabatic_1_1AutoContactVTee}{Auto\-Contact\-V\-Tee} an horizontal tee\-: two {\itshape aligned} verticals and one horizontal. 
\end{DoxyItemize}

\subsection{Member Function Documentation}
\hypertarget{classKatabatic_1_1AutoContact_a4092778435abf3fb25a986a802bdb6c6}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Body\-Hook@{get\-Body\-Hook}}
\index{get\-Body\-Hook@{get\-Body\-Hook}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Body\-Hook}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Hook} $\ast$ get\-Body\-Hook (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a4092778435abf3fb25a986a802bdb6c6}
{\itshape Base class method proxy.} 

References Component\-::get\-Body\-Hook().



Referenced by G\-Cell\-Topology\-::\-\_\-do\-\_\-x\-G\-\_\-1\-Pad(), and Auto\-Segment\-::create().

\hypertarget{classKatabatic_1_1AutoContact_ad4a1ca46647528c32c5fbd4c45ac866c}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Anchor\-Hook@{get\-Anchor\-Hook}}
\index{get\-Anchor\-Hook@{get\-Anchor\-Hook}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Anchor\-Hook}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Hook} $\ast$ get\-Anchor\-Hook (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ad4a1ca46647528c32c5fbd4c45ac866c}
{\itshape Base class method proxy.} 

References Contact\-::get\-Anchor\-Hook().

\hypertarget{classKatabatic_1_1AutoContact_afa2c2abdef6c96ffc359707919be5d9f}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Anchor@{get\-Anchor}}
\index{get\-Anchor@{get\-Anchor}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Anchor}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Component} $\ast$ get\-Anchor (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_afa2c2abdef6c96ffc359707919be5d9f}
{\itshape Base class method proxy.} 

References Contact\-::get\-Anchor().



Referenced by Auto\-Contact\-Terminal\-::get\-Native\-Constraint\-Box(), and Auto\-Contact\-Terminal\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_adf3e1a980233163de0ca34a5c3575998}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Net@{get\-Net}}
\index{get\-Net@{get\-Net}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Net}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Net} $\ast$ get\-Net (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_adf3e1a980233163de0ca34a5c3575998}
{\itshape Base class method proxy.} 

References Component\-::get\-Net().



Referenced by Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), Auto\-Contact\-H\-Tee\-::update\-Geometry(), Auto\-Contact\-Terminal\-::update\-Geometry(), Auto\-Contact\-V\-Tee\-::update\-Topology(), Auto\-Contact\-Turn\-::update\-Topology(), Auto\-Contact\-H\-Tee\-::update\-Topology(), and Auto\-Contact\-Terminal\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_a304ee4e02745811e04ac6fb688bf834f}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Layer@{get\-Layer}}
\index{get\-Layer@{get\-Layer}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Layer}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Layer} $\ast$ get\-Layer (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a304ee4e02745811e04ac6fb688bf834f}
{\itshape Base class method proxy.} 

References Component\-::get\-Layer().



Referenced by Auto\-Segment\-::make\-Dogleg(), Auto\-Segment\-::revalidate(), Auto\-Contact\-V\-Tee\-::update\-Topology(), Auto\-Contact\-Turn\-::update\-Topology(), Auto\-Contact\-H\-Tee\-::update\-Topology(), and Auto\-Contact\-Terminal\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_a852afe759ce2cb8cb9c0524fc1e23387}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-X@{get\-X}}
\index{get\-X@{get\-X}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-X}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-X (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a852afe759ce2cb8cb9c0524fc1e23387}
{\itshape Base class method proxy.} 

References Component\-::get\-X().



Referenced by G\-Cell\-Topology\-::\-\_\-do\-\_\-1\-G\-\_\-1\-M3(), G\-Cell\-Topology\-::\-\_\-do\-\_\-x\-G\-\_\-x\-M3(), Auto\-Segment\-::create(), G\-Cell\-Topology\-::do\-Rp\-\_\-\-Stair\-Case\-V(), Auto\-Segment\-::make\-Dogleg(), Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), and Auto\-Contact\-H\-Tee\-::update\-Geometry().

\hypertarget{classKatabatic_1_1AutoContact_ac597d25a34a79fb4393211c70f5a1bc3}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Y@{get\-Y}}
\index{get\-Y@{get\-Y}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Y}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Y (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ac597d25a34a79fb4393211c70f5a1bc3}
{\itshape Base class method proxy.} 

References Component\-::get\-Y().



Referenced by Auto\-Segment\-::create(), G\-Cell\-Topology\-::do\-Rp\-\_\-\-Stair\-Case\-H(), Auto\-Segment\-::make\-Dogleg(), Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), and Auto\-Contact\-H\-Tee\-::update\-Geometry().

\hypertarget{classKatabatic_1_1AutoContact_a2589fed9c8789a650f5dc102b762aa57}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Dx@{get\-Dx}}
\index{get\-Dx@{get\-Dx}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Dx}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Dx (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a2589fed9c8789a650f5dc102b762aa57}
{\itshape Base class method proxy.} 

References Contact\-::get\-Dx().

\hypertarget{classKatabatic_1_1AutoContact_ab9233926e07b704773511774b1992602}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Dy@{get\-Dy}}
\index{get\-Dy@{get\-Dy}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Dy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Dy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ab9233926e07b704773511774b1992602}
{\itshape Base class method proxy.} 

References Contact\-::get\-Dy().

\hypertarget{classKatabatic_1_1AutoContact_a9e97a8efe26be94cbe5202c7f345e175}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Center@{get\-Center}}
\index{get\-Center@{get\-Center}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Center}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Point} get\-Center (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a9e97a8efe26be94cbe5202c7f345e175}
{\itshape Base class method proxy.} \hypertarget{classKatabatic_1_1AutoContact_a2b1a75d102c6f88eaa432064efd04e27}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Position@{get\-Position}}
\index{get\-Position@{get\-Position}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Point} get\-Position (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a2b1a75d102c6f88eaa432064efd04e27}
{\itshape Base class method proxy.} 

References Component\-::get\-Position().

\hypertarget{classKatabatic_1_1AutoContact_aa018d3e74791b77d2def527248b9b00a}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Width@{get\-Width}}
\index{get\-Width@{get\-Width}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Width}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Width (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_aa018d3e74791b77d2def527248b9b00a}
{\itshape Base class method proxy.} 

References Contact\-::get\-Width().

\hypertarget{classKatabatic_1_1AutoContact_af2daf0fed893337f82e93363ae17bf14}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Half\-Width@{get\-Half\-Width}}
\index{get\-Half\-Width@{get\-Half\-Width}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Half\-Width}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Half\-Width (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_af2daf0fed893337f82e93363ae17bf14}
{\itshape Base class method proxy.} 

References Contact\-::get\-Half\-Width().

\hypertarget{classKatabatic_1_1AutoContact_ae66967177ea58702fc89e9563f73bfb4}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Height@{get\-Height}}
\index{get\-Height@{get\-Height}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Height}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Height (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ae66967177ea58702fc89e9563f73bfb4}
{\itshape Base class method proxy.} 

References Contact\-::get\-Height().

\hypertarget{classKatabatic_1_1AutoContact_a68048c464a03e8bbc9ae9ec74b037561}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Half\-Height@{get\-Half\-Height}}
\index{get\-Half\-Height@{get\-Half\-Height}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Half\-Height}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Half\-Height (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a68048c464a03e8bbc9ae9ec74b037561}
{\itshape Base class method proxy.} 

References Contact\-::get\-Half\-Height().

\hypertarget{classKatabatic_1_1AutoContact_a5e6d3b7991ce74215e3e0a0ae6c07645}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Slave\-Components@{get\-Slave\-Components}}
\index{get\-Slave\-Components@{get\-Slave\-Components}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Slave\-Components}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Components} get\-Slave\-Components (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a5e6d3b7991ce74215e3e0a0ae6c07645}
{\itshape Base class method proxy.} 

References Component\-::get\-Slave\-Components().

\hypertarget{classKatabatic_1_1AutoContact_aad4271c35e0162c8a4d034dca07f5a4b}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Layer@{set\-Layer}}
\index{set\-Layer@{set\-Layer}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Layer}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Layer (
\begin{DoxyParamCaption}
\item[{const {\bf Layer} $\ast$}]{layer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_aad4271c35e0162c8a4d034dca07f5a4b}
{\itshape Base class method proxy.} 

References Contact\-::set\-Layer().



Referenced by Auto\-Segment\-::reduce\-Dogleg\-Layer(), Auto\-Contact\-V\-Tee\-::update\-Topology(), Auto\-Contact\-Turn\-::update\-Topology(), Auto\-Contact\-H\-Tee\-::update\-Topology(), and Auto\-Contact\-Terminal\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_a9a0ec0a0ac85f23cfad6c069ea8dade7}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Width@{set\-Width}}
\index{set\-Width@{set\-Width}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Width}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Width (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{w}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a9a0ec0a0ac85f23cfad6c069ea8dade7}
{\itshape Base class method proxy.} 

References Contact\-::set\-Width().

\hypertarget{classKatabatic_1_1AutoContact_a106f372cee0916ebb6544627e47bb58d}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Height@{set\-Height}}
\index{set\-Height@{set\-Height}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Height}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Height (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{h}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a106f372cee0916ebb6544627e47bb58d}
{\itshape Base class method proxy.} 

References Contact\-::set\-Height().

\hypertarget{classKatabatic_1_1AutoContact_a0284fcec9bd41b26648e7bef3d4f1952}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Sizes@{set\-Sizes}}
\index{set\-Sizes@{set\-Sizes}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Sizes}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Sizes (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{w, }
\item[{{\bf Db\-U\-::\-Unit}}]{h}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a0284fcec9bd41b26648e7bef3d4f1952}
{\itshape Base class method proxy.} 

References Contact\-::set\-Sizes().

\hypertarget{classKatabatic_1_1AutoContact_a154f993d0262c92bfc0dc95154faf794}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-X@{set\-X}}
\index{set\-X@{set\-X}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-X}]{\setlength{\rightskip}{0pt plus 5cm}void set\-X (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{x}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a154f993d0262c92bfc0dc95154faf794}
{\itshape Base class method proxy.} 

References Contact\-::set\-X().



Referenced by Auto\-Vertical\-::\-\_\-post\-Create(), Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), Auto\-Contact\-H\-Tee\-::update\-Geometry(), and Auto\-Contact\-Terminal\-::update\-Geometry().

\hypertarget{classKatabatic_1_1AutoContact_ac862ce450a533f0544d2168b132ba165}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Y@{set\-Y}}
\index{set\-Y@{set\-Y}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Y}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Y (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{y}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ac862ce450a533f0544d2168b132ba165}
{\itshape Base class method proxy.} 

References Contact\-::set\-Y().



Referenced by Auto\-Horizontal\-::\-\_\-post\-Create(), Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), Auto\-Contact\-H\-Tee\-::update\-Geometry(), and Auto\-Contact\-Terminal\-::update\-Geometry().

\hypertarget{classKatabatic_1_1AutoContact_a12d3bfdce07580db21b17cf87f912cc3}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Position@{set\-Position}}
\index{set\-Position@{set\-Position}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Position}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Position (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{w, }
\item[{{\bf Db\-U\-::\-Unit}}]{h}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a12d3bfdce07580db21b17cf87f912cc3}
{\itshape Base class method proxy.} 

References Contact\-::set\-Position().

\hypertarget{classKatabatic_1_1AutoContact_a52707afec84391e898e01c75b2713d32}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Position@{set\-Position}}
\index{set\-Position@{set\-Position}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Position}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Position (
\begin{DoxyParamCaption}
\item[{const {\bf Point} \&}]{p}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a52707afec84391e898e01c75b2713d32}
{\itshape Base class method proxy.} 

References Contact\-::set\-Position().

\hypertarget{classKatabatic_1_1AutoContact_a2c83ac6a03bbac090a8ab120d62c6e44}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Dx@{set\-Dx}}
\index{set\-Dx@{set\-Dx}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Dx}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Dx (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{dx}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a2c83ac6a03bbac090a8ab120d62c6e44}
{\itshape Base class method proxy.} 

References Contact\-::set\-Dx().

\hypertarget{classKatabatic_1_1AutoContact_a123478e15e2544598851d0e907212841}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Dy@{set\-Dy}}
\index{set\-Dy@{set\-Dy}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Dy}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Dy (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{dy}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a123478e15e2544598851d0e907212841}
{\itshape Base class method proxy.} 

References Contact\-::set\-Dy().

\hypertarget{classKatabatic_1_1AutoContact_a9881d5e969669b641c5de4f4d94e5d15}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Offset@{set\-Offset}}
\index{set\-Offset@{set\-Offset}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Offset}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Offset (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{w, }
\item[{{\bf Db\-U\-::\-Unit}}]{h}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a9881d5e969669b641c5de4f4d94e5d15}
{\itshape Base class method proxy.} 

References Contact\-::set\-Offset().

\hypertarget{classKatabatic_1_1AutoContact_a9161f1e2832e5e141a13863223322aa5}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!translate@{translate}}
\index{translate@{translate}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{translate}]{\setlength{\rightskip}{0pt plus 5cm}void translate (
\begin{DoxyParamCaption}
\item[{const {\bf Db\-U\-::\-Unit} \&}]{dx, }
\item[{const {\bf Db\-U\-::\-Unit} \&}]{dy}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKatabatic_1_1AutoContact_a9161f1e2832e5e141a13863223322aa5}
{\itshape Base class method proxy.} \hypertarget{classKatabatic_1_1AutoContact_a8a8f27ca267d07ae56abff162a3b3ae0}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-In\-Creation\-Stage@{is\-In\-Creation\-Stage}}
\index{is\-In\-Creation\-Stage@{is\-In\-Creation\-Stage}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-In\-Creation\-Stage}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-In\-Creation\-Stage (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a8a8f27ca267d07ae56abff162a3b3ae0}
{\bfseries Returns\-:} {\bfseries true} if the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} is still in it's initial creation stage. 

References Katabatic\-::\-Cnt\-In\-Creation\-Stage.

\hypertarget{classKatabatic_1_1AutoContact_a54f713d06c43bebf4e0dfef06e347531}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-Invalidated@{is\-Invalidated}}
\index{is\-Invalidated@{is\-Invalidated}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-Invalidated}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Invalidated (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a54f713d06c43bebf4e0dfef06e347531}
{\bfseries Returns\-:} {\bfseries true} if the some \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} has changed and the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} needs to be repositionned (through a call to \hyperlink{classKatabatic_1_1AutoContact_af6a2454547eeb7f5a519970dcb467e90}{Auto\-Contact\-::update\-Geometry()}). 

References Katabatic\-::\-Cnt\-Invalidated.

\hypertarget{classKatabatic_1_1AutoContact_af715dc65deddf045ec1743a529393224}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-Invalidated\-Cache@{is\-Invalidated\-Cache}}
\index{is\-Invalidated\-Cache@{is\-Invalidated\-Cache}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-Invalidated\-Cache}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Invalidated\-Cache (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_af715dc65deddf045ec1743a529393224}
{\bfseries Returns\-:} {\bfseries true} if the some \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} has changed and the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} topology needs to be restored, as a gap may have appeared (through a call to Auto\-Segment\-::update\-Topology()). 

References Katabatic\-::\-Cnt\-Invalidated\-Cache.



Referenced by Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), Auto\-Contact\-H\-Tee\-::update\-Geometry(), Auto\-Contact\-Terminal\-::update\-Geometry(), Auto\-Contact\-V\-Tee\-::update\-Topology(), Auto\-Contact\-Turn\-::update\-Topology(), Auto\-Contact\-H\-Tee\-::update\-Topology(), and Auto\-Contact\-Terminal\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_aa7c7bc6592b91fe675acb9b793b1188e}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-Turn@{is\-Turn}}
\index{is\-Turn@{is\-Turn}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-Turn}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Turn (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_aa7c7bc6592b91fe675acb9b793b1188e}
{\bfseries Returns\-:} {\bfseries true} if the dynamic type of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} is of type Turn. 

References Katabatic\-::\-Cnt\-Turn.



Referenced by Auto\-Segment\-::can\-Reduce(), and Auto\-Segment\-::revalidate().

\hypertarget{classKatabatic_1_1AutoContact_a8fd7a3439896837a5af19d408162ca62}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-Tee@{is\-Tee}}
\index{is\-Tee@{is\-Tee}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-Tee}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Tee (
\begin{DoxyParamCaption}
\item[{unsigned int}]{direction}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_a8fd7a3439896837a5af19d408162ca62}
{\bfseries Returns\-:} {\bfseries true} if the dynamic type of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} is either of type \hyperlink{classKatabatic_1_1AutoContactHTee}{Auto\-Contact\-H\-Tee} or \hyperlink{classKatabatic_1_1AutoContactVTee}{Auto\-Contact\-V\-Tee}, according to {\ttfamily direction}. 

References Katabatic\-::\-Kb\-Vertical.

\hypertarget{classKatabatic_1_1AutoContact_ac2131e4356f7d7c6e4ada597307f1d95}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-H\-Tee@{is\-H\-Tee}}
\index{is\-H\-Tee@{is\-H\-Tee}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-H\-Tee}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-H\-Tee (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ac2131e4356f7d7c6e4ada597307f1d95}
{\bfseries Returns\-:} {\bfseries true} if the dynamic type of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} is of type \hyperlink{classKatabatic_1_1AutoContactHTee}{Auto\-Contact\-H\-Tee}. 

References Katabatic\-::\-Cnt\-H\-Tee.

\hypertarget{classKatabatic_1_1AutoContact_a938932aae592e22efdc9b275ad5a4094}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-V\-Tee@{is\-V\-Tee}}
\index{is\-V\-Tee@{is\-V\-Tee}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-V\-Tee}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-V\-Tee (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a938932aae592e22efdc9b275ad5a4094}
{\bfseries Returns\-:} {\bfseries true} if the dynamic type of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} is of type \hyperlink{classKatabatic_1_1AutoContactHTee}{Auto\-Contact\-H\-Tee}. 

References Katabatic\-::\-Cnt\-V\-Tee.

\hypertarget{classKatabatic_1_1AutoContact_af5e7d3badddf2ec07159f1d83426d4c1}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!is\-Fixed@{is\-Fixed}}
\index{is\-Fixed@{is\-Fixed}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{is\-Fixed}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Fixed (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_af5e7d3badddf2ec07159f1d83426d4c1}
{\bfseries Returns\-:} {\bfseries true} if the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} cannot be moved. 

References Katabatic\-::\-Cnt\-Fixed.



Referenced by Auto\-Segment\-::create(), Auto\-Contact\-::get\-C\-B\-X\-Max(), Auto\-Contact\-::get\-C\-B\-X\-Min(), Auto\-Contact\-::get\-C\-B\-Y\-Max(), and Auto\-Contact\-::get\-C\-B\-Y\-Min().

\hypertarget{classKatabatic_1_1AutoContact_a1aebd841bb4796ac0f4264d6a694d6fa}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!has\-Bad\-Topology@{has\-Bad\-Topology}}
\index{has\-Bad\-Topology@{has\-Bad\-Topology}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{has\-Bad\-Topology}]{\setlength{\rightskip}{0pt plus 5cm}bool has\-Bad\-Topology (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a1aebd841bb4796ac0f4264d6a694d6fa}
{\bfseries Returns\-:} {\bfseries true} if the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} topology has been broken and a gap has appeared. (sould not happen...) 

References Katabatic\-::\-Cnt\-Bad\-Topology.



Referenced by Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), Auto\-Contact\-H\-Tee\-::update\-Geometry(), Auto\-Contact\-Terminal\-::update\-Geometry(), Auto\-Contact\-V\-Tee\-::update\-Topology(), Auto\-Contact\-Turn\-::update\-Topology(), and Auto\-Contact\-H\-Tee\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_aa1d158503e0663092922e38651b8c9f5}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!can\-Destroy@{can\-Destroy}}
\index{can\-Destroy@{can\-Destroy}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{can\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Destroy (
\begin{DoxyParamCaption}
\item[{unsigned int}]{flags = {\ttfamily 0}}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_aa1d158503e0663092922e38651b8c9f5}
{\bfseries Returns\-:} {\bfseries true} if the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} could be destroyed, that is, no segments remains anchored on it. If {\ttfamily flags} contains \hyperlink{namespaceKatabatic_a2af2ad6b6441614038caf59d04b3b217aa5153b2cc25ebccca8616ce20ecd727a}{Katabatic\-::\-Kb\-Warn\-On\-Error}, issue an error message. 

References Katabatic\-::\-Kb\-Warn\-On\-Error.

\hypertarget{classKatabatic_1_1AutoContact_a3b30ff8ac1916f6cf9f9be735a3d9c3a}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!can\-Move\-Up@{can\-Move\-Up}}
\index{can\-Move\-Up@{can\-Move\-Up}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{can\-Move\-Up}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Move\-Up (
\begin{DoxyParamCaption}
\item[{const {\bf Auto\-Segment} $\ast$}]{moved}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_a3b30ff8ac1916f6cf9f9be735a3d9c3a}
{\bfseries Returns\-:} {\bfseries true} if {\ttfamily segment} can be moved up without triggering a topological modification. It meaans that\-:
\begin{DoxyItemize}
\item Without {\ttfamily moved}, the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} needs only one layer.
\item {\ttfamily moved} go from {\itshape below} the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} to {\itshape above}. 
\end{DoxyItemize}

References Component\-::get\-Layer(), Auto\-Segment\-::get\-Layer(), and Routing\-Gauge\-::get\-Layer\-Depth().

\hypertarget{classKatabatic_1_1AutoContact_a7f6571edacd5e4120cc9b87abd23082a}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!base@{base}}
\index{base@{base}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{base}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Contact} $\ast$ base (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a7f6571edacd5e4120cc9b87abd23082a}
{\bfseries Returns\-:} The {\bf Hurricane\-::\-Contact} which is decorated. 

Referenced by Auto\-Vertical\-::\-\_\-make\-Dogleg(), Auto\-Segment\-::create(), Auto\-Segment\-::get\-Opposite\-Anchor(), G\-Cell\-::remove\-Contact(), Auto\-Contact\-V\-Tee\-::update\-Geometry(), Auto\-Contact\-Turn\-::update\-Geometry(), Auto\-Contact\-H\-Tee\-::update\-Geometry(), and Auto\-Contact\-Terminal\-::update\-Geometry().

\hypertarget{classKatabatic_1_1AutoContact_a91c8bc1a6bdb1b15c3c084ebfd38af47}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Allocateds@{get\-Allocateds}}
\index{get\-Allocateds@{get\-Allocateds}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Allocateds}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t get\-Allocateds (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKatabatic_1_1AutoContact_a91c8bc1a6bdb1b15c3c084ebfd38af47}
{\bfseries Returns\-:} The total number of \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} currently allocateds. \hypertarget{classKatabatic_1_1AutoContact_a00e56270cfb31f56e52e31afbc33ba71}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Static\-Name@{get\-Static\-Name}}
\index{get\-Static\-Name@{get\-Static\-Name}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Static\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Name} \& get\-Static\-Name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKatabatic_1_1AutoContact_a00e56270cfb31f56e52e31afbc33ba71}
{\bfseries Returns\-:} The name of the Hurricane\-::\-Extension\-Go slice. \hypertarget{classKatabatic_1_1AutoContact_a5e23c46b801d3049b349b68774a0d298}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Name@{get\-Name}}
\index{get\-Name@{get\-Name}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Name} \& get\-Name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKatabatic_1_1AutoContact_a5e23c46b801d3049b349b68774a0d298}
{\bfseries Returns\-:} The name of the Hurricane\-::\-Extension\-Go slice. \hypertarget{classKatabatic_1_1AutoContact_ac0015de06fff235f96ec1cf68444f7a4}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Id@{get\-Id}}
\index{get\-Id@{get\-Id}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Id}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Name} \& get\-Id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ac0015de06fff235f96ec1cf68444f7a4}
{\bfseries Returns\-:} The unique {\ttfamily identifer} of the \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment}. \hypertarget{classKatabatic_1_1AutoContact_a3b9694bf093e3ea16e4a8c8126a8d4db}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Bounding\-Box@{get\-Bounding\-Box}}
\index{get\-Bounding\-Box@{get\-Bounding\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Bounding\-Box}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Box} get\-Bounding\-Box (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKatabatic_1_1AutoContact_a3b9694bf093e3ea16e4a8c8126a8d4db}
\begin{DoxySeeAlso}{See Also}
{\bf Contact\-::get\-Bounding\-Box()}. 
\end{DoxySeeAlso}
\hypertarget{classKatabatic_1_1AutoContact_ab45ccfee0f781ec16c50672663d36141}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-G\-Cell@{get\-G\-Cell}}
\index{get\-G\-Cell@{get\-G\-Cell}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-G\-Cell}]{\setlength{\rightskip}{0pt plus 5cm}{\bf G\-Cell} $\ast$ get\-G\-Cell (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_ab45ccfee0f781ec16c50672663d36141}
{\bfseries Returns\-:} The \hyperlink{classKatabatic_1_1GCell}{G\-Cell} into which the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} is located. 

Referenced by Auto\-Horizontal\-::\-\_\-can\-Slacken(), Auto\-Vertical\-::\-\_\-can\-Slacken(), Auto\-Horizontal\-::\-\_\-make\-Dogleg(), Auto\-Vertical\-::\-\_\-make\-Dogleg(), Auto\-Horizontal\-::\-\_\-post\-Create(), Auto\-Vertical\-::\-\_\-post\-Create(), Auto\-Horizontal\-::\-\_\-pre\-Destroy(), Auto\-Vertical\-::\-\_\-pre\-Destroy(), Auto\-Segment\-::\-Auto\-Segment(), Auto\-Horizontal\-::can\-Move\-U\-Left(), Auto\-Vertical\-::can\-Move\-U\-Left(), Auto\-Horizontal\-::can\-Move\-U\-Right(), Auto\-Vertical\-::can\-Move\-U\-Right(), Auto\-Horizontal\-::get\-G\-Cells(), Auto\-Vertical\-::get\-G\-Cells(), Auto\-Segment\-::make\-Dogleg(), Auto\-Horizontal\-::move\-U\-Left(), Auto\-Vertical\-::move\-U\-Left(), Auto\-Horizontal\-::move\-U\-Right(), Auto\-Vertical\-::move\-U\-Right(), and Auto\-Segment\-::to\-Constraint\-Axis().

\hypertarget{classKatabatic_1_1AutoContact_a48ab1d3bdf85712e4784ef83ef136939}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Opposite@{get\-Opposite}}
\index{get\-Opposite@{get\-Opposite}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Opposite}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Auto\-Segment} $\ast$ get\-Opposite (
\begin{DoxyParamCaption}
\item[{const {\bf Auto\-Segment} $\ast$}]{reference}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKatabatic_1_1AutoContact_a48ab1d3bdf85712e4784ef83ef136939}
{\bfseries Returns\-:} The other \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} the {\itshape same} direction as {\ttfamily reference}, this is only meaningful on \hyperlink{classKatabatic_1_1AutoContactHTee}{Auto\-Contact\-H\-Tee} or \hyperlink{classKatabatic_1_1AutoContactVTee}{Auto\-Contact\-V\-Tee}. If there is no opposite, {\ttfamily N\-U\-L\-L} is returned. 

Implemented in \hyperlink{classKatabatic_1_1AutoContactTerminal_aaf175a76573a5e3505b24fb2a8b0414f}{Auto\-Contact\-Terminal}, \hyperlink{classKatabatic_1_1AutoContactHTee_aaf175a76573a5e3505b24fb2a8b0414f}{Auto\-Contact\-H\-Tee}, \hyperlink{classKatabatic_1_1AutoContactTurn_aaf175a76573a5e3505b24fb2a8b0414f}{Auto\-Contact\-Turn}, and \hyperlink{classKatabatic_1_1AutoContactVTee_aaf175a76573a5e3505b24fb2a8b0414f}{Auto\-Contact\-V\-Tee}.

\hypertarget{classKatabatic_1_1AutoContact_a994371005874f946cc0ac78005d38423}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Perpandicular@{get\-Perpandicular}}
\index{get\-Perpandicular@{get\-Perpandicular}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Perpandicular}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Auto\-Segment} $\ast$ get\-Perpandicular (
\begin{DoxyParamCaption}
\item[{const {\bf Auto\-Segment} $\ast$}]{reference}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKatabatic_1_1AutoContact_a994371005874f946cc0ac78005d38423}
{\bfseries Returns\-:} The \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} in the {\itshape perpandicular} direction to {\ttfamily reference}, this is only meaningful on Auto\-Contac\-Turn. It there is no unique perpandicular, {\ttfamily N\-U\-L\-L} is returned. 

Implemented in \hyperlink{classKatabatic_1_1AutoContactTerminal_a68e80545d3d25400be8f08d059ba21f5}{Auto\-Contact\-Terminal}, \hyperlink{classKatabatic_1_1AutoContactHTee_a68e80545d3d25400be8f08d059ba21f5}{Auto\-Contact\-H\-Tee}, \hyperlink{classKatabatic_1_1AutoContactTurn_a68e80545d3d25400be8f08d059ba21f5}{Auto\-Contact\-Turn}, and \hyperlink{classKatabatic_1_1AutoContactVTee_a68e80545d3d25400be8f08d059ba21f5}{Auto\-Contact\-V\-Tee}.



Referenced by Auto\-Segment\-::raise(), Auto\-Segment\-::reduce(), and Auto\-Segment\-::revalidate().

\hypertarget{classKatabatic_1_1AutoContact_a50531ded68cc5206fe104b8d8bf3bd87}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Segment@{get\-Segment}}
\index{get\-Segment@{get\-Segment}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Segment}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Auto\-Segment} $\ast$ get\-Segment (
\begin{DoxyParamCaption}
\item[{unsigned int}]{index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKatabatic_1_1AutoContact_a50531ded68cc5206fe104b8d8bf3bd87}
{\bfseries Returns\-:} The nth anchored \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment}. The index is significant\-:
\begin{DoxyItemize}
\item {\bfseries 0} \-: first horizontal ({\bfseries h1}).
\item {\bfseries 1} \-: second horizontal ({\bfseries h2}).
\item {\bfseries 2} \-: first vertical ({\bfseries b1}).
\item {\bfseries 3} \-: second vertical ({\bfseries b2}).
\end{DoxyItemize}

Not all the indexes are filled for every \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}. For example {\ttfamily Turn} have {\bfseries h1} and {\bfseries b1}, and {\ttfamily H\-Tee} have {\bfseries h1}, {\bfseries h2} and {\bfseries v1}. 

Implemented in \hyperlink{classKatabatic_1_1AutoContactTerminal_a2f7d64767002f3bf2bbdf2f8f0e80105}{Auto\-Contact\-Terminal}, \hyperlink{classKatabatic_1_1AutoContactHTee_a2f7d64767002f3bf2bbdf2f8f0e80105}{Auto\-Contact\-H\-Tee}, \hyperlink{classKatabatic_1_1AutoContactTurn_a2f7d64767002f3bf2bbdf2f8f0e80105}{Auto\-Contact\-Turn}, and \hyperlink{classKatabatic_1_1AutoContactVTee_a2f7d64767002f3bf2bbdf2f8f0e80105}{Auto\-Contact\-V\-Tee}.



Referenced by Auto\-Horizontal\-::can\-Move\-U\-Left(), Auto\-Vertical\-::can\-Move\-U\-Left(), Auto\-Horizontal\-::can\-Move\-U\-Right(), Auto\-Vertical\-::can\-Move\-U\-Right(), Locator\-Helper\-::get\-Segment(), Locator\-Helper\-::\-Locator\-Helper(), Auto\-Horizontal\-::move\-U\-Left(), Auto\-Vertical\-::move\-U\-Left(), Auto\-Horizontal\-::move\-U\-Right(), Auto\-Vertical\-::move\-U\-Right(), and Locator\-Helper\-::progress().

\hypertarget{classKatabatic_1_1AutoContact_a5b16a639914ac05e0cb7032f918278b0}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Min\-Depth@{get\-Min\-Depth}}
\index{get\-Min\-Depth@{get\-Min\-Depth}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Min\-Depth}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Min\-Depth (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_a5b16a639914ac05e0cb7032f918278b0}
{\bfseries Returns\-:} The layer depth of the bottom layer of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}. 

References Component\-::get\-Layer().



Referenced by Auto\-Segment\-::can\-Pivot\-Up().

\hypertarget{classKatabatic_1_1AutoContact_a625d8d6b12c514f8cf1bc217cc20d743}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Max\-Depth@{get\-Max\-Depth}}
\index{get\-Max\-Depth@{get\-Max\-Depth}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Max\-Depth}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Max\-Depth (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_a625d8d6b12c514f8cf1bc217cc20d743}
{\bfseries Returns\-:} The layer depth of the top layer of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}. 

References Component\-::get\-Layer().



Referenced by Auto\-Segment\-::can\-Pivot\-Down().

\hypertarget{classKatabatic_1_1AutoContact_ac607a624c0698056c5bccf405cf05ea7}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Lengths@{get\-Lengths}}
\index{get\-Lengths@{get\-Lengths}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Lengths}]{\setlength{\rightskip}{0pt plus 5cm}void get\-Lengths (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit} $\ast$}]{lengths, }
\item[{Auto\-Segment\-::\-Depth\-Length\-Set \&}]{processeds}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_ac607a624c0698056c5bccf405cf05ea7}

\begin{DoxyParams}{Parameters}
{\em lengths} & A table of {\bf Db\-U\-::\-Unit}, the size of all routing layers used. \\
\hline
{\em processeds} & An \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} sorted set holding all the already processeds Auto\-Segments.\\
\hline
\end{DoxyParams}
Compute the lengths over the owning \hyperlink{classKatabatic_1_1GCell}{G\-Cell} of all the Auto\-Segments anchored on this \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}. The lengths are added to the total length table {\ttfamily lengths}. To avoid double accounting of the local Auto\-Segments that have both source \& target in the same \hyperlink{classKatabatic_1_1GCell}{G\-Cell}, we keep a set of already processeds Auto\-Segments in {\ttfamily processeds}. 

References Katabatic\-::\-Kb\-Horizontal, Katabatic\-::\-Kb\-Vertical, and to\-Lambda().

\hypertarget{classKatabatic_1_1AutoContact_a762d33db26927e6db939a7420bb95743}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Native\-Constraint\-Box@{get\-Native\-Constraint\-Box}}
\index{get\-Native\-Constraint\-Box@{get\-Native\-Constraint\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Native\-Constraint\-Box}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Box} get\-Native\-Constraint\-Box (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKatabatic_1_1AutoContact_a762d33db26927e6db939a7420bb95743}
{\bfseries Returns\-:} The native constraint box (that is, whithout any user constraints applied). For \hyperlink{classKatabatic_1_1AutoContactTerminal}{Auto\-Contact\-Terminal}, this is the Box of the supporting external component, and for all others the bounding box of the owning \hyperlink{classKatabatic_1_1GCell}{G\-Cell}. 

Reimplemented in \hyperlink{classKatabatic_1_1AutoContactTerminal_a762d33db26927e6db939a7420bb95743}{Auto\-Contact\-Terminal}.

\hypertarget{classKatabatic_1_1AutoContact_aaa2758181c73fb81e43550dea6b03041}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-U\-Constraints@{get\-U\-Constraints}}
\index{get\-U\-Constraints@{get\-U\-Constraints}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-U\-Constraints}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Interval} get\-U\-Constraints (
\begin{DoxyParamCaption}
\item[{unsigned int}]{direction}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_aaa2758181c73fb81e43550dea6b03041}
{\bfseries Returns\-:} The constraint interval in {\ttfamily direction} (that is, the relevant side of the constraint box). 

References Interval\-::inflate().



Referenced by Auto\-Contact\-Terminal\-::update\-Geometry().

\hypertarget{classKatabatic_1_1AutoContact_a0c391297a64d0ae15c14a6e803b0316e}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-C\-B\-X\-Min@{get\-C\-B\-X\-Min}}
\index{get\-C\-B\-X\-Min@{get\-C\-B\-X\-Min}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-C\-B\-X\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-C\-B\-X\-Min (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a0c391297a64d0ae15c14a6e803b0316e}
{\bfseries Returns\-:} The X coordinate of the bottom left corner of the constraint box. 

References Db\-U\-::from\-Lambda(), Component\-::get\-X(), G\-Cell\-::get\-X(), and Auto\-Contact\-::is\-Fixed().



Referenced by Auto\-Contact\-::get\-Constraint\-Box(), and Auto\-Vertical\-::get\-Constraints().

\hypertarget{classKatabatic_1_1AutoContact_a20ab0da1716ecd002f3abc76285dd5a1}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-C\-B\-X\-Max@{get\-C\-B\-X\-Max}}
\index{get\-C\-B\-X\-Max@{get\-C\-B\-X\-Max}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-C\-B\-X\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-C\-B\-X\-Max (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a20ab0da1716ecd002f3abc76285dd5a1}
{\bfseries Returns\-:} The X coordinate of the top right corner of the constraint box. 

References Db\-U\-::from\-Lambda(), Component\-::get\-X(), G\-Cell\-::get\-X(), and Auto\-Contact\-::is\-Fixed().



Referenced by Auto\-Contact\-::get\-Constraint\-Box(), and Auto\-Vertical\-::get\-Constraints().

\hypertarget{classKatabatic_1_1AutoContact_acd040eea296d73195a2065819ba02ebc}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-C\-B\-Y\-Min@{get\-C\-B\-Y\-Min}}
\index{get\-C\-B\-Y\-Min@{get\-C\-B\-Y\-Min}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-C\-B\-Y\-Min}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-C\-B\-Y\-Min (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_acd040eea296d73195a2065819ba02ebc}
{\bfseries Returns\-:} The Y coordinate of the bottom left corner of the constraint box. 

References Db\-U\-::from\-Lambda(), Component\-::get\-Y(), G\-Cell\-::get\-Y(), and Auto\-Contact\-::is\-Fixed().



Referenced by Auto\-Contact\-::get\-Constraint\-Box(), and Auto\-Horizontal\-::get\-Constraints().

\hypertarget{classKatabatic_1_1AutoContact_a25bae06d071e2e19696d3e950956d785}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-C\-B\-Y\-Max@{get\-C\-B\-Y\-Max}}
\index{get\-C\-B\-Y\-Max@{get\-C\-B\-Y\-Max}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-C\-B\-Y\-Max}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-C\-B\-Y\-Max (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a25bae06d071e2e19696d3e950956d785}
{\bfseries Returns\-:} The Y coordinate of the top right corner of the constraint box. 

References Db\-U\-::from\-Lambda(), Component\-::get\-Y(), G\-Cell\-::get\-Y(), and Auto\-Contact\-::is\-Fixed().



Referenced by Auto\-Contact\-::get\-Constraint\-Box(), and Auto\-Horizontal\-::get\-Constraints().

\hypertarget{classKatabatic_1_1AutoContact_a0d59519da5ced04bca8f2849c9f9a890}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!get\-Constraint\-Box@{get\-Constraint\-Box}}
\index{get\-Constraint\-Box@{get\-Constraint\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{get\-Constraint\-Box}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Box} get\-Constraint\-Box (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a0d59519da5ced04bca8f2849c9f9a890}
{\bfseries Returns\-:} The current constraint box\-: the native constraint box with all the user's contraints applieds. 

References Auto\-Contact\-::get\-C\-B\-X\-Max(), Auto\-Contact\-::get\-C\-B\-X\-Min(), Auto\-Contact\-::get\-C\-B\-Y\-Max(), and Auto\-Contact\-::get\-C\-B\-Y\-Min().



Referenced by Auto\-Segment\-::compute\-Optimal(), and Auto\-Contact\-::migrate\-Constraint\-Box().

\hypertarget{classKatabatic_1_1AutoContact_a2b4fffa1c238d8379a3418012e4f60f0}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!intersect\-Constraint\-Box@{intersect\-Constraint\-Box}}
\index{intersect\-Constraint\-Box@{intersect\-Constraint\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{intersect\-Constraint\-Box}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Box} \& intersect\-Constraint\-Box (
\begin{DoxyParamCaption}
\item[{{\bf Box} \&}]{box}
\end{DoxyParamCaption}
) const}}\label{classKatabatic_1_1AutoContact_a2b4fffa1c238d8379a3418012e4f60f0}
{\bfseries Returns\-:} The intersection between {\ttfamily box} and the constraint box. The result is stored into {\ttfamily box} and a reference to it is returned. 

References Box\-::get\-Intersection().

\hypertarget{classKatabatic_1_1AutoContact_aabac50fd9b8e1bba7289573973658d18}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!invalidate@{invalidate}}
\index{invalidate@{invalidate}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{invalidate}]{\setlength{\rightskip}{0pt plus 5cm}void invalidate (
\begin{DoxyParamCaption}
\item[{unsigned int}]{flags = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_aabac50fd9b8e1bba7289573973658d18}
Invalidate the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}, schedule it for revalidation in the \hyperlink{classKatabatic_1_1Session}{Session}. If flag containt Katabatic\-::\-Cnt\-Invalid\-Topology, the topology of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} will also be checked and possible gap closeds.

The revalidations methods associated are\-:
\begin{DoxyItemize}
\item Auto\-Segment\-::update\-Geometry(), recompute the punctual contact position.
\item Auto\-Segment\-::update\-Topology(), restore the connexity. 
\end{DoxyItemize}

References Katabatic\-::\-Cnt\-Invalidated, and Katabatic\-::\-Cnt\-Invalidated\-Cache.



Referenced by Auto\-Horizontal\-::\-\_\-make\-Dogleg(), Auto\-Vertical\-::\-\_\-make\-Dogleg(), and Auto\-Segment\-::\-Auto\-Segment().

\hypertarget{classKatabatic_1_1AutoContact_af6a2454547eeb7f5a519970dcb467e90}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!update\-Geometry@{update\-Geometry}}
\index{update\-Geometry@{update\-Geometry}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{update\-Geometry}]{\setlength{\rightskip}{0pt plus 5cm}void update\-Geometry (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKatabatic_1_1AutoContact_af6a2454547eeb7f5a519970dcb467e90}
Compute the new position of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} based on the \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} positions. The \hyperlink{classKatabatic_1_1Session}{Session} mechanism ensure that all \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment} are set into their final positions before calling this updator. 

Implemented in \hyperlink{classKatabatic_1_1AutoContactTerminal_a3e218f6934c51380fb15d0e2bd380071}{Auto\-Contact\-Terminal}, \hyperlink{classKatabatic_1_1AutoContactHTee_a3e218f6934c51380fb15d0e2bd380071}{Auto\-Contact\-H\-Tee}, \hyperlink{classKatabatic_1_1AutoContactTurn_a3e218f6934c51380fb15d0e2bd380071}{Auto\-Contact\-Turn}, and \hyperlink{classKatabatic_1_1AutoContactVTee_a3e218f6934c51380fb15d0e2bd380071}{Auto\-Contact\-V\-Tee}.

\hypertarget{classKatabatic_1_1AutoContact_a690764ddc997fe9766a79c4b8e0c3e2f}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!update\-Topology@{update\-Topology}}
\index{update\-Topology@{update\-Topology}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{update\-Topology}]{\setlength{\rightskip}{0pt plus 5cm}void update\-Topology (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKatabatic_1_1AutoContact_a690764ddc997fe9766a79c4b8e0c3e2f}
Modificate the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} topology to close any gap. This could be by changing layer or creating a new dogleg on an incident \hyperlink{classKatabatic_1_1AutoSegment}{Auto\-Segment}. 

Implemented in \hyperlink{classKatabatic_1_1AutoContactTerminal_af5bf1f5e71204ef84346e4e036175431}{Auto\-Contact\-Terminal}, \hyperlink{classKatabatic_1_1AutoContactHTee_af5bf1f5e71204ef84346e4e036175431}{Auto\-Contact\-H\-Tee}, \hyperlink{classKatabatic_1_1AutoContactTurn_af5bf1f5e71204ef84346e4e036175431}{Auto\-Contact\-Turn}, and \hyperlink{classKatabatic_1_1AutoContactVTee_af5bf1f5e71204ef84346e4e036175431}{Auto\-Contact\-V\-Tee}.

\hypertarget{classKatabatic_1_1AutoContact_a66f92d8233776fb858075f78af451997}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!show\-Topology\-Error@{show\-Topology\-Error}}
\index{show\-Topology\-Error@{show\-Topology\-Error}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{show\-Topology\-Error}]{\setlength{\rightskip}{0pt plus 5cm}void show\-Topology\-Error (
\begin{DoxyParamCaption}
\item[{const std\-::string \&}]{message, }
\item[{unsigned int}]{flags = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_a66f92d8233776fb858075f78af451997}
Comprensive display of the topology of the \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact} to ease the debug work. Prepend with the error message {\ttfamily message}. Do no throw an error. 

References Auto\-Segment\-::is\-Global().



Referenced by Auto\-Contact\-Terminal\-::update\-Geometry(), Auto\-Contact\-V\-Tee\-::update\-Topology(), Auto\-Contact\-Turn\-::update\-Topology(), Auto\-Contact\-H\-Tee\-::update\-Topology(), and Auto\-Contact\-Terminal\-::update\-Topology().

\hypertarget{classKatabatic_1_1AutoContact_ac371cd5b837a8965c11297c197e70a45}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!check\-Topology@{check\-Topology}}
\index{check\-Topology@{check\-Topology}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{check\-Topology}]{\setlength{\rightskip}{0pt plus 5cm}void check\-Topology (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKatabatic_1_1AutoContact_ac371cd5b837a8965c11297c197e70a45}
Check for topology correctness (no gaps), display an error message if needed. \hypertarget{classKatabatic_1_1AutoContact_aa1a02e206437f1371a74cafc724b00d7}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-G\-Cell@{set\-G\-Cell}}
\index{set\-G\-Cell@{set\-G\-Cell}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-G\-Cell}]{\setlength{\rightskip}{0pt plus 5cm}void set\-G\-Cell (
\begin{DoxyParamCaption}
\item[{{\bf G\-Cell} $\ast$}]{gcell}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_aa1a02e206437f1371a74cafc724b00d7}
Set the owning \hyperlink{classKatabatic_1_1GCell}{G\-Cell}. 

References G\-Cell\-::add\-Contact(), and to\-Lambda().



Referenced by Auto\-Horizontal\-::move\-U\-Left(), Auto\-Vertical\-::move\-U\-Left(), Auto\-Horizontal\-::move\-U\-Right(), and Auto\-Vertical\-::move\-U\-Right().

\hypertarget{classKatabatic_1_1AutoContact_a9fcb986110e79bc0044f7bfe503acc0c}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-C\-B\-X\-Min@{set\-C\-B\-X\-Min}}
\index{set\-C\-B\-X\-Min@{set\-C\-B\-X\-Min}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-C\-B\-X\-Min}]{\setlength{\rightskip}{0pt plus 5cm}void set\-C\-B\-X\-Min (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{x\-Min}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a9fcb986110e79bc0044f7bfe503acc0c}
Set the lower left X coordinate of the constraint box.

\begin{DoxyParagraph}{Remark\-:}
It cannot go outside the \hyperlink{classKatabatic_1_1GCell}{G\-Cell} bounding box. 
\end{DoxyParagraph}


References G\-Cell\-::get\-X().

\hypertarget{classKatabatic_1_1AutoContact_aaa7652f5db46cab9edb066d06ea979f9}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-C\-B\-X\-Max@{set\-C\-B\-X\-Max}}
\index{set\-C\-B\-X\-Max@{set\-C\-B\-X\-Max}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-C\-B\-X\-Max}]{\setlength{\rightskip}{0pt plus 5cm}void set\-C\-B\-X\-Max (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{x\-Max}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_aaa7652f5db46cab9edb066d06ea979f9}
Set the upper right X coordinate of the constraint box.

\begin{DoxyParagraph}{Remark\-:}
It cannot go outside the \hyperlink{classKatabatic_1_1GCell}{G\-Cell} bounding box. 
\end{DoxyParagraph}


References G\-Cell\-::get\-X(), and G\-Cell\-::get\-X\-Max().

\hypertarget{classKatabatic_1_1AutoContact_a5b598929b39ad3ec202405b31ac02b1d}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-C\-B\-Y\-Min@{set\-C\-B\-Y\-Min}}
\index{set\-C\-B\-Y\-Min@{set\-C\-B\-Y\-Min}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-C\-B\-Y\-Min}]{\setlength{\rightskip}{0pt plus 5cm}void set\-C\-B\-Y\-Min (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{y\-Min}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a5b598929b39ad3ec202405b31ac02b1d}
Set the lower left Y coordinate of the constraint box.

\begin{DoxyParagraph}{Remark\-:}
It cannot go outside the \hyperlink{classKatabatic_1_1GCell}{G\-Cell} bounding box. 
\end{DoxyParagraph}


References G\-Cell\-::get\-Y().

\hypertarget{classKatabatic_1_1AutoContact_a1fdb3737d910a966e150a86d885f3c05}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-C\-B\-Y\-Max@{set\-C\-B\-Y\-Max}}
\index{set\-C\-B\-Y\-Max@{set\-C\-B\-Y\-Max}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-C\-B\-Y\-Max}]{\setlength{\rightskip}{0pt plus 5cm}void set\-C\-B\-Y\-Max (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{y\-Max}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1AutoContact_a1fdb3737d910a966e150a86d885f3c05}
Set the upper right Y coordinate of the constraint box.

\begin{DoxyParagraph}{Remark\-:}
It cannot go outside the \hyperlink{classKatabatic_1_1GCell}{G\-Cell} bounding box. 
\end{DoxyParagraph}


References G\-Cell\-::get\-Y(), and G\-Cell\-::get\-Y\-Max().

\hypertarget{classKatabatic_1_1AutoContact_a5e5f791613d0ef8f4cf9e7d8f35dc4c5}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!set\-Constraint\-Box@{set\-Constraint\-Box}}
\index{set\-Constraint\-Box@{set\-Constraint\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{set\-Constraint\-Box}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Constraint\-Box (
\begin{DoxyParamCaption}
\item[{const {\bf Box} \&}]{box}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_a5e5f791613d0ef8f4cf9e7d8f35dc4c5}
Set the constraint box.

\begin{DoxyParagraph}{Remark\-:}
It cannot go outside the \hyperlink{classKatabatic_1_1GCell}{G\-Cell} bounding box. 
\end{DoxyParagraph}


References Box\-::get\-X\-Max(), Box\-::get\-X\-Min(), Box\-::get\-Y\-Max(), and Box\-::get\-Y\-Min().

\hypertarget{classKatabatic_1_1AutoContact_ac893802d1c5518cab86f8341af817abe}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!restrict\-Constraint\-Box@{restrict\-Constraint\-Box}}
\index{restrict\-Constraint\-Box@{restrict\-Constraint\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{restrict\-Constraint\-Box}]{\setlength{\rightskip}{0pt plus 5cm}bool restrict\-Constraint\-Box (
\begin{DoxyParamCaption}
\item[{{\bf Db\-U\-::\-Unit}}]{min, }
\item[{{\bf Db\-U\-::\-Unit}}]{max, }
\item[{unsigned int}]{flags = {\ttfamily {\bf Kb\-Warn\-On\-Error}}}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_ac893802d1c5518cab86f8341af817abe}

\begin{DoxyParams}{Parameters}
{\em min} & The minimum of the restriction interval. \\
\hline
{\em max} & The maximum of the restriction interval. \\
\hline
{\em flags} & Gives the direction of the restriction. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\bfseries true} if the restriction was actually applied.
\end{DoxyReturn}
Restrict the current constraint box but check if the restriction will not lead to an empty interval, in that case, do nothing and return {\bfseries false}. 

References Katabatic\-::\-Kb\-Vertical, Katabatic\-::\-Kb\-Warn\-On\-Error, and to\-Lambda().

\hypertarget{classKatabatic_1_1AutoContact_a7fc4029992d75a62ce718e5e622f8ce9}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!migrate\-Constraint\-Box@{migrate\-Constraint\-Box}}
\index{migrate\-Constraint\-Box@{migrate\-Constraint\-Box}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{migrate\-Constraint\-Box}]{\setlength{\rightskip}{0pt plus 5cm}void migrate\-Constraint\-Box (
\begin{DoxyParamCaption}
\item[{{\bf Auto\-Contact} $\ast$}]{other}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1AutoContact_a7fc4029992d75a62ce718e5e622f8ce9}
Transfer the user constraint box from {\ttfamily other} to the current object {\ttfamily this}. The constraints of {\ttfamily other} are restored to their native values. The two contacts must belong to the same \hyperlink{classKatabatic_1_1GCell}{G\-Cell} for this method to take effect. 

References Auto\-Contact\-::get\-Constraint\-Box().



Referenced by Auto\-Horizontal\-::\-\_\-make\-Dogleg(), and Auto\-Vertical\-::\-\_\-make\-Dogleg().

\hypertarget{classKatabatic_1_1AutoContact_a2294ddd6bd4bda59c3453cc4dbd4f4fa}{\index{Katabatic\-::\-Auto\-Contact@{Katabatic\-::\-Auto\-Contact}!\-\_\-get\-Topology@{\-\_\-get\-Topology}}
\index{\-\_\-get\-Topology@{\-\_\-get\-Topology}!Katabatic::AutoContact@{Katabatic\-::\-Auto\-Contact}}
\subsubsection[{\-\_\-get\-Topology}]{\setlength{\rightskip}{0pt plus 5cm}void \-\_\-get\-Topology (
\begin{DoxyParamCaption}
\item[{{\bf Contact} $\ast$}]{support, }
\item[{{\bf Component} $\ast$\&}]{anchor, }
\item[{{\bf Horizontal} $\ast$$\ast$\&}]{horizontals, }
\item[{{\bf Vertical} $\ast$$\ast$\&}]{verticals, }
\item[{size\-\_\-t}]{size}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}}\label{classKatabatic_1_1AutoContact_a2294ddd6bd4bda59c3453cc4dbd4f4fa}

\begin{DoxyParams}{Parameters}
{\em anchor} & The anchor, if any. \\
\hline
{\em hs} & The {\bf Hurricane\-::\-Horizontal} anchored. \\
\hline
{\em vs} & The {\bf Hurricane\-::\-Vertical} anchored. \\
\hline
{\em sz} & The size of boths {\ttfamily hs} \& {\ttfamily vs} table passed as arguments.\\
\hline
\end{DoxyParams}
Fill {\ttfamily anchor} , {\ttfamily hs} and {\ttfamily vs} with the components anchored on this \hyperlink{classKatabatic_1_1AutoContact}{Auto\-Contact}. 

References Contact\-::get\-Anchor(), and Component\-::get\-Slave\-Components().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Auto\-Contact.\-h\item 
Auto\-Contact.\-cpp\item 
Auto\-Contact.\-dox\end{DoxyCompactItemize}
