\hypertarget{classMapManager}{\section{\-Map\-Manager \-Class \-Reference}
\label{classMapManager}\index{\-Map\-Manager@{\-Map\-Manager}}
}


{\ttfamily \#include $<$\-Map\-Manager.\-h$>$}



\-Inheritance diagram for \-Map\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classMapManager__inherit__graph}
\end{center}
\end{figure}


\-Collaboration diagram for \-Map\-Manager\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classMapManager__coll__graph}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classMapManager_a3c7187495c6bd097151b9b185116f712}{on\-Unit\-Create} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$u)
\item 
void \hyperlink{classMapManager_ad3ec35638319dfbf99fa649aa9a3dd54}{on\-Unit\-Destroy} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$u)
\item 
void \hyperlink{classMapManager_acd5f6c51673c4dfc561916531454c037}{on\-Unit\-Show} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$u)
\item 
void \hyperlink{classMapManager_a8534e0a8d79958beaf4e6d1e4268619e}{on\-Unit\-Hide} (\-B\-W\-A\-P\-I\-::\-Unit $\ast$u)
\item 
void \hyperlink{classMapManager_a346147818e62ecea5e85a05362d6d233}{just\-Stormed} (\-B\-W\-A\-P\-I\-::\-Position p)
\item 
void \hyperlink{classMapManager_a7d12f0ffbc21d3ac0d5a2e2fc4ea4753}{pathfind} (\hyperlink{classBayesianUnit}{\-Bayesian\-Unit} $\ast$ptr, \-B\-W\-A\-P\-I\-::\-Unit $\ast$u, \-B\-W\-A\-P\-I\-::\-Tile\-Position start, \-B\-W\-A\-P\-I\-::\-Tile\-Position end)
\begin{DoxyCompactList}\small\item\em \-Helper function for registering a building aware pathfinding task. \end{DoxyCompactList}\item 
void \hyperlink{classMapManager_a2ed2f97eda845663a995d9fc9dfb49a6}{threat\-Aware\-Pathfind} (\hyperlink{classBayesianUnit}{\-Bayesian\-Unit} $\ast$ptr, \-B\-W\-A\-P\-I\-::\-Unit $\ast$u, \-B\-W\-A\-P\-I\-::\-Tile\-Position start, \-B\-W\-A\-P\-I\-::\-Tile\-Position end, int damages)
\begin{DoxyCompactList}\small\item\em \-Helper function for registering a damages aware pathfinding task (\-N\-O\-T buildings aware, perhaps change...) \end{DoxyCompactList}\item 
void \hyperlink{classMapManager_acfe654e3d317d83b2127d3481d18ca23}{cancel\-Pathfind} (\hyperlink{classBayesianUnit}{\-Bayesian\-Unit} $\ast$ptr)
\item 
const std\-::vector\*
$<$ \-B\-W\-A\-P\-I\-::\-Tile\-Position $>$ \& \hyperlink{classMapManager_a2a79e4f8aeee9f9fe817267a3df850e9}{get\-Path\-From\-Home\-To\-S\-L} (\-B\-W\-T\-A\-::\-Base\-Location $\ast$b)
\item 
void \hyperlink{classMapManager_a40be48970482cde4c1da89b28b1a1a7e}{update} ()
\item 
const std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \& \hyperlink{classMapManager_a0688b54cd5446739302ca503004b798f}{get\-Our\-Units} ()
\item 
const std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \& \hyperlink{classMapManager_aa3aef60a11393781c2cd38342ed7063b}{get\-Tracked\-Units} ()
\item 
const std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Bullet \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \& \hyperlink{classMapManager_aa604fb54be39732b80e63ac8918d109a}{get\-Tracked\-Storms} ()
\item 
\-B\-W\-A\-P\-I\-::\-Position \hyperlink{classMapManager_a396d51a5a40f349d2fcbd9f416f8b318}{closest\-Walkabable\-Same\-Region\-Or\-Connected} (\-B\-W\-A\-P\-I\-::\-Position p)
\item 
\-B\-W\-A\-P\-I\-::\-Tile\-Position \hyperlink{classMapManager_a0b9bb69699d0d7cdce28721edc3947dc}{closest\-Walkabable\-Same\-Region\-Or\-Connected} (\-B\-W\-A\-P\-I\-::\-Tile\-Position tp)
\item 
bool \hyperlink{classMapManager_a09a7b6d91d927345279b2fc5c40055b3}{is\-B\-T\-Walkable} (int x, int \hyperlink{BuildOrderManager_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}{y})
\item 
bool \hyperlink{classMapManager_a901602383c3b07d9725a0e6406d1c4da}{is\-B\-T\-Walkable} (const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&tp)
\item 
void \hyperlink{classMapManager_a48bb06a55a5788663e4fe2eab108b26f}{draw\-Buildings} ()
\item 
void \hyperlink{classMapManager_a9ba15209d3e84c980e040fd0eb32aa9e}{draw\-Buildings\-Strict} ()
\item 
void \hyperlink{classMapManager_ac758126f8e7088de92b2461255c33f25}{draw\-Walkability} ()
\item 
void \hyperlink{classMapManager_ab51efff31eb6162cf9def99af36bcd24}{draw\-Low\-Res\-Walkability} ()
\item 
void \hyperlink{classMapManager_a9ae1a2ed9aa800c659e71ae2f22463cf}{draw\-Low\-Res\-Buildings} ()
\item 
void \hyperlink{classMapManager_aa7e4b66f5ae8c93285068729bb30b94d}{draw\-Ground\-Damages} ()
\item 
void \hyperlink{classMapManager_a961418d907a67da4f6ac721e73c2798f}{draw\-Air\-Damages} ()
\item 
void \hyperlink{classMapManager_adde31dead41964c6780a7b57bc5be4d6}{draw\-Ground\-Damages\-Grad} ()
\item 
void \hyperlink{classMapManager_a652011a61e9a54313e3b866796760985}{draw\-Air\-Damages\-Grad} ()
\item 
void \hyperlink{classMapManager_a02ef81e197cef1ebd4572d7e7af01df0}{draw\-Best\-Storms} ()
\end{DoxyCompactItemize}
\subsection*{\-Public \-Attributes}
\begin{DoxyCompactItemize}
\item 
bool $\ast$ \hyperlink{classMapManager_a1a8ada35fcbb958fab3d65ac6287f49e}{walkability}
\item 
bool $\ast$ \hyperlink{classMapManager_a285ebc7b0a46829c75e5c4987504b114}{buildings\-\_\-wt}
\item 
bool $\ast$ \hyperlink{classMapManager_ab9bee69b29ecd9c0d0a06673ddb9a144}{buildings}
\item 
int $\ast$ \hyperlink{classMapManager_a113a6b383447d2f7b6fa11d974a9230d}{ground\-Damages}
\item 
int $\ast$ \hyperlink{classMapManager_a2b6f84b76ac30e7f8c2e5bd45c7f9f74}{air\-Damages}
\item 
\hyperlink{structVec}{\-Vec} $\ast$ \hyperlink{classMapManager_a1132ebb351ec1a9f143acc7e63821e62}{ground\-Damages\-Grad}
\item 
\hyperlink{structVec}{\-Vec} $\ast$ \hyperlink{classMapManager_aea23a41e99203abddd3a016a689ba5bf}{air\-Damages\-Grad}
\item 
std\-::map$<$ \-B\-W\-T\-A\-::\-Region \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \hyperlink{classMapManager_ab2fcd514f5cbb52a4aa6e6a78266ae02}{regions\-P\-F\-Centers}
\item 
std\-::map$<$ \-B\-W\-T\-A\-::\-Region \*
$\ast$, std\-::map$<$ \-B\-W\-T\-A\-::\-Region \*
$\ast$, double $>$ $>$ \hyperlink{classMapManager_abf03f382959993a57d30240864af11ab}{dist\-Regions}
\item 
std\-::map$<$ \-B\-W\-T\-A\-::\-Region \*
$\ast$, std\-::map$<$ double, \*
\-B\-W\-T\-A\-::\-Region $\ast$ $>$ $>$ \hyperlink{classMapManager_ac605762655b4399054fe911db2acc47d}{regions\-By\-Dist}
\item 
std\-::map$<$ \-B\-W\-T\-A\-::\-Base\-Location \*
$\ast$, std\-::map\*
$<$ \-B\-W\-T\-A\-::\-Base\-Location $\ast$, double $>$ $>$ \hyperlink{classMapManager_a678d3428820ba31937f14909f1ee9836}{dist\-Base\-To\-Base}
\item 
std\-::map$<$ \-B\-W\-T\-A\-::\-Region \*
$\ast$, \-B\-W\-A\-P\-I\-::\-Tile\-Position $>$ \hyperlink{classMapManager_a69704ca383bd6356bcebc72ecc96772e}{regions\-Inside\-Center}
\item 
std\-::map$<$ \-Position, int $>$ \hyperlink{classMapManager_af1bab9b791db1f7b005251caa77ec9df}{storm\-Pos}
\end{DoxyCompactItemize}
\subsection*{\-Friends}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classMapManager_a67378773829d9bae02d984da09d14fab}{\-C\-Singleton$<$ Map\-Manager $>$}
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
\-From \hyperlink{namespaceBWAPI}{\-B\-W\-A\-P\-I}'s doc\-: \-Positions are measured in pixels and are the highest resolution \-Walk \-Tiles -\/ each walk tile is an 8x8 square of pixels. \-These are called walk tiles because walkability data is available at this resolution. \-Build \-Tiles -\/ each build tile is a 4x4 square of walk tiles, or a 32x32 square of pixels. \-These are called build tiles because buildability data is available at this resolution. 

