\hypertarget{classHurricane_1_1RoutingPad}{}\section{Hurricane\+:\+:Routing\+Pad Class Reference}
\label{classHurricane_1_1RoutingPad}\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}


\mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} description ({\bfseries A\+PI})  




Inheritance diagram for Hurricane\+:\+:Routing\+Pad\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=206pt]{classHurricane_1_1RoutingPad__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4}{Flags}} \{ \newline
\mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4add72642d150e901835fa7d66d40e327d}{Biggest\+Area}} = (1 $<$$<$ 0), 
\newline
\mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8f7993760a105713a97abdfb05eee852}{Highest\+Layer}} = (1 $<$$<$ 1), 
\newline
\mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a14c89f0c4ca6f4108b7f2ac30ab885a6}{Lowest\+Layer}} = (1 $<$$<$ 2), 
\newline
\mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4aa2db526191b29a7e094bff309e27ef4c}{Component\+Selection}} = Biggest\+Area$\vert$\+Highest\+Layer$\vert$\+Lowest\+Layer, 
\newline
\mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8fd74358022a29aab828700c8f7347ba}{Show\+Warning}} = (1 $<$$<$ 4)
 \}
\item 
typedef \mbox{\hyperlink{classHurricane_1_1Component}{Component}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a53bed3713fe846a351621d2022bc6b68}{Inherit}}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{classHurricane_1_1RoutingPad_a3e94730dded06e5953087755f0551b73}{is\+Placed\+Occurrence}} (unsigned int flags) const
\item 
\mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a2767550364ef01c772f3270850ec052f}{get\+Occurrence}} () const
\item 
\mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a30190c50577ce47727dec11f5423a85b}{get\+Plug\+Occurrence}} ()
\item 
virtual const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1RoutingPad_a7f1e300e4148556fa223e623738d79d4}{get\+Layer}} () const
\item 
virtual \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a5c9c00c648bd0d24e1a8b0876ab442df}{getX}} () const
\item 
virtual \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_aede4c04a7f893b1e5478b164b6eaae2d}{getY}} () const
\item 
virtual \mbox{\hyperlink{classHurricane_1_1Box}{Box}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a2cc2894b5e1c82b725dedcf1978dc773}{get\+Bounding\+Box}} () const
\item 
virtual \mbox{\hyperlink{classHurricane_1_1Point}{Point}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_ad254b92749146a0eaaa7ed8f33fac4da}{get\+Center}} () const
\item 
\mbox{\hyperlink{classHurricane_1_1Point}{Point}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_acc706fecb615230387a73ed8a7384c8e}{get\+Source\+Position}} () const
\item 
\mbox{\hyperlink{classHurricane_1_1Point}{Point}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a8de215adabb4a3330d02339c38dd6d4b}{get\+Target\+Position}} () const
\item 
\mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_ae80e8f84f5806582905f6695f5cc43df}{get\+SourceX}} () const
\item 
\mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a75983ff3507f4cbf2aaa4e3132eac987}{get\+SourceY}} () const
\item 
\mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a3c0f5056b20515d308c2945ab692bce5}{get\+TargetX}} () const
\item 
\mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \mbox{\hyperlink{classHurricane_1_1RoutingPad_a41a9c831d668377fc0c5e628f66465a0}{get\+TargetY}} () const
\item 
virtual void \mbox{\hyperlink{classHurricane_1_1RoutingPad_a41bf66ffda0c0ceaaebc67acd72d5b36}{translate}} (const \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \&dx, const \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \&dy)
\item 
void \mbox{\hyperlink{classHurricane_1_1RoutingPad_a9f448ad4f05f6995edc4a5ab50501586}{set\+External\+Component}} (\mbox{\hyperlink{classHurricane_1_1Component}{Component}} $\ast$)
\item 
\mbox{\hyperlink{classHurricane_1_1Component}{Component}} $\ast$ \mbox{\hyperlink{classHurricane_1_1RoutingPad_a410992ef75c40f9a898c36f39a7d1a1a}{set\+On\+Best\+Component}} (unsigned int flags)
\item 
void \mbox{\hyperlink{classHurricane_1_1RoutingPad_a1fcb0951f5f9505c6978bf498f78fce9}{restore\+Plug\+Occurrence}} ()
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} $\ast$ \mbox{\hyperlink{classHurricane_1_1RoutingPad_a87c3a286477f81b9c791dc24104a3e51}{create}} (\mbox{\hyperlink{classHurricane_1_1Net}{Net}} $\ast$, \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}}, unsigned int flags=0)
\item 
static \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} $\ast$ \mbox{\hyperlink{classHurricane_1_1RoutingPad_a1883e5711b5700cd7d1024f1cff6abb0}{create}} (\mbox{\hyperlink{classHurricane_1_1Pin}{Pin}} $\ast$)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} description ({\bfseries A\+PI}) 

