\hypertarget{classBuildingPlacer}{\section{\-Building\-Placer \-Class \-Reference}
\label{classBuildingPlacer}\index{\-Building\-Placer@{\-Building\-Placer}}
}


{\ttfamily \#include $<$\-Building\-Placer.\-h$>$}

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classBuildingPlacer_a87b07abbe061930a60159b29a628ae7a}{buildable} (int x, int y) const 
\item 
bool \hyperlink{classBuildingPlacer_ad6abbef9ce3706db2113df6ccf9fde08}{is\-Reserved} (int x, int y) const 
\item 
bool \hyperlink{classBuildingPlacer_a89f1360b9c3d72b00eb0de384ab37fdf}{is\-In\-Resource\-Box} (int x, int y) const 
\item 
bool \hyperlink{classBuildingPlacer_a2755240c351e3fbe830f193faa61c64e}{tile\-Overlaps\-Base\-Location} (\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} tile, \hyperlink{classBWAPI_1_1UnitType}{\-B\-W\-A\-P\-I\-::\-Unit\-Type} type) const 
\item 
bool \hyperlink{classBuildingPlacer_ae92906c86f7ff40303b1962e6f052678}{can\-Build\-Here} (\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} position, const \hyperlink{classBuilding}{\-Building} \&b) const 
\item 
bool \hyperlink{classBuildingPlacer_a49447f3f63d785a6de111defb4390f77}{can\-Build\-Here\-With\-Space} (\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} position, const \hyperlink{classBuilding}{\-Building} \&b, int build\-Dist, bool horizontal\-Only=false) const 
\item 
\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} \hyperlink{classBuildingPlacer_a0cfab3e2854bf3c3383b1316cd7050d0}{get\-Build\-Location\-Near} (const \hyperlink{classBuilding}{\-Building} \&b, int build\-Dist, bool in\-Region=false, bool horizontal\-Only=false) const 
\item 
void \hyperlink{classBuildingPlacer_a63b3b63e178fff9aef4db7bb67071887}{reserve\-Tiles} (\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} position, int width, int height)
\item 
void \hyperlink{classBuildingPlacer_a35d34a4616e15706d34178a0c122e6f9}{free\-Tiles} (\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} position, int width, int height)
\item 
void \hyperlink{classBuildingPlacer_a4282ec13984b9d42203461d977e3dc94}{set\-Build\-Distance} (int distance)
\item 
int \hyperlink{classBuildingPlacer_a2d4e02c808b17628822abc9b086cc356}{get\-Build\-Distance} () const 
\item 
void \hyperlink{classBuildingPlacer_adf7429c17f29fdfc6c47a21d0f231d27}{draw\-Reserved\-Tiles} ()
\item 
void \hyperlink{classBuildingPlacer_ac1a861826990d8ebef36e5d0cb249175}{compute\-Resource\-Box} ()
\item 
\hyperlink{classBWAPI_1_1TilePosition}{\-B\-W\-A\-P\-I\-::\-Tile\-Position} \hyperlink{classBuildingPlacer_ab7e192e09b7ad3362a6039c0bc790234}{get\-Refinery\-Position} ()
\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classBuildingPlacer}{\-Building\-Placer} $\ast$ \hyperlink{classBuildingPlacer_a25e1eb64a53be19c85365df5cbe93563}{get\-Instance} ()
\end{DoxyCompactItemize}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classBuildingPlacer_a87b07abbe061930a60159b29a628ae7a}{\index{\-Building\-Placer@{\-Building\-Placer}!buildable@{buildable}}
\index{buildable@{buildable}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{buildable}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Building\-Placer\-::buildable} (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_a87b07abbe061930a60159b29a628ae7a}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a87b07abbe061930a60159b29a628ae7a_cgraph}
\end{center}
\end{figure}




\-Here is the caller graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a87b07abbe061930a60159b29a628ae7a_icgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_ae92906c86f7ff40303b1962e6f052678}{\index{\-Building\-Placer@{\-Building\-Placer}!can\-Build\-Here@{can\-Build\-Here}}
\index{can\-Build\-Here@{can\-Build\-Here}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{can\-Build\-Here}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Building\-Placer\-::can\-Build\-Here} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position}}]{position, }
\item[{const {\bf \-Building} \&}]{b}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_ae92906c86f7ff40303b1962e6f052678}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_ae92906c86f7ff40303b1962e6f052678_cgraph}
\end{center}
\end{figure}