\subsection{\-Member \-Function \-Documentation}
\hypertarget{classMapManager_acfe654e3d317d83b2127d3481d18ca23}{\index{\-Map\-Manager@{\-Map\-Manager}!cancel\-Pathfind@{cancel\-Pathfind}}
\index{cancel\-Pathfind@{cancel\-Pathfind}!MapManager@{\-Map\-Manager}}
\subsubsection[{cancel\-Pathfind}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::cancel\-Pathfind} (
\begin{DoxyParamCaption}
\item[{{\bf \-Bayesian\-Unit} $\ast$}]{ptr}
\end{DoxyParamCaption}
)}}\label{classMapManager_acfe654e3d317d83b2127d3481d18ca23}
\-Removes all the pathfinding tasks from this unit, being it in the queue or the current task /!$\backslash$ \-It is important to cancel\-Pathfind when a \hyperlink{classBayesianUnit}{\-Bayesian\-Unit} dies \hypertarget{classMapManager_a396d51a5a40f349d2fcbd9f416f8b318}{\index{\-Map\-Manager@{\-Map\-Manager}!closest\-Walkabable\-Same\-Region\-Or\-Connected@{closest\-Walkabable\-Same\-Region\-Or\-Connected}}
\index{closest\-Walkabable\-Same\-Region\-Or\-Connected@{closest\-Walkabable\-Same\-Region\-Or\-Connected}!MapManager@{\-Map\-Manager}}
\subsubsection[{closest\-Walkabable\-Same\-Region\-Or\-Connected}]{\setlength{\rightskip}{0pt plus 5cm}\-B\-W\-A\-P\-I\-::\-Position {\bf \-Map\-Manager\-::closest\-Walkabable\-Same\-Region\-Or\-Connected} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Position}]{p}
\end{DoxyParamCaption}
)}}\label{classMapManager_a396d51a5a40f349d2fcbd9f416f8b318}


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