\hypertarget{classHurricane_1_1RoutingPad_secRoutingPadIntro}{}\subsection{Introduction}\label{classHurricane_1_1RoutingPad_secRoutingPadIntro}
The \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} is a part of the trans-\/hierarchical mechanism. It allows to connect a \mbox{\hyperlink{classHurricane_1_1Net}{Net}} from the top-\/level netlist to a plug in an \mbox{\hyperlink{classHurricane_1_1Instance}{Instance}} at any level inside the hierarchy, through a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}} \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}}. \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} can also be created from \mbox{\hyperlink{classHurricane_1_1Pin}{Pin}} or \mbox{\hyperlink{classHurricane_1_1Contact}{Contact}} Occurrences.

When the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} is created using a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}} \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}}, it can be set afterward to any of master net external \mbox{\hyperlink{classHurricane_1_1Component}{Component}}. A utility method \mbox{\hyperlink{classHurricane_1_1RoutingPad_a410992ef75c40f9a898c36f39a7d1a1a}{Routing\+Pad\+::set\+On\+Best\+Component()}} is also provided to automatically set the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} on a \mbox{\hyperlink{classHurricane_1_1Component}{Component}} matching criteria of surface or layer level.

The position of the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} is fixed relatively from the instances in it\textquotesingle{}s occurrence path and the entity it refers. The reference point used on the entity is it\textquotesingle{}s center whether it is a segment, a pin or a plug. In the later case, it is the center of the cell. 

\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a53bed3713fe846a351621d2022bc6b68}\label{classHurricane_1_1RoutingPad_a53bed3713fe846a351621d2022bc6b68}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Inherit@{Inherit}}
\index{Inherit@{Inherit}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{Inherit}{Inherit}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1RoutingPad_a53bed3713fe846a351621d2022bc6b68}{Hurricane\+::\+Routing\+Pad\+::\+Inherit}}}

Useful for calling upon methods of the base class without knowing it. 

\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4}\label{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Flags@{Flags}}
\index{Flags@{Flags}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{Flags}{Flags}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4}{Hurricane\+::\+Routing\+Pad\+::\+Flags}}}

Set of flags to choose how to select the external component of a \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} to be anchored on. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{Biggest\+Area@{Biggest\+Area}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Biggest\+Area@{Biggest\+Area}}}\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4add72642d150e901835fa7d66d40e327d}\label{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4add72642d150e901835fa7d66d40e327d}} 
Biggest\+Area&Select the external \mbox{\hyperlink{classHurricane_1_1Component}{Component}} of biggest area. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Highest\+Layer@{Highest\+Layer}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Highest\+Layer@{Highest\+Layer}}}\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8f7993760a105713a97abdfb05eee852}\label{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8f7993760a105713a97abdfb05eee852}} 
Highest\+Layer&Select the external \mbox{\hyperlink{classHurricane_1_1Component}{Component}} of in the highest layer. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Lowest\+Layer@{Lowest\+Layer}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Lowest\+Layer@{Lowest\+Layer}}}\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a14c89f0c4ca6f4108b7f2ac30ab885a6}\label{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a14c89f0c4ca6f4108b7f2ac30ab885a6}} 
Lowest\+Layer&Select the external \mbox{\hyperlink{classHurricane_1_1Component}{Component}} of in the lowest layer. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Component\+Selection@{Component\+Selection}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Component\+Selection@{Component\+Selection}}}\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4aa2db526191b29a7e094bff309e27ef4c}\label{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4aa2db526191b29a7e094bff309e27ef4c}} 
Component\+Selection&A mask to filter bit parts of a flag belonging to component selection. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Show\+Warning@{Show\+Warning}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!Show\+Warning@{Show\+Warning}}}\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8fd74358022a29aab828700c8f7347ba}\label{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8fd74358022a29aab828700c8f7347ba}} 
Show\+Warning&Whether to display a warning or not while checking the instances placement. \\
\hline