\-Here is the caller graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_ae92906c86f7ff40303b1962e6f052678_icgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_a49447f3f63d785a6de111defb4390f77}{\index{\-Building\-Placer@{\-Building\-Placer}!can\-Build\-Here\-With\-Space@{can\-Build\-Here\-With\-Space}}
\index{can\-Build\-Here\-With\-Space@{can\-Build\-Here\-With\-Space}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{can\-Build\-Here\-With\-Space}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Building\-Placer\-::can\-Build\-Here\-With\-Space} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position}}]{position, }
\item[{const {\bf \-Building} \&}]{b, }
\item[{int}]{build\-Dist, }
\item[{bool}]{horizontal\-Only = {\ttfamily false}}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_a49447f3f63d785a6de111defb4390f77}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a49447f3f63d785a6de111defb4390f77_cgraph}
\end{center}
\end{figure}




\-Here is the caller graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a49447f3f63d785a6de111defb4390f77_icgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_ac1a861826990d8ebef36e5d0cb249175}{\index{\-Building\-Placer@{\-Building\-Placer}!compute\-Resource\-Box@{compute\-Resource\-Box}}
\index{compute\-Resource\-Box@{compute\-Resource\-Box}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{compute\-Resource\-Box}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Building\-Placer\-::compute\-Resource\-Box} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBuildingPlacer_ac1a861826990d8ebef36e5d0cb249175}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_ac1a861826990d8ebef36e5d0cb249175_cgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_adf7429c17f29fdfc6c47a21d0f231d27}{\index{\-Building\-Placer@{\-Building\-Placer}!draw\-Reserved\-Tiles@{draw\-Reserved\-Tiles}}
\index{draw\-Reserved\-Tiles@{draw\-Reserved\-Tiles}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{draw\-Reserved\-Tiles}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Building\-Placer\-::draw\-Reserved\-Tiles} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBuildingPlacer_adf7429c17f29fdfc6c47a21d0f231d27}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_adf7429c17f29fdfc6c47a21d0f231d27_cgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_a35d34a4616e15706d34178a0c122e6f9}{\index{\-Building\-Placer@{\-Building\-Placer}!free\-Tiles@{free\-Tiles}}
\index{free\-Tiles@{free\-Tiles}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{free\-Tiles}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Building\-Placer\-::free\-Tiles} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position}}]{position, }
\item[{int}]{width, }
\item[{int}]{height}
\end{DoxyParamCaption}
)}}\label{classBuildingPlacer_a35d34a4616e15706d34178a0c122e6f9}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a35d34a4616e15706d34178a0c122e6f9_cgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_a2d4e02c808b17628822abc9b086cc356}{\index{\-Building\-Placer@{\-Building\-Placer}!get\-Build\-Distance@{get\-Build\-Distance}}
\index{get\-Build\-Distance@{get\-Build\-Distance}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{get\-Build\-Distance}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-Building\-Placer\-::get\-Build\-Distance} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_a2d4e02c808b17628822abc9b086cc356}
\hypertarget{classBuildingPlacer_a0cfab3e2854bf3c3383b1316cd7050d0}{\index{\-Building\-Placer@{\-Building\-Placer}!get\-Build\-Location\-Near@{get\-Build\-Location\-Near}}
\index{get\-Build\-Location\-Near@{get\-Build\-Location\-Near}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{get\-Build\-Location\-Near}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position} {\bf \-Building\-Placer\-::get\-Build\-Location\-Near} (
\begin{DoxyParamCaption}
\item[{const {\bf \-Building} \&}]{b, }
\item[{int}]{build\-Dist, }
\item[{bool}]{in\-Region = {\ttfamily false}, }
\item[{bool}]{horizontal\-Only = {\ttfamily false}}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_a0cfab3e2854bf3c3383b1316cd7050d0}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a0cfab3e2854bf3c3383b1316cd7050d0_cgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_a25e1eb64a53be19c85365df5cbe93563}{\index{\-Building\-Placer@{\-Building\-Placer}!get\-Instance@{get\-Instance}}
\index{get\-Instance@{get\-Instance}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{get\-Instance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Building\-Placer} $\ast$ {\bf \-Building\-Placer\-::get\-Instance} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}\label{classBuildingPlacer_a25e1eb64a53be19c85365df5cbe93563}
\hypertarget{classBuildingPlacer_ab7e192e09b7ad3362a6039c0bc790234}{\index{\-Building\-Placer@{\-Building\-Placer}!get\-Refinery\-Position@{get\-Refinery\-Position}}
\index{get\-Refinery\-Position@{get\-Refinery\-Position}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{get\-Refinery\-Position}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position} {\bf \-Building\-Placer\-::get\-Refinery\-Position} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBuildingPlacer_ab7e192e09b7ad3362a6039c0bc790234}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_ab7e192e09b7ad3362a6039c0bc790234_cgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_a89f1360b9c3d72b00eb0de384ab37fdf}{\index{\-Building\-Placer@{\-Building\-Placer}!is\-In\-Resource\-Box@{is\-In\-Resource\-Box}}
\index{is\-In\-Resource\-Box@{is\-In\-Resource\-Box}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{is\-In\-Resource\-Box}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Building\-Placer\-::is\-In\-Resource\-Box} (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_a89f1360b9c3d72b00eb0de384ab37fdf}


\-Here is the caller graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a89f1360b9c3d72b00eb0de384ab37fdf_icgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_ad6abbef9ce3706db2113df6ccf9fde08}{\index{\-Building\-Placer@{\-Building\-Placer}!is\-Reserved@{is\-Reserved}}
\index{is\-Reserved@{is\-Reserved}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{is\-Reserved}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Building\-Placer\-::is\-Reserved} (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_ad6abbef9ce3706db2113df6ccf9fde08}
\hypertarget{classBuildingPlacer_a63b3b63e178fff9aef4db7bb67071887}{\index{\-Building\-Placer@{\-Building\-Placer}!reserve\-Tiles@{reserve\-Tiles}}
\index{reserve\-Tiles@{reserve\-Tiles}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{reserve\-Tiles}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Building\-Placer\-::reserve\-Tiles} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position}}]{position, }
\item[{int}]{width, }
\item[{int}]{height}
\end{DoxyParamCaption}
)}}\label{classBuildingPlacer_a63b3b63e178fff9aef4db7bb67071887}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a63b3b63e178fff9aef4db7bb67071887_cgraph}
\end{center}
\end{figure}