\hypertarget{classMapManager_a0b9bb69699d0d7cdce28721edc3947dc}{\index{\-Map\-Manager@{\-Map\-Manager}!closest\-Walkabable\-Same\-Region\-Or\-Connected@{closest\-Walkabable\-Same\-Region\-Or\-Connected}}
\index{closest\-Walkabable\-Same\-Region\-Or\-Connected@{closest\-Walkabable\-Same\-Region\-Or\-Connected}!MapManager@{\-Map\-Manager}}
\subsubsection[{closest\-Walkabable\-Same\-Region\-Or\-Connected}]{\setlength{\rightskip}{0pt plus 5cm}\-B\-W\-A\-P\-I\-::\-Tile\-Position {\bf \-Map\-Manager\-::closest\-Walkabable\-Same\-Region\-Or\-Connected} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{tp}
\end{DoxyParamCaption}
)}}\label{classMapManager_a0b9bb69699d0d7cdce28721edc3947dc}
\hypertarget{classMapManager_a961418d907a67da4f6ac721e73c2798f}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Air\-Damages@{draw\-Air\-Damages}}
\index{draw\-Air\-Damages@{draw\-Air\-Damages}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Air\-Damages}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Air\-Damages} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a961418d907a67da4f6ac721e73c2798f}
\hypertarget{classMapManager_a652011a61e9a54313e3b866796760985}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Air\-Damages\-Grad@{draw\-Air\-Damages\-Grad}}
\index{draw\-Air\-Damages\-Grad@{draw\-Air\-Damages\-Grad}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Air\-Damages\-Grad}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Air\-Damages\-Grad} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a652011a61e9a54313e3b866796760985}


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