\end{DoxyEnumFields}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a87c3a286477f81b9c791dc24104a3e51}\label{classHurricane_1_1RoutingPad_a87c3a286477f81b9c791dc24104a3e51}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!create@{create}}
\index{create@{create}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} $\ast$ Hurricane\+::\+Routing\+Pad\+::create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classHurricane_1_1Net}{Net}} $\ast$}]{net,  }\item[{\mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}}}]{occurrence,  }\item[{unsigned int}]{flags = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}


\begin{DoxyParams}{Parameters}
{\em net} & The \mbox{\hyperlink{classHurricane_1_1Net}{Net}} of the top-\/level netlist connected to this \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}}. \\
\hline
{\em occurrence} & The \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} of \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}, \mbox{\hyperlink{classHurricane_1_1Pin}{Pin}} or \mbox{\hyperlink{classHurricane_1_1Pad}{Pad}} to connect to. \\
\hline
{\em flags} & In the case of a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}, the way to select the external component of the \mbox{\hyperlink{classHurricane_1_1Net}{Net}}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly created \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a1883e5711b5700cd7d1024f1cff6abb0}\label{classHurricane_1_1RoutingPad_a1883e5711b5700cd7d1024f1cff6abb0}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!create@{create}}
\index{create@{create}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} $\ast$ Hurricane\+::\+Routing\+Pad\+::create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classHurricane_1_1Pin}{Pin}} $\ast$}]{pin }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

Special variant to create a \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} from a top-\/level \mbox{\hyperlink{classHurricane_1_1Pin}{Pin}}. \mbox{\Hypertarget{classHurricane_1_1RoutingPad_a3e94730dded06e5953087755f0551b73}\label{classHurricane_1_1RoutingPad_a3e94730dded06e5953087755f0551b73}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!is\+Placed\+Occurrence@{is\+Placed\+Occurrence}}
\index{is\+Placed\+Occurrence@{is\+Placed\+Occurrence}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{is\+Placed\+Occurrence()}{isPlacedOccurrence()}}
{\footnotesize\ttfamily bool Hurricane\+::\+Routing\+Pad\+::is\+Placed\+Occurrence (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption}) const}

Check wether all the instances in the occurrence path are placed. If at least, one is not and {\ttfamily flags} contains \mbox{\hyperlink{classHurricane_1_1RoutingPad_a69f37f0b06b9bfd758d9be42c71e2bd4a8fd74358022a29aab828700c8f7347ba}{Routing\+Pad\+::\+Show\+Warning}}, display a warning.

