\hypertarget{classSimCityBuildingPlacer}{\section{\-Sim\-City\-Building\-Placer \-Class \-Reference}
\label{classSimCityBuildingPlacer}\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}}
}


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

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classSimCityBuildingPlacer_a3979af5291abf8b864b68e75d4a7e9df}{\-Sim\-City\-Building\-Placer} ()
\item 
\-B\-W\-A\-P\-I\-::\-Tile\-Position \hyperlink{classSimCityBuildingPlacer_a420fd0bbc6a4df2fa849999893c88383}{get\-Tile\-Position} (const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&ut, \-B\-W\-A\-P\-I\-::\-Tile\-Position seed=\hyperlink{Macro_2UnitGroup_8h_add79f866c2bbd6a8c66c9111fda8bca6ac9d3e887722f2bc482bcca9d41c512af}{\-B\-W\-A\-P\-I\-::\-Tile\-Positions\-::\-None})
\item 
\-B\-W\-A\-P\-I\-::\-Tile\-Position \hyperlink{classSimCityBuildingPlacer_a0588532164babdf0b2b86bbeccfd6c83}{get\-Pylon\-Tile\-Position\-Covering} (const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&tp)
\item 
void \hyperlink{classSimCityBuildingPlacer_ae5d8a581ace892b647eec3dd3397478e}{release\-Tile\-Position} (const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&tp, const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&ut)
\item 
void \hyperlink{classSimCityBuildingPlacer_abfa62a3346a2731c497f8de9c5d3795a}{used\-Tile\-Position} (const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&tp, const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&ut)
\item 
void \hyperlink{classSimCityBuildingPlacer_adc1ef04739b737544ffef8a63c1e97ca}{on\-Unit\-Destroy} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$unit)
\item 
void \hyperlink{classSimCityBuildingPlacer_a9452710fb492e91de8d96e14fbfa00cd}{make\-Cannons\-Minerals} (\-B\-W\-T\-A\-::\-Base\-Location $\ast$home, bool quick=false)
\item 
void \hyperlink{classSimCityBuildingPlacer_a9e32253b63f6411c4303919193b4e273}{make\-Cannon\-Choke} (\-B\-W\-T\-A\-::\-Region $\ast$inter, \-B\-W\-T\-A\-::\-Chokepoint $\ast$chok, bool quick=false)
\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static bool \hyperlink{classSimCityBuildingPlacer_abe224dc5f1c9dca5df82412a6f2ea195}{blocked\-By\-Something} (\-B\-W\-A\-P\-I\-::\-Tile\-Position position, \-B\-W\-A\-P\-I\-::\-Unit\-Type type)
\item 
static bool \hyperlink{classSimCityBuildingPlacer_a0aa248b308292328f5c593e9a15a7aab}{in\-Mineral\-Line} (\-B\-W\-T\-A\-::\-Base\-Location $\ast$b, \-B\-W\-A\-P\-I\-::\-Tile\-Position tp)
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classSimCityBuildingPlacer_a3979af5291abf8b864b68e75d4a7e9df}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}}
\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{\-Sim\-City\-Building\-Placer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Sim\-City\-Building\-Placer\-::\-Sim\-City\-Building\-Placer} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_a3979af5291abf8b864b68e75d4a7e9df}
search and save front and backdoor chokes

best place to do a pylons/gates cluster

search places to put cannons at chokes

search places to put cannons behind minerals 

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




\subsection{\-Member \-Function \-Documentation}
\hypertarget{classSimCityBuildingPlacer_abe224dc5f1c9dca5df82412a6f2ea195}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!blocked\-By\-Something@{blocked\-By\-Something}}
\index{blocked\-By\-Something@{blocked\-By\-Something}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{blocked\-By\-Something}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Sim\-City\-Building\-Placer\-::blocked\-By\-Something} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{position, }
\item[{\-B\-W\-A\-P\-I\-::\-Unit\-Type}]{type}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}\label{classSimCityBuildingPlacer_abe224dc5f1c9dca5df82412a6f2ea195}


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


\hypertarget{classSimCityBuildingPlacer_a0588532164babdf0b2b86bbeccfd6c83}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!get\-Pylon\-Tile\-Position\-Covering@{get\-Pylon\-Tile\-Position\-Covering}}
\index{get\-Pylon\-Tile\-Position\-Covering@{get\-Pylon\-Tile\-Position\-Covering}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{get\-Pylon\-Tile\-Position\-Covering}]{\setlength{\rightskip}{0pt plus 5cm}\-Tile\-Position {\bf \-Sim\-City\-Building\-Placer\-::get\-Pylon\-Tile\-Position\-Covering} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{tp}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_a0588532164babdf0b2b86bbeccfd6c83}
stupid (but robust) heuristic 

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




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