\hypertarget{classMapManager_a02ef81e197cef1ebd4572d7e7af01df0}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Best\-Storms@{draw\-Best\-Storms}}
\index{draw\-Best\-Storms@{draw\-Best\-Storms}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Best\-Storms}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Best\-Storms} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a02ef81e197cef1ebd4572d7e7af01df0}


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


\hypertarget{classMapManager_a48bb06a55a5788663e4fe2eab108b26f}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Buildings@{draw\-Buildings}}
\index{draw\-Buildings@{draw\-Buildings}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Buildings}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Buildings} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a48bb06a55a5788663e4fe2eab108b26f}
\hypertarget{classMapManager_a9ba15209d3e84c980e040fd0eb32aa9e}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Buildings\-Strict@{draw\-Buildings\-Strict}}
\index{draw\-Buildings\-Strict@{draw\-Buildings\-Strict}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Buildings\-Strict}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Buildings\-Strict} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a9ba15209d3e84c980e040fd0eb32aa9e}
\hypertarget{classMapManager_aa7e4b66f5ae8c93285068729bb30b94d}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Ground\-Damages@{draw\-Ground\-Damages}}
\index{draw\-Ground\-Damages@{draw\-Ground\-Damages}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Ground\-Damages}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Ground\-Damages} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_aa7e4b66f5ae8c93285068729bb30b94d}
\hypertarget{classMapManager_adde31dead41964c6780a7b57bc5be4d6}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Ground\-Damages\-Grad@{draw\-Ground\-Damages\-Grad}}
\index{draw\-Ground\-Damages\-Grad@{draw\-Ground\-Damages\-Grad}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Ground\-Damages\-Grad}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Ground\-Damages\-Grad} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_adde31dead41964c6780a7b57bc5be4d6}


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


\hypertarget{classMapManager_a9ae1a2ed9aa800c659e71ae2f22463cf}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Low\-Res\-Buildings@{draw\-Low\-Res\-Buildings}}
\index{draw\-Low\-Res\-Buildings@{draw\-Low\-Res\-Buildings}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Low\-Res\-Buildings}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Low\-Res\-Buildings} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a9ae1a2ed9aa800c659e71ae2f22463cf}
\hypertarget{classMapManager_ab51efff31eb6162cf9def99af36bcd24}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Low\-Res\-Walkability@{draw\-Low\-Res\-Walkability}}
\index{draw\-Low\-Res\-Walkability@{draw\-Low\-Res\-Walkability}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Low\-Res\-Walkability}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Low\-Res\-Walkability} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_ab51efff31eb6162cf9def99af36bcd24}
\hypertarget{classMapManager_ac758126f8e7088de92b2461255c33f25}{\index{\-Map\-Manager@{\-Map\-Manager}!draw\-Walkability@{draw\-Walkability}}
\index{draw\-Walkability@{draw\-Walkability}!MapManager@{\-Map\-Manager}}
\subsubsection[{draw\-Walkability}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::draw\-Walkability} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_ac758126f8e7088de92b2461255c33f25}
\hypertarget{classMapManager_a0688b54cd5446739302ca503004b798f}{\index{\-Map\-Manager@{\-Map\-Manager}!get\-Our\-Units@{get\-Our\-Units}}
\index{get\-Our\-Units@{get\-Our\-Units}!MapManager@{\-Map\-Manager}}
\subsubsection[{get\-Our\-Units}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \& {\bf \-Map\-Manager\-::get\-Our\-Units} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a0688b54cd5446739302ca503004b798f}
\hypertarget{classMapManager_a2a79e4f8aeee9f9fe817267a3df850e9}{\index{\-Map\-Manager@{\-Map\-Manager}!get\-Path\-From\-Home\-To\-S\-L@{get\-Path\-From\-Home\-To\-S\-L}}
\index{get\-Path\-From\-Home\-To\-S\-L@{get\-Path\-From\-Home\-To\-S\-L}!MapManager@{\-Map\-Manager}}
\subsubsection[{get\-Path\-From\-Home\-To\-S\-L}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::vector$<$ \-B\-W\-A\-P\-I\-::\-Tile\-Position $>$ \& {\bf \-Map\-Manager\-::get\-Path\-From\-Home\-To\-S\-L} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-T\-A\-::\-Base\-Location $\ast$}]{b}
\end{DoxyParamCaption}
)}}\label{classMapManager_a2a79e4f8aeee9f9fe817267a3df850e9}


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