When using a \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} as a reference/anchor for other physical components (that is, the occurence entity is no longer a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}), it is critical that it is in a truly meaningful position. And this is true {\itshape only} if all the instances in the occurrence\textquotesingle{}s \mbox{\hyperlink{classHurricane_1_1Path}{Path}} have a physical position (i.\+e. are placed). \mbox{\Hypertarget{classHurricane_1_1RoutingPad_a2767550364ef01c772f3270850ec052f}\label{classHurricane_1_1RoutingPad_a2767550364ef01c772f3270850ec052f}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Occurrence@{get\+Occurrence}}
\index{get\+Occurrence@{get\+Occurrence}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Occurrence()}{getOccurrence()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} Hurricane\+::\+Routing\+Pad\+::get\+Occurrence (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\begin{DoxyReturn}{Returns}
The Occurence on which we are anchored on. If a \mbox{\hyperlink{classHurricane_1_1Component}{Component}} has been selected to be the anchor, it\textquotesingle{}s an \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} on that component which is returned, not the actual \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a30190c50577ce47727dec11f5423a85b}\label{classHurricane_1_1RoutingPad_a30190c50577ce47727dec11f5423a85b}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Plug\+Occurrence@{get\+Plug\+Occurrence}}
\index{get\+Plug\+Occurrence@{get\+Plug\+Occurrence}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Plug\+Occurrence()}{getPlugOccurrence()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} Hurricane\+::\+Routing\+Pad\+::get\+Plug\+Occurrence (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxyReturn}{Returns}
The original \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}} \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a7f1e300e4148556fa223e623738d79d4}\label{classHurricane_1_1RoutingPad_a7f1e300e4148556fa223e623738d79d4}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Layer@{get\+Layer}}
\index{get\+Layer@{get\+Layer}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Layer()}{getLayer()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} $\ast$ Hurricane\+::\+Routing\+Pad\+::get\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
If anchored on a component, the \mbox{\hyperlink{classHurricane_1_1Layer}{Layer}} of that \mbox{\hyperlink{classHurricane_1_1Component}{Component}}. If anchored on a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}, {\ttfamily N\+U\+LL}. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classHurricane_1_1Component_ab451ef19059e6e5bbb77ae391d02a039}{Hurricane\+::\+Component}}.

\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a5c9c00c648bd0d24e1a8b0876ab442df}\label{classHurricane_1_1RoutingPad_a5c9c00c648bd0d24e1a8b0876ab442df}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!getX@{getX}}
\index{getX@{getX}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+X()}{getX()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} Hurricane\+::\+Routing\+Pad\+::getX (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
The X position of the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}}. This is the position, as returned by \mbox{\hyperlink{classHurricane_1_1Component_aa4e9a47c89fe701670ca34355195d519}{Component\+::get\+Position()}} of the \mbox{\hyperlink{classHurricane_1_1Component}{Component}} it is anchored on. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classHurricane_1_1Component_a0f8299ed73705fd4fbf56589dcc7e074}{Hurricane\+::\+Component}}.

\mbox{\Hypertarget{classHurricane_1_1RoutingPad_aede4c04a7f893b1e5478b164b6eaae2d}\label{classHurricane_1_1RoutingPad_aede4c04a7f893b1e5478b164b6eaae2d}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!getY@{getY}}
\index{getY@{getY}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Y()}{getY()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} Hurricane\+::\+Routing\+Pad\+::getY (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
The Y position of the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}}. This is the position, as returned by \mbox{\hyperlink{classHurricane_1_1Component_aa4e9a47c89fe701670ca34355195d519}{Component\+::get\+Position()}} of the \mbox{\hyperlink{classHurricane_1_1Component}{Component}} it is anchored on. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classHurricane_1_1Component_a727da3f127c3a7a0a09468219f98c3e6}{Hurricane\+::\+Component}}.

\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a2cc2894b5e1c82b725dedcf1978dc773}\label{classHurricane_1_1RoutingPad_a2cc2894b5e1c82b725dedcf1978dc773}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Bounding\+Box@{get\+Bounding\+Box}}
\index{get\+Bounding\+Box@{get\+Bounding\+Box}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Bounding\+Box()}{getBoundingBox()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Box}{Box}} Hurricane\+::\+Routing\+Pad\+::get\+Bounding\+Box (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
If it\textquotesingle{}s anchored on a \mbox{\hyperlink{classHurricane_1_1Component}{Component}}, returns the bounding box of that component (with \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} \mbox{\hyperlink{classHurricane_1_1Transformation}{Transformation}} applied). If it\textquotesingle{}s on a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}, just return a zero-\/sised box from get\+Position(). 
\end{DoxyReturn}


Implements \mbox{\hyperlink{classHurricane_1_1Component}{Hurricane\+::\+Component}}.

