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