\hypertarget{classMapManager_aa604fb54be39732b80e63ac8918d109a}{\index{\-Map\-Manager@{\-Map\-Manager}!get\-Tracked\-Storms@{get\-Tracked\-Storms}}
\index{get\-Tracked\-Storms@{get\-Tracked\-Storms}!MapManager@{\-Map\-Manager}}
\subsubsection[{get\-Tracked\-Storms}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Bullet $\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \& {\bf \-Map\-Manager\-::get\-Tracked\-Storms} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_aa604fb54be39732b80e63ac8918d109a}


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


\hypertarget{classMapManager_aa3aef60a11393781c2cd38342ed7063b}{\index{\-Map\-Manager@{\-Map\-Manager}!get\-Tracked\-Units@{get\-Tracked\-Units}}
\index{get\-Tracked\-Units@{get\-Tracked\-Units}!MapManager@{\-Map\-Manager}}
\subsubsection[{get\-Tracked\-Units}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::map$<$ \-B\-W\-A\-P\-I\-::\-Unit $\ast$, \-B\-W\-A\-P\-I\-::\-Position $>$ \& {\bf \-Map\-Manager\-::get\-Tracked\-Units} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_aa3aef60a11393781c2cd38342ed7063b}
\hypertarget{classMapManager_a09a7b6d91d927345279b2fc5c40055b3}{\index{\-Map\-Manager@{\-Map\-Manager}!is\-B\-T\-Walkable@{is\-B\-T\-Walkable}}
\index{is\-B\-T\-Walkable@{is\-B\-T\-Walkable}!MapManager@{\-Map\-Manager}}
\subsubsection[{is\-B\-T\-Walkable}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Map\-Manager\-::is\-B\-T\-Walkable} (
\begin{DoxyParamCaption}
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}}\label{classMapManager_a09a7b6d91d927345279b2fc5c40055b3}


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


\hypertarget{classMapManager_a901602383c3b07d9725a0e6406d1c4da}{\index{\-Map\-Manager@{\-Map\-Manager}!is\-B\-T\-Walkable@{is\-B\-T\-Walkable}}
\index{is\-B\-T\-Walkable@{is\-B\-T\-Walkable}!MapManager@{\-Map\-Manager}}
\subsubsection[{is\-B\-T\-Walkable}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-Map\-Manager\-::is\-B\-T\-Walkable} (
\begin{DoxyParamCaption}
\item[{const \-B\-W\-A\-P\-I\-::\-Tile\-Position \&}]{tp}
\end{DoxyParamCaption}
)}}\label{classMapManager_a901602383c3b07d9725a0e6406d1c4da}
\hypertarget{classMapManager_a346147818e62ecea5e85a05362d6d233}{\index{\-Map\-Manager@{\-Map\-Manager}!just\-Stormed@{just\-Stormed}}
\index{just\-Stormed@{just\-Stormed}!MapManager@{\-Map\-Manager}}
\subsubsection[{just\-Stormed}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::just\-Stormed} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Position}]{p}
\end{DoxyParamCaption}
)}}\label{classMapManager_a346147818e62ecea5e85a05362d6d233}


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


\hypertarget{classMapManager_a3c7187495c6bd097151b9b185116f712}{\index{\-Map\-Manager@{\-Map\-Manager}!on\-Unit\-Create@{on\-Unit\-Create}}
\index{on\-Unit\-Create@{on\-Unit\-Create}!MapManager@{\-Map\-Manager}}
\subsubsection[{on\-Unit\-Create}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::on\-Unit\-Create} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{u}
\end{DoxyParamCaption}
)}}\label{classMapManager_a3c7187495c6bd097151b9b185116f712}


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


\hypertarget{classMapManager_ad3ec35638319dfbf99fa649aa9a3dd54}{\index{\-Map\-Manager@{\-Map\-Manager}!on\-Unit\-Destroy@{on\-Unit\-Destroy}}
\index{on\-Unit\-Destroy@{on\-Unit\-Destroy}!MapManager@{\-Map\-Manager}}
\subsubsection[{on\-Unit\-Destroy}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::on\-Unit\-Destroy} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{u}
\end{DoxyParamCaption}
)}}\label{classMapManager_ad3ec35638319dfbf99fa649aa9a3dd54}


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


