\doxysection{Layout\+Area.\+hpp}
\hypertarget{LayoutArea_8hpp_source}{}\label{LayoutArea_8hpp_source}\index{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/LayoutArea.hpp@{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/LayoutArea.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ GYM\_PCB\_LAYOUTAREA\_H}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ GYM\_PCB\_LAYOUTAREA\_H}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Geometry.hpp"{}}}
\DoxyCodeLine{00005\ }
\DoxyCodeLine{00006\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classObject}{Object}};}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ \textcolor{keyword}{class\ }LayoutArea}
\DoxyCodeLine{00009\ \{}
\DoxyCodeLine{00010\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00011\ \ \ \ \ LayoutArea();}
\DoxyCodeLine{00012\ }
\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{const}\ Vector\_2\&\ size()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mSize;\ \}}
\DoxyCodeLine{00014\ \ \ \ \ Real\ area()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mRect.area();\ \}}
\DoxyCodeLine{00015\ \ \ \ \ \textcolor{keyword}{const}\ Bbox\_2\&\ bbox()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mBox;\ \}}
\DoxyCodeLine{00016\ \ \ \ \ Point\_2\ origin()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mRect.min();\ \}}
\DoxyCodeLine{00017\ }
\DoxyCodeLine{00018\ \ \ \ \ Real\ aspectRatio()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mSize.x()\ /\ mSize.y();\ \}}
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00020\ \ \ \ \ Real\ diagonalLength()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ mDiagLen;\ \}}
\DoxyCodeLine{00021\ }
\DoxyCodeLine{00022\ \ \ \ \ \textcolor{keywordtype}{bool}\ isInside(\textcolor{keyword}{const}\ \mbox{\hyperlink{classPoint__25}{Point\_25}}\&)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00023\ \ \ \ \ \textcolor{keywordtype}{bool}\ isBboxInside(\textcolor{keyword}{const}\ \mbox{\hyperlink{classObject}{Object}}\&)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \ \ \ \ \textcolor{keywordtype}{void}\ setOrigin(\textcolor{keyword}{const}\ Point\_2\ \&v0)\ \{\ setRect(v0,\ v0\ +\ mSize);\ \}}
\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keywordtype}{void}\ setSize(\textcolor{keyword}{const}\ Vector\_2\ \&size)\ \{\ setRect(mRect.min(),\ mRect.min()\ +\ size);\ \}}
\DoxyCodeLine{00027\ \ \ \ \ \textcolor{keywordtype}{void}\ setMaxLayer(uint\ z)\ \{\ mMaxLayer\ =\ z;\ \}}
\DoxyCodeLine{00028\ \ \ \ \ \textcolor{keywordtype}{void}\ setBox(\textcolor{keyword}{const}\ Bbox\_2\&);}
\DoxyCodeLine{00029\ \ \ \ \ \textcolor{keywordtype}{void}\ setRect(\textcolor{keyword}{const}\ Point\_2\ \&min,\ \textcolor{keyword}{const}\ Point\_2\ \&max);}
\DoxyCodeLine{00030\ \ \ \ \ \textcolor{keywordtype}{void}\ setPolygonBbox(\textcolor{keyword}{const}\ Polygon\_2\&);}
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00032\ \ \ \ \ \textcolor{keywordtype}{void}\ expand(\textcolor{keyword}{const}\ Bbox\_2\ \&box)\ \{\ setBox(bbox()\ +\ box);\ \}}
\DoxyCodeLine{00033\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00034\ \ \ \ \ Iso\_rectangle\_2\ mRect;}
\DoxyCodeLine{00035\ \ \ \ \ Bbox\_2\ mBox;}
\DoxyCodeLine{00036\ \ \ \ \ Vector\_2\ mSize\{0.0,\ 0.0\};}
\DoxyCodeLine{00037\ \ \ \ \ Real\ mDiagLen\{0.0\};}
\DoxyCodeLine{00038\ \ \ \ \ uint\ mMaxLayer\{0\};}
\DoxyCodeLine{00039\ \};}
\DoxyCodeLine{00040\ }
\DoxyCodeLine{00041\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ GYM\_PCB\_LAYOUTAREA\_H}}

\end{DoxyCode}