\hypertarget{classSimCityBuildingPlacer_a420fd0bbc6a4df2fa849999893c88383}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!get\-Tile\-Position@{get\-Tile\-Position}}
\index{get\-Tile\-Position@{get\-Tile\-Position}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{get\-Tile\-Position}]{\setlength{\rightskip}{0pt plus 5cm}\-Tile\-Position {\bf \-Sim\-City\-Building\-Placer\-::get\-Tile\-Position} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{ut, }
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{seed = {\ttfamily {\bf \-B\-W\-A\-P\-I\-::\-Tile\-Positions\-::\-None}}}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_a420fd0bbc6a4df2fa849999893c88383}


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




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


\hypertarget{classSimCityBuildingPlacer_a0aa248b308292328f5c593e9a15a7aab}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!in\-Mineral\-Line@{in\-Mineral\-Line}}
\index{in\-Mineral\-Line@{in\-Mineral\-Line}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{in\-Mineral\-Line}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Sim\-City\-Building\-Placer\-::in\-Mineral\-Line} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-T\-A\-::\-Base\-Location $\ast$}]{b, }
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{tp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}\label{classSimCityBuildingPlacer_a0aa248b308292328f5c593e9a15a7aab}
\hypertarget{classSimCityBuildingPlacer_a9e32253b63f6411c4303919193b4e273}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!make\-Cannon\-Choke@{make\-Cannon\-Choke}}
\index{make\-Cannon\-Choke@{make\-Cannon\-Choke}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{make\-Cannon\-Choke}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Sim\-City\-Building\-Placer\-::make\-Cannon\-Choke} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-T\-A\-::\-Region $\ast$}]{inter, }
\item[{\-B\-W\-T\-A\-::\-Chokepoint $\ast$}]{chok, }
\item[{bool}]{quick = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_a9e32253b63f6411c4303919193b4e273}
\-Find two valid \-Positions for inter\-P and exter\-P

\-Find an inter\-T\-P seed \-Tile\-Position to build from

\-T\-O\-D\-O see if blocked and if so try to move around the seed (inter\-T\-P)

\-If not none and can\-Build, then add at last... 

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




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


\hypertarget{classSimCityBuildingPlacer_a9452710fb492e91de8d96e14fbfa00cd}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!make\-Cannons\-Minerals@{make\-Cannons\-Minerals}}
\index{make\-Cannons\-Minerals@{make\-Cannons\-Minerals}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{make\-Cannons\-Minerals}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Sim\-City\-Building\-Placer\-::make\-Cannons\-Minerals} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-T\-A\-::\-Base\-Location $\ast$}]{home, }
\item[{bool}]{quick = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_a9452710fb492e91de8d96e14fbfa00cd}


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


\hypertarget{classSimCityBuildingPlacer_adc1ef04739b737544ffef8a63c1e97ca}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Sim\-City\-Building\-Placer\-::on\-Unit\-Destroy} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{unit}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_adc1ef04739b737544ffef8a63c1e97ca}
\-T\-O\-D\-O should check path add it back

set rally points in order not to block units (in case it's an inner building)

precautions w.\-r.\-t. a pylon in the middle of gates 

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




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


\hypertarget{classSimCityBuildingPlacer_ae5d8a581ace892b647eec3dd3397478e}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!release\-Tile\-Position@{release\-Tile\-Position}}
\index{release\-Tile\-Position@{release\-Tile\-Position}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{release\-Tile\-Position}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Sim\-City\-Building\-Placer\-::release\-Tile\-Position} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{tp, }
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{ut}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_ae5d8a581ace892b647eec3dd3397478e}


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


\hypertarget{classSimCityBuildingPlacer_abfa62a3346a2731c497f8de9c5d3795a}{\index{\-Sim\-City\-Building\-Placer@{\-Sim\-City\-Building\-Placer}!used\-Tile\-Position@{used\-Tile\-Position}}
\index{used\-Tile\-Position@{used\-Tile\-Position}!SimCityBuildingPlacer@{\-Sim\-City\-Building\-Placer}}
\subsubsection[{used\-Tile\-Position}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Sim\-City\-Building\-Placer\-::used\-Tile\-Position} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{tp, }
\item[{const \-B\-W\-A\-P\-I\-::\-Unit\-Type \&}]{ut}
\end{DoxyParamCaption}
)}}\label{classSimCityBuildingPlacer_abfa62a3346a2731c497f8de9c5d3795a}


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




\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\hyperlink{SimCityBuildingPlacer_8h}{\-Sim\-City\-Building\-Placer.\-h}\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Macro/\hyperlink{SimCityBuildingPlacer_8cpp}{\-Sim\-City\-Building\-Placer.\-cpp}\end{DoxyCompactItemize}