\hypertarget{classBuildingPlacer_a4282ec13984b9d42203461d977e3dc94}{\index{\-Building\-Placer@{\-Building\-Placer}!set\-Build\-Distance@{set\-Build\-Distance}}
\index{set\-Build\-Distance@{set\-Build\-Distance}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{set\-Build\-Distance}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Building\-Placer\-::set\-Build\-Distance} (
\begin{DoxyParamCaption}
\item[{int}]{distance}
\end{DoxyParamCaption}
)}}\label{classBuildingPlacer_a4282ec13984b9d42203461d977e3dc94}
\hypertarget{classBuildingPlacer_a2755240c351e3fbe830f193faa61c64e}{\index{\-Building\-Placer@{\-Building\-Placer}!tile\-Overlaps\-Base\-Location@{tile\-Overlaps\-Base\-Location}}
\index{tile\-Overlaps\-Base\-Location@{tile\-Overlaps\-Base\-Location}!BuildingPlacer@{\-Building\-Placer}}
\subsubsection[{tile\-Overlaps\-Base\-Location}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Building\-Placer\-::tile\-Overlaps\-Base\-Location} (
\begin{DoxyParamCaption}
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Tile\-Position}}]{tile, }
\item[{{\bf \-B\-W\-A\-P\-I\-::\-Unit\-Type}}]{type}
\end{DoxyParamCaption}
) const}}\label{classBuildingPlacer_a2755240c351e3fbe830f193faa61c64e}


\-Here is the call graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a2755240c351e3fbe830f193faa61c64e_cgraph}
\end{center}
\end{figure}




\-Here is the caller graph for this function\-:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classBuildingPlacer_a2755240c351e3fbe830f193faa61c64e_icgraph}
\end{center}
\end{figure}




\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-U\-Alberta\-Bot\-\_\-src/\-Projects/\-U\-Alberta\-Bot/\-Source/base/\hyperlink{BuildingPlacer_8h}{\-Building\-Placer.\-h}\item 
\-U\-Alberta\-Bot\-\_\-src/\-Projects/\-U\-Alberta\-Bot/\-Source/base/\hyperlink{BuildingPlacer_8cpp}{\-Building\-Placer.\-cpp}\end{DoxyCompactItemize}
