\hypertarget{classKatabatic_1_1ChipTools}{\section{Chip\-Tools Class Reference}
\label{classKatabatic_1_1ChipTools}\index{Chip\-Tools@{Chip\-Tools}}
}


Utilities for Chip Level Design.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}{Chip\-Tools} ({\bf Cell} $\ast$)
\item 
bool \hyperlink{classKatabatic_1_1ChipTools_a390b4da0f5d92dc7586dbb35fb33f105}{is\-Chip} () const 
\item 
{\bf Cell} $\ast$ \hyperlink{classKatabatic_1_1ChipTools_a148fdf09f18e7adb39a73c747f165266}{get\-Cell} () const 
\item 
{\bf Instance} $\ast$ \hyperlink{classKatabatic_1_1ChipTools_a9b0b85c44c108a2a17a01d86f17e1db9}{get\-Core} () const 
\item 
const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_a31b90ca92688051b3a99b1adc13fa311}{get\-Chip\-Bb} () const 
\item 
const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_ab211c70912b6a16c03ca1e2e06c90b0b}{get\-Left\-Pads\-Bb} () const 
\item 
const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_ae6f1937b84779a9d96fc08f0d5752390}{get\-Right\-Pads\-Bb} () const 
\item 
const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_aa21203c8ef37b4f3e4e82e6cc1ef8c64}{get\-Top\-Pads\-Bb} () const 
\item 
const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_aaff5b9fb64c2344b6ab0aaf5e5e36caf}{get\-Bottom\-Pads\-Bb} () const 
\item 
const Torus \& \hyperlink{classKatabatic_1_1ChipTools_a3db402fb2e0839749fe524882d77eddd}{get\-Corona} () const 
\item 
bool \hyperlink{classKatabatic_1_1ChipTools_a2aea3372bc7e8ec1d0a70681544d8202}{intersect\-V\-Pads} (const {\bf Box} \&) const 
\item 
bool \hyperlink{classKatabatic_1_1ChipTools_a6af8e197289a2a6c5e3aab0a658c4969}{intersect\-H\-Pads} (const {\bf Box} \&) const 
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Utilities for Chip Level Design. 

The \hyperlink{classKatabatic_1_1ChipTools}{Chip\-Tools} class provides a small set of utilities to ease the managment of a complete chip following the Alliance top hierarchical structure. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!Chip\-Tools@{Chip\-Tools}}
\index{Chip\-Tools@{Chip\-Tools}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{Chip\-Tools}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Chip\-Tools} (
\begin{DoxyParamCaption}
\item[{{\bf Cell} $\ast$}]{cell}
\end{DoxyParamCaption}
)}}\label{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}
Create a Chip\-Tool for {\ttfamily cell}. 

References Cell\-::get\-Abutment\-Box(), Entity\-::get\-Bounding\-Box(), Data\-Base\-::get\-D\-B(), Box\-::get\-Height(), Net\-::get\-Horizontals(), Technology\-::get\-Layer(), Instance\-::get\-Master\-Cell(), Instance\-::get\-Name(), Cell\-::get\-Name(), Cell\-::get\-Net(), Data\-Base\-::get\-Technology(), Box\-::get\-Width(), Box\-::get\-X\-Max(), Box\-::get\-X\-Min(), Box\-::get\-Y\-Max(), Box\-::get\-Y\-Min(), Box\-::inflate(), and Chip\-Tools\-::is\-Chip().