\hypertarget{classMapManager_a8534e0a8d79958beaf4e6d1e4268619e}{\index{\-Map\-Manager@{\-Map\-Manager}!on\-Unit\-Hide@{on\-Unit\-Hide}}
\index{on\-Unit\-Hide@{on\-Unit\-Hide}!MapManager@{\-Map\-Manager}}
\subsubsection[{on\-Unit\-Hide}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::on\-Unit\-Hide} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{u}
\end{DoxyParamCaption}
)}}\label{classMapManager_a8534e0a8d79958beaf4e6d1e4268619e}


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


\hypertarget{classMapManager_acd5f6c51673c4dfc561916531454c037}{\index{\-Map\-Manager@{\-Map\-Manager}!on\-Unit\-Show@{on\-Unit\-Show}}
\index{on\-Unit\-Show@{on\-Unit\-Show}!MapManager@{\-Map\-Manager}}
\subsubsection[{on\-Unit\-Show}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::on\-Unit\-Show} (
\begin{DoxyParamCaption}
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{u}
\end{DoxyParamCaption}
)}}\label{classMapManager_acd5f6c51673c4dfc561916531454c037}


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


\hypertarget{classMapManager_a7d12f0ffbc21d3ac0d5a2e2fc4ea4753}{\index{\-Map\-Manager@{\-Map\-Manager}!pathfind@{pathfind}}
\index{pathfind@{pathfind}!MapManager@{\-Map\-Manager}}
\subsubsection[{pathfind}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::pathfind} (
\begin{DoxyParamCaption}
\item[{{\bf \-Bayesian\-Unit} $\ast$}]{ptr, }
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{u, }
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{start, }
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{end}
\end{DoxyParamCaption}
)}}\label{classMapManager_a7d12f0ffbc21d3ac0d5a2e2fc4ea4753}


\-Helper function for registering a building aware pathfinding task. 



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


\hypertarget{classMapManager_a2ed2f97eda845663a995d9fc9dfb49a6}{\index{\-Map\-Manager@{\-Map\-Manager}!threat\-Aware\-Pathfind@{threat\-Aware\-Pathfind}}
\index{threat\-Aware\-Pathfind@{threat\-Aware\-Pathfind}!MapManager@{\-Map\-Manager}}
\subsubsection[{threat\-Aware\-Pathfind}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::threat\-Aware\-Pathfind} (
\begin{DoxyParamCaption}
\item[{{\bf \-Bayesian\-Unit} $\ast$}]{ptr, }
\item[{\-B\-W\-A\-P\-I\-::\-Unit $\ast$}]{u, }
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{start, }
\item[{\-B\-W\-A\-P\-I\-::\-Tile\-Position}]{end, }
\item[{int}]{damages}
\end{DoxyParamCaption}
)}}\label{classMapManager_a2ed2f97eda845663a995d9fc9dfb49a6}


\-Helper function for registering a damages aware pathfinding task (\-N\-O\-T buildings aware, perhaps change...) 



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