\mbox{\Hypertarget{classHurricane_1_1RoutingPad_ad254b92749146a0eaaa7ed8f33fac4da}\label{classHurricane_1_1RoutingPad_ad254b92749146a0eaaa7ed8f33fac4da}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Center@{get\+Center}}
\index{get\+Center@{get\+Center}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Center()}{getCenter()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+Center (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
The center of the bounding box. 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{classHurricane_1_1Component}{Hurricane\+::\+Component}}.

\mbox{\Hypertarget{classHurricane_1_1RoutingPad_acc706fecb615230387a73ed8a7384c8e}\label{classHurricane_1_1RoutingPad_acc706fecb615230387a73ed8a7384c8e}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Source\+Position@{get\+Source\+Position}}
\index{get\+Source\+Position@{get\+Source\+Position}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Source\+Position()}{getSourcePosition()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+Source\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\begin{DoxyReturn}{Returns}
If anchored on a \mbox{\hyperlink{classHurricane_1_1Segment}{Segment}}, the source position of it. get\+Position() otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a8de215adabb4a3330d02339c38dd6d4b}\label{classHurricane_1_1RoutingPad_a8de215adabb4a3330d02339c38dd6d4b}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+Target\+Position@{get\+Target\+Position}}
\index{get\+Target\+Position@{get\+Target\+Position}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Target\+Position()}{getTargetPosition()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+Target\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\begin{DoxyReturn}{Returns}
If anchored on a \mbox{\hyperlink{classHurricane_1_1Segment}{Segment}}, the target position of it. get\+Position() otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_ae80e8f84f5806582905f6695f5cc43df}\label{classHurricane_1_1RoutingPad_ae80e8f84f5806582905f6695f5cc43df}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+SourceX@{get\+SourceX}}
\index{get\+SourceX@{get\+SourceX}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Source\+X()}{getSourceX()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+SourceX (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\begin{DoxyReturn}{Returns}
If anchored on a \mbox{\hyperlink{classHurricane_1_1Segment}{Segment}}, the X coordinate of the source position. \mbox{\hyperlink{classHurricane_1_1RoutingPad_a5c9c00c648bd0d24e1a8b0876ab442df}{get\+X()}} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a75983ff3507f4cbf2aaa4e3132eac987}\label{classHurricane_1_1RoutingPad_a75983ff3507f4cbf2aaa4e3132eac987}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+SourceY@{get\+SourceY}}
\index{get\+SourceY@{get\+SourceY}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Source\+Y()}{getSourceY()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+SourceY (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\begin{DoxyReturn}{Returns}
If anchored on a \mbox{\hyperlink{classHurricane_1_1Segment}{Segment}}, the Y coordinate of the source position. \mbox{\hyperlink{classHurricane_1_1RoutingPad_aede4c04a7f893b1e5478b164b6eaae2d}{get\+Y()}} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a3c0f5056b20515d308c2945ab692bce5}\label{classHurricane_1_1RoutingPad_a3c0f5056b20515d308c2945ab692bce5}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+TargetX@{get\+TargetX}}
\index{get\+TargetX@{get\+TargetX}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Target\+X()}{getTargetX()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+TargetX (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\begin{DoxyReturn}{Returns}
If anchored on a \mbox{\hyperlink{classHurricane_1_1Segment}{Segment}}, the X coordinate of the target position. \mbox{\hyperlink{classHurricane_1_1RoutingPad_a5c9c00c648bd0d24e1a8b0876ab442df}{get\+X()}} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a41a9c831d668377fc0c5e628f66465a0}\label{classHurricane_1_1RoutingPad_a41a9c831d668377fc0c5e628f66465a0}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!get\+TargetY@{get\+TargetY}}
\index{get\+TargetY@{get\+TargetY}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{get\+Target\+Y()}{getTargetY()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1Point}{Point}} Hurricane\+::\+Routing\+Pad\+::get\+TargetY (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}

\begin{DoxyReturn}{Returns}
If anchored on a \mbox{\hyperlink{classHurricane_1_1Segment}{Segment}}, the Y coordinate of the target position. \mbox{\hyperlink{classHurricane_1_1RoutingPad_aede4c04a7f893b1e5478b164b6eaae2d}{get\+Y()}} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a41bf66ffda0c0ceaaebc67acd72d5b36}\label{classHurricane_1_1RoutingPad_a41bf66ffda0c0ceaaebc67acd72d5b36}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!translate@{translate}}
\index{translate@{translate}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{translate()}{translate()}}
{\footnotesize\ttfamily void Hurricane\+::\+Routing\+Pad\+::translate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \&}]{dx,  }\item[{const \mbox{\hyperlink{group__DbUGroup_ga4fbfa3e8c89347af76c9628ea06c4146}{Db\+U\+::\+Unit}} \&}]{dy }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

As the position of the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} is fixed relatively to the instance path and the anchoring component, it cannot be translated. Thus this method do nothing. The Routing pad will translate nevertheless with any translation of any of the instance in it\textquotesingle{}s path or the anchor. 

Implements \mbox{\hyperlink{classHurricane_1_1Go_a54c4351dbbf4045e1aa89f06bb893402}{Hurricane\+::\+Go}}.

\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a9f448ad4f05f6995edc4a5ab50501586}\label{classHurricane_1_1RoutingPad_a9f448ad4f05f6995edc4a5ab50501586}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!set\+External\+Component@{set\+External\+Component}}
\index{set\+External\+Component@{set\+External\+Component}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{set\+External\+Component()}{setExternalComponent()}}
{\footnotesize\ttfamily void Hurricane\+::\+Routing\+Pad\+::set\+External\+Component (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classHurricane_1_1Component}{Component}} $\ast$}]{component }\end{DoxyParamCaption})}

When the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} is anchored on a \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}}, allow to set the {\ttfamily component} that we will anchor on. The \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}} of the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} is updated from the \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}} to the {\ttfamily component}.

\begin{DoxyRemark}{Remarks}
{\ttfamily component} must be tagged as \mbox{\hyperlink{classHurricane_1_1Net}{Net}} external. 
\end{DoxyRemark}
\mbox{\Hypertarget{classHurricane_1_1RoutingPad_a410992ef75c40f9a898c36f39a7d1a1a}\label{classHurricane_1_1RoutingPad_a410992ef75c40f9a898c36f39a7d1a1a}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!set\+On\+Best\+Component@{set\+On\+Best\+Component}}
\index{set\+On\+Best\+Component@{set\+On\+Best\+Component}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{set\+On\+Best\+Component()}{setOnBestComponent()}}
{\footnotesize\ttfamily void Hurricane\+::\+Routing\+Pad\+::set\+On\+Best\+Component (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption})}

Automatically select the best component to anchor on, according to the criteria givens on {\ttfamily flags} (selection occurs in net external components). \mbox{\Hypertarget{classHurricane_1_1RoutingPad_a1fcb0951f5f9505c6978bf498f78fce9}\label{classHurricane_1_1RoutingPad_a1fcb0951f5f9505c6978bf498f78fce9}} 
\index{Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}!restore\+Plug\+Occurrence@{restore\+Plug\+Occurrence}}
\index{restore\+Plug\+Occurrence@{restore\+Plug\+Occurrence}!Hurricane\+::\+Routing\+Pad@{Hurricane\+::\+Routing\+Pad}}
\subsubsection{\texorpdfstring{restore\+Plug\+Occurrence()}{restorePlugOccurrence()}}
{\footnotesize\ttfamily void Hurricane\+::\+Routing\+Pad\+::restore\+Plug\+Occurrence (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

If the \mbox{\hyperlink{classHurricane_1_1RoutingPad}{Routing\+Pad}} has been anchored on a \mbox{\hyperlink{classHurricane_1_1Component}{Component}}, detach from it and revert to the \mbox{\hyperlink{classHurricane_1_1Plug}{Plug}} \mbox{\hyperlink{classHurricane_1_1Occurrence}{Occurrence}}. 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Routing\+Pad.\+h\item 
Routing\+Pad.\+dox\end{DoxyCompactItemize}