\subsection{Member Function Documentation}
\hypertarget{classKatabatic_1_1ChipTools_a390b4da0f5d92dc7586dbb35fb33f105}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!is\-Chip@{is\-Chip}}
\index{is\-Chip@{is\-Chip}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{is\-Chip}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Chip (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a390b4da0f5d92dc7586dbb35fb33f105}
{\bfseries Returns\-:} {\bfseries true} if the Cell is truly a top level design. If not, this object is useless and does nothing. 

Referenced by Chip\-Tools\-::\-Chip\-Tools(), Katabatic\-Engine\-::create\-Detailed\-Grid(), and Katabatic\-Engine\-::is\-Chip().

\hypertarget{classKatabatic_1_1ChipTools_a148fdf09f18e7adb39a73c747f165266}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Cell@{get\-Cell}}
\index{get\-Cell@{get\-Cell}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Cell}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Cell} $\ast$ get\-Cell (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a148fdf09f18e7adb39a73c747f165266}
{\bfseries Returns\-:} The top-\/level design. \hypertarget{classKatabatic_1_1ChipTools_a9b0b85c44c108a2a17a01d86f17e1db9}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Core@{get\-Core}}
\index{get\-Core@{get\-Core}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Core}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Instance} $\ast$ get\-Core (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a9b0b85c44c108a2a17a01d86f17e1db9}
{\bfseries Returns\-:} The instance of the core, that is, the only instance that is {\itshape not} a pad... \hypertarget{classKatabatic_1_1ChipTools_a31b90ca92688051b3a99b1adc13fa311}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Chip\-Bb@{get\-Chip\-Bb}}
\index{get\-Chip\-Bb@{get\-Chip\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Chip\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Chip\-Bb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a31b90ca92688051b3a99b1adc13fa311}
{\bfseries Returns\-:} The chip complete bounding box, this $\ast$is$\ast$ simply the Cell bounding box. \hypertarget{classKatabatic_1_1ChipTools_ab211c70912b6a16c03ca1e2e06c90b0b}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Left\-Pads\-Bb@{get\-Left\-Pads\-Bb}}
\index{get\-Left\-Pads\-Bb@{get\-Left\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Left\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Left\-Pads\-Bb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_ab211c70912b6a16c03ca1e2e06c90b0b}
{\bfseries Returns\-:} The bounding box enclosing all the pads on the left side of the chip.

\begin{DoxyParagraph}{Remark\-:}
This box is computed from the chip bounding box and the pad height. 
\end{DoxyParagraph}
\hypertarget{classKatabatic_1_1ChipTools_ae6f1937b84779a9d96fc08f0d5752390}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Right\-Pads\-Bb@{get\-Right\-Pads\-Bb}}
\index{get\-Right\-Pads\-Bb@{get\-Right\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Right\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Right\-Pads\-Bb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_ae6f1937b84779a9d96fc08f0d5752390}
{\bfseries Returns\-:} The bounding box enclosing all the pads on the right side of the chip.

\begin{DoxyParagraph}{Remark\-:}
This box is computed from the chip bounding box and the pad height. 
\end{DoxyParagraph}
\hypertarget{classKatabatic_1_1ChipTools_aa21203c8ef37b4f3e4e82e6cc1ef8c64}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Top\-Pads\-Bb@{get\-Top\-Pads\-Bb}}
\index{get\-Top\-Pads\-Bb@{get\-Top\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Top\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Top\-Pads\-Bb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_aa21203c8ef37b4f3e4e82e6cc1ef8c64}
{\bfseries Returns\-:} The bounding box enclosing all the pads on the top side of the chip.

\begin{DoxyParagraph}{Remark\-:}
This box is computed from the chip bounding box and the pad height. 
\end{DoxyParagraph}
\hypertarget{classKatabatic_1_1ChipTools_aaff5b9fb64c2344b6ab0aaf5e5e36caf}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Bottom\-Pads\-Bb@{get\-Bottom\-Pads\-Bb}}
\index{get\-Bottom\-Pads\-Bb@{get\-Bottom\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Bottom\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Bottom\-Pads\-Bb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_aaff5b9fb64c2344b6ab0aaf5e5e36caf}
{\bfseries Returns\-:} The bounding box enclosing all the pads on the bottom side of the chip.

\begin{DoxyParagraph}{Remark\-:}
This box is computed from the chip bounding box and the pad height. 
\end{DoxyParagraph}
\hypertarget{classKatabatic_1_1ChipTools_a3db402fb2e0839749fe524882d77eddd}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Corona@{get\-Corona}}
\index{get\-Corona@{get\-Corona}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{get\-Corona}]{\setlength{\rightskip}{0pt plus 5cm}const Torus \& get\-Corona (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a3db402fb2e0839749fe524882d77eddd}
{\bfseries Returns\-:} The torus (in term of manhanttan distance) enclosed between the pad area and the core area. \hypertarget{classKatabatic_1_1ChipTools_a2aea3372bc7e8ec1d0a70681544d8202}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!intersect\-V\-Pads@{intersect\-V\-Pads}}
\index{intersect\-V\-Pads@{intersect\-V\-Pads}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{intersect\-V\-Pads}]{\setlength{\rightskip}{0pt plus 5cm}bool intersect\-V\-Pads (
\begin{DoxyParamCaption}
\item[{const {\bf Box} \&}]{box}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a2aea3372bc7e8ec1d0a70681544d8202}
{\bfseries Returns\-:} {\bfseries true} if {\ttfamily box} intersect either the left or right pad box. 

References Box\-::intersect().

\hypertarget{classKatabatic_1_1ChipTools_a6af8e197289a2a6c5e3aab0a658c4969}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!intersect\-H\-Pads@{intersect\-H\-Pads}}
\index{intersect\-H\-Pads@{intersect\-H\-Pads}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}}
\subsubsection[{intersect\-H\-Pads}]{\setlength{\rightskip}{0pt plus 5cm}bool intersect\-H\-Pads (
\begin{DoxyParamCaption}
\item[{const {\bf Box} \&}]{box}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a6af8e197289a2a6c5e3aab0a658c4969}
{\bfseries Returns\-:} {\bfseries true} if {\ttfamily box} intersect either the top or bottom pad box. 

References Box\-::intersect().



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