\hypertarget{classMapManager_a40be48970482cde4c1da89b28b1a1a7e}{\index{\-Map\-Manager@{\-Map\-Manager}!update@{update}}
\index{update@{update}!MapManager@{\-Map\-Manager}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void {\bf \-Map\-Manager\-::update} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classMapManager_a40be48970482cde4c1da89b28b1a1a7e}
\-Update storm\-Pos

\-Prepare for the next update of \-\_\-storm\-Pos\-Buf thread

\-Launch the update of storms pos by unlocking the thread (waiting on this mutex)

\-Update the pathfinder

\-Fetch results if there are some

\-Prepare the next current\-Pathfind\-Work

\-Create the thread if it doesn't exist

\-Signal the pathfinder thread of incoming work 

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




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




\subsection{\-Friends \-And \-Related \-Function \-Documentation}
\hypertarget{classMapManager_a67378773829d9bae02d984da09d14fab}{\index{\-Map\-Manager@{\-Map\-Manager}!\-C\-Singleton$<$ Map\-Manager $>$@{\-C\-Singleton$<$ Map\-Manager $>$}}
\index{\-C\-Singleton$<$ Map\-Manager $>$@{\-C\-Singleton$<$ Map\-Manager $>$}!MapManager@{\-Map\-Manager}}
\subsubsection[{\-C\-Singleton$<$ Map\-Manager $>$}]{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf \-C\-Singleton}$<$ {\bf \-Map\-Manager} $>$\hspace{0.3cm}{\ttfamily  \mbox{[}friend\mbox{]}}}}\label{classMapManager_a67378773829d9bae02d984da09d14fab}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classMapManager_a2b6f84b76ac30e7f8c2e5bd45c7f9f74}{\index{\-Map\-Manager@{\-Map\-Manager}!air\-Damages@{air\-Damages}}
\index{air\-Damages@{air\-Damages}!MapManager@{\-Map\-Manager}}
\subsubsection[{air\-Damages}]{\setlength{\rightskip}{0pt plus 5cm}int$\ast$ {\bf \-Map\-Manager\-::air\-Damages}}}\label{classMapManager_a2b6f84b76ac30e7f8c2e5bd45c7f9f74}
\hypertarget{classMapManager_aea23a41e99203abddd3a016a689ba5bf}{\index{\-Map\-Manager@{\-Map\-Manager}!air\-Damages\-Grad@{air\-Damages\-Grad}}
\index{air\-Damages\-Grad@{air\-Damages\-Grad}!MapManager@{\-Map\-Manager}}
\subsubsection[{air\-Damages\-Grad}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Vec}$\ast$ {\bf \-Map\-Manager\-::air\-Damages\-Grad}}}\label{classMapManager_aea23a41e99203abddd3a016a689ba5bf}
\hypertarget{classMapManager_ab9bee69b29ecd9c0d0a06673ddb9a144}{\index{\-Map\-Manager@{\-Map\-Manager}!buildings@{buildings}}
\index{buildings@{buildings}!MapManager@{\-Map\-Manager}}
\subsubsection[{buildings}]{\setlength{\rightskip}{0pt plus 5cm}bool$\ast$ {\bf \-Map\-Manager\-::buildings}}}\label{classMapManager_ab9bee69b29ecd9c0d0a06673ddb9a144}
\hypertarget{classMapManager_a285ebc7b0a46829c75e5c4987504b114}{\index{\-Map\-Manager@{\-Map\-Manager}!buildings\-\_\-wt@{buildings\-\_\-wt}}
\index{buildings\-\_\-wt@{buildings\-\_\-wt}!MapManager@{\-Map\-Manager}}
\subsubsection[{buildings\-\_\-wt}]{\setlength{\rightskip}{0pt plus 5cm}bool$\ast$ {\bf \-Map\-Manager\-::buildings\-\_\-wt}}}\label{classMapManager_a285ebc7b0a46829c75e5c4987504b114}
\hypertarget{classMapManager_a678d3428820ba31937f14909f1ee9836}{\index{\-Map\-Manager@{\-Map\-Manager}!dist\-Base\-To\-Base@{dist\-Base\-To\-Base}}
\index{dist\-Base\-To\-Base@{dist\-Base\-To\-Base}!MapManager@{\-Map\-Manager}}
\subsubsection[{dist\-Base\-To\-Base}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-T\-A\-::\-Base\-Location$\ast$, std\-::map$<$\-B\-W\-T\-A\-::\-Base\-Location$\ast$, double$>$ $>$ {\bf \-Map\-Manager\-::dist\-Base\-To\-Base}}}\label{classMapManager_a678d3428820ba31937f14909f1ee9836}
\hypertarget{classMapManager_abf03f382959993a57d30240864af11ab}{\index{\-Map\-Manager@{\-Map\-Manager}!dist\-Regions@{dist\-Regions}}
\index{dist\-Regions@{dist\-Regions}!MapManager@{\-Map\-Manager}}
\subsubsection[{dist\-Regions}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-T\-A\-::\-Region$\ast$, std\-::map$<$\-B\-W\-T\-A\-::\-Region$\ast$, double$>$ $>$ {\bf \-Map\-Manager\-::dist\-Regions}}}\label{classMapManager_abf03f382959993a57d30240864af11ab}
\hypertarget{classMapManager_a113a6b383447d2f7b6fa11d974a9230d}{\index{\-Map\-Manager@{\-Map\-Manager}!ground\-Damages@{ground\-Damages}}
\index{ground\-Damages@{ground\-Damages}!MapManager@{\-Map\-Manager}}
\subsubsection[{ground\-Damages}]{\setlength{\rightskip}{0pt plus 5cm}int$\ast$ {\bf \-Map\-Manager\-::ground\-Damages}}}\label{classMapManager_a113a6b383447d2f7b6fa11d974a9230d}
\hypertarget{classMapManager_a1132ebb351ec1a9f143acc7e63821e62}{\index{\-Map\-Manager@{\-Map\-Manager}!ground\-Damages\-Grad@{ground\-Damages\-Grad}}
\index{ground\-Damages\-Grad@{ground\-Damages\-Grad}!MapManager@{\-Map\-Manager}}
\subsubsection[{ground\-Damages\-Grad}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-Vec}$\ast$ {\bf \-Map\-Manager\-::ground\-Damages\-Grad}}}\label{classMapManager_a1132ebb351ec1a9f143acc7e63821e62}
\hypertarget{classMapManager_ac605762655b4399054fe911db2acc47d}{\index{\-Map\-Manager@{\-Map\-Manager}!regions\-By\-Dist@{regions\-By\-Dist}}
\index{regions\-By\-Dist@{regions\-By\-Dist}!MapManager@{\-Map\-Manager}}
\subsubsection[{regions\-By\-Dist}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-T\-A\-::\-Region$\ast$, std\-::map$<$double, \-B\-W\-T\-A\-::\-Region$\ast$$>$ $>$ {\bf \-Map\-Manager\-::regions\-By\-Dist}}}\label{classMapManager_ac605762655b4399054fe911db2acc47d}
\hypertarget{classMapManager_a69704ca383bd6356bcebc72ecc96772e}{\index{\-Map\-Manager@{\-Map\-Manager}!regions\-Inside\-Center@{regions\-Inside\-Center}}
\index{regions\-Inside\-Center@{regions\-Inside\-Center}!MapManager@{\-Map\-Manager}}
\subsubsection[{regions\-Inside\-Center}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-T\-A\-::\-Region$\ast$, \-B\-W\-A\-P\-I\-::\-Tile\-Position$>$ {\bf \-Map\-Manager\-::regions\-Inside\-Center}}}\label{classMapManager_a69704ca383bd6356bcebc72ecc96772e}
\hypertarget{classMapManager_ab2fcd514f5cbb52a4aa6e6a78266ae02}{\index{\-Map\-Manager@{\-Map\-Manager}!regions\-P\-F\-Centers@{regions\-P\-F\-Centers}}
\index{regions\-P\-F\-Centers@{regions\-P\-F\-Centers}!MapManager@{\-Map\-Manager}}
\subsubsection[{regions\-P\-F\-Centers}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-B\-W\-T\-A\-::\-Region$\ast$, \-B\-W\-A\-P\-I\-::\-Position$>$ {\bf \-Map\-Manager\-::regions\-P\-F\-Centers}}}\label{classMapManager_ab2fcd514f5cbb52a4aa6e6a78266ae02}
\hypertarget{classMapManager_af1bab9b791db1f7b005251caa77ec9df}{\index{\-Map\-Manager@{\-Map\-Manager}!storm\-Pos@{storm\-Pos}}
\index{storm\-Pos@{storm\-Pos}!MapManager@{\-Map\-Manager}}
\subsubsection[{storm\-Pos}]{\setlength{\rightskip}{0pt plus 5cm}std\-::map$<$\-Position, int$>$ {\bf \-Map\-Manager\-::storm\-Pos}}}\label{classMapManager_af1bab9b791db1f7b005251caa77ec9df}
\hypertarget{classMapManager_a1a8ada35fcbb958fab3d65ac6287f49e}{\index{\-Map\-Manager@{\-Map\-Manager}!walkability@{walkability}}
\index{walkability@{walkability}!MapManager@{\-Map\-Manager}}
\subsubsection[{walkability}]{\setlength{\rightskip}{0pt plus 5cm}bool$\ast$ {\bf \-Map\-Manager\-::walkability}}}\label{classMapManager_a1a8ada35fcbb958fab3d65ac6287f49e}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Regions/\hyperlink{MapManager_8h}{\-Map\-Manager.\-h}\item 
\-Snippy\-Hollo\-W-\/\-Broodwar\-Bot\-Q-\/f01ab56/src/\-Regions/\hyperlink{MapManager_8cpp}{\-Map\-Manager.\-cpp}\end{DoxyCompactItemize}
