Commit 01d7ea87 authored by Ozaq's avatar Ozaq Committed by Mohcine Chraibi

Fix trivially fixable warnings (#411)

3/2 more serious warnigns on gcc/clang remain.

A bunch of -Wdeprecated-copy warnings have been fixed
E.g. class Point had explicit Copy C-tor which forces an implicit copy
asignment operator. -Wdeprecated-copy complains about this. See rule of
five.

Several signed/unsigned comparisons could be removed by changing loop
variables to size_t instead of int or unsigned int.

Missing return statements added several functions.

Several variable shadowing warnings have been fixed by renaming the
shadowing variable.

Unused parameters have been omited from function signatures so that no
UNUSED macro is neccesary anymore. Also the macro has been removed since
the lambda capture trick now triggers a warning on clang for an unused
cpature. Since now all unused vars are gone I simply removed the macro.

Some unneccesary const casts have been removed.
parent ea1fbaf7
......@@ -119,7 +119,7 @@ string TrajectoriesJPSV04::WritePed(Pedestrian* ped)
return string(tmp);
}
void TrajectoriesJPSV04::WriteHeader(long nPeds, double fps, Building* building, int seed, int count)
void TrajectoriesJPSV04::WriteHeader(long nPeds, double fps, Building* building, int seed, int /*count*/)
{
building->GetCaption();
string tmp;
......@@ -356,6 +356,7 @@ std::string getSourceFileName(const std::string & GetProjectFile)
}
return ret;
}
return ret;
}
std::string getEventFileName(const std::string & GetProjectFile)
......@@ -552,19 +553,19 @@ void TrajectoriesFLAT::WriteFooter()
{
}
void TrajectoriesFLAT::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > sources)
void TrajectoriesFLAT::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > /*sources*/)
{
}
void TrajectoriesVTK::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > sources)
void TrajectoriesVTK::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > /*sources*/)
{
}
void TrajectoriesJPSV06::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > sources)
void TrajectoriesJPSV06::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > /*sources*/)
{
}
void TrajectoriesXML_MESH::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > sources)
void TrajectoriesXML_MESH::WriteSources(const std::vector<std::shared_ptr<AgentsSource> > /*sources*/)
{
}
......@@ -648,7 +649,7 @@ void TrajectoriesVTK::WriteFooter()
}
void TrajectoriesJPSV06::WriteHeader(long nPeds, double fps, Building* building, int seed, int count)
void TrajectoriesJPSV06::WriteHeader(long nPeds, double fps, Building* building, int seed, int /*count*/)
{
building->GetCaption();
string tmp;
......@@ -804,7 +805,7 @@ void TrajectoriesXML_MESH::WriteGeometry(Building* building)
}
void TrajectoriesJPSV05::WriteHeader(long nPeds, double fps, Building* building, int seed, int count)
void TrajectoriesJPSV05::WriteHeader(long nPeds, double fps, Building* building, int seed, int /*count*/)
{
building->GetCaption();
string tmp;
......
......@@ -361,7 +361,7 @@ void Simulation::UpdateRoutesAndLocations()
// }
#pragma omp parallel for shared(pedsToRemove, allRooms)
for (signed int p = 0; p < allPeds.size(); ++p) {
for (size_t p = 0; p < allPeds.size(); ++p) {
auto ped = allPeds[p];
Room* room = _building->GetRoom(ped->GetRoomID());
SubRoom* sub0 = room->GetSubRoom(ped->GetSubRoomID());
......
......@@ -25,7 +25,7 @@ int Event::GetId() const
return _id;
}
const DoorState Event::GetState() const
const DoorState& Event::GetState() const
{
return _state;
}
......
......@@ -38,7 +38,7 @@ public:
/**
* @return the state (open, close) of the event
*/
const DoorState GetState() const;
const DoorState& GetState() const;
/**
* @return the time at which the event was recorded
......
......@@ -726,6 +726,7 @@ Router * EventManager::CreateRouter(const RoutingStrategy& strategy)
case ROUTING_FF_QUICKEST:
rout = new FFRouter(ROUTING_FF_QUICKEST, ROUTING_FF_QUICKEST, _building->GetConfig()->get_has_specific_goals(), _building->GetConfig());
break;
default:
Log->Write("ERROR: \twrong value for routing strategy [%d]!!!\n", strategy );
......
......@@ -687,7 +687,7 @@ bool Building::resetGeometry(std::shared_ptr<TrainTimeTable> tab)
// std::cout << "temp Added Doors: " <<TempAddedDoors[tab->id].size() << "\n";
return true;
}
bool Building::InitPlatforms()
void Building::InitPlatforms()
{
int num_platform = -1;
for (auto& roomItr : _rooms)
......
......@@ -318,7 +318,7 @@ public:
private:
bool InitInsideGoals();
bool InitPlatforms();
void InitPlatforms();
void StringExplode(std::string str, std::string separator, std::vector<std::string>* results);
/** @defgroup auto-correct-geometry
* functions used to auto-correct the geometry.
......
......@@ -242,8 +242,8 @@ bool Goal::ConvertLineToPoly()
_crossing->SetPoint2(point2);
}else{
_crossing->SetPoint1(_poly[0]);
Line line(_poly[_poly.size()/2], _poly[(_poly.size()/2)+1], 0);
_crossing->SetPoint2(line.GetCentre());
Line tmp_line(_poly[_poly.size()/2], _poly[(_poly.size()/2)+1], 0);
_crossing->SetPoint2(tmp_line.GetCentre());
}
......@@ -352,9 +352,9 @@ int Goal::GetRoomID() const
return _roomID;
}
void Goal::SetRoomID(int _roomID)
void Goal::SetRoomID(int roomID)
{
Goal::_roomID = _roomID;
_roomID = roomID;
}
int Goal::GetSubRoomID() const
......@@ -362,7 +362,7 @@ int Goal::GetSubRoomID() const
return _subRoomID;
}
void Goal::SetSubRoomID(int _subRoomID)
void Goal::SetSubRoomID(int subRoomID)
{
Goal::_subRoomID = _subRoomID;
_subRoomID = subRoomID;
}
......@@ -86,7 +86,7 @@ bool GoalManager::CheckInsideWaitingArea(Pedestrian* ped, int goalID)
Goal* goal = _allGoals[goalID];
if (goal!=nullptr){
if (WaitingArea* wa = dynamic_cast<WaitingArea*>(goal)) {
if (dynamic_cast<WaitingArea*>(goal)) {
return goal->IsInsideGoal(ped->GetPos());
}
}
......
......@@ -67,14 +67,6 @@ int Line::GetUniqueID() const
return _uid;
}
Line::Line(const Line& orig):
_point1(orig.GetPoint1()), _point2(orig.GetPoint2()), _centre(orig.GetCentre()), _length(orig.GetLength()), _uid(orig.GetUniqueID())
{
}
Line::~Line()
{
}
/*************************************************************
Setter-Funktionen
......
......@@ -60,9 +60,7 @@ public:
Line(const Point& p1, const Point& p2);
Line(const Line& orig);
virtual ~Line();
virtual ~Line() = default;
/**
* All Line elements (also derived class) have a unique ID
......
......@@ -32,16 +32,6 @@
/************************************************************
Konstruktoren
************************************************************/
Point::Point(const Point& orig)
{
// std::cout << "Point: " << toString() << std::endl;
// std::cout << "orig: " << toString() << std::endl;
_x = orig._x;
_y = orig._y;
}
std::string Point::toString() const
{
std::stringstream tmp;
......
......@@ -53,13 +53,6 @@ public:
*/
Point(double x = 0, double y = 0) : _x(x), _y(y) {};
/**
* **Copy-Ctor**
* Constructs a new point as copy of the original point.
* @param [in] orig: original point which shall be copied
*/
Point(const Point& orig);
/// Norm
double Norm() const;
......
......@@ -10,9 +10,9 @@ int WaitingArea::getMaxNumPed() const
return maxNumPed;
}
void WaitingArea::setMaxNumPed(int maxNumPed)
void WaitingArea::setMaxNumPed(int newMaxNumPed)
{
WaitingArea::maxNumPed = maxNumPed;
maxNumPed = newMaxNumPed;
}
int WaitingArea::getMinNumPed() const
......@@ -20,9 +20,9 @@ int WaitingArea::getMinNumPed() const
return minNumPed;
}
void WaitingArea::setMinNumPed(int minNumPed)
void WaitingArea::setMinNumPed(int newMinNumPed)
{
WaitingArea::minNumPed = minNumPed;
minNumPed = newMinNumPed;
}
bool WaitingArea::isOpen() const
......@@ -30,9 +30,9 @@ bool WaitingArea::isOpen() const
return open;
}
void WaitingArea::setOpen(bool open)
void WaitingArea::setOpen(bool newOpenState)
{
WaitingArea::open = open;
open = newOpenState;
}
bool WaitingArea::isGlobalTimer() const
......@@ -51,9 +51,9 @@ const std::map<int, double>& WaitingArea::getNextGoals() const
return nextGoals;
}
bool WaitingArea::setNextGoals(const std::map<int, double>& nextGoals)
bool WaitingArea::setNextGoals(const std::map<int, double>& newNextGoals)
{
WaitingArea::nextGoals = nextGoals;
nextGoals = newNextGoals;
nextGoalsOpen.clear();
......@@ -122,9 +122,9 @@ double WaitingArea::getWaitingTime() const
return waitingTime;
}
void WaitingArea::setWaitingTime(double waitingTime)
void WaitingArea::setWaitingTime(double newWaitingTime)
{
WaitingArea::waitingTime = waitingTime;
waitingTime = newWaitingTime;
}
int WaitingArea::GetNextGoal()
......@@ -158,9 +158,6 @@ void WaitingArea::removePed(int ped)
if (pedInside.size() < minNumPed){
startTime = -1.;
}
}
void WaitingArea::startTimer(double time)
......@@ -180,7 +177,7 @@ bool WaitingArea::isWaiting(double time, const Building* building)
startTimer(time);
}
if ((trans == nullptr) ){
if (trans == nullptr){
if (globalTimer){
if (time > waitingTime){
return false;
......@@ -210,7 +207,7 @@ int WaitingArea::getTransitionID() const
return transitionID;
}
void WaitingArea::setTransitionID(int transitionID)
void WaitingArea::setTransitionID(int newTransitionID)
{
WaitingArea::transitionID = transitionID;
transitionID = newTransitionID;
}
......@@ -42,11 +42,6 @@ Wall::Wall(const Point& p1, const Point& p2, const std::string& type) : Line(p1,
{
}
Wall::Wall(const Wall& orig) : Line(orig)
{
_type=orig.GetType();
}
void Wall::WriteToErrorLog() const
{
char tmp[CLENGTH];
......
......@@ -45,9 +45,9 @@ public:
Wall(const Point& p1, const Point& p2, const std::string& type="internal");
/**
* Constructor
* Destructor
*/
Wall(const Wall& orig);
~Wall() override = default;
/**
* set/get the wall type. Values are external and internal
......@@ -67,7 +67,7 @@ public:
/**
* @return a nicely formated string of the object
*/
virtual std::string Write() const;
std::string Write() const override;
private:
std::string _type;
......
......@@ -120,9 +120,10 @@ bool GradientModel::Init (Building* building)
pedsToRemove.clear();
bool error_occurred = false;
#pragma omp parallel for
for(signed int p=0;p<allPeds.size();p++) {
for(size_t p=0;p<allPeds.size();p++) {
Pedestrian* ped = allPeds[p];
double cosPhi, sinPhi;
double cosPhi = 0;
double sinPhi = 0;
//a destination could not be found for that pedestrian
if (ped->FindRoute() == -1) {
Log->Write(
......
......@@ -202,7 +202,6 @@ void VelocityModel::ComputeNextTimeStep(double current, double deltaT, Building*
vector<Pedestrian*> neighbours;
building->GetGrid()->GetNeighbourhood(ped,neighbours);
double time = Pedestrian::GetGlobalTime();
int size = (int) neighbours.size();
//// if (ped->GetID() == 71) {
//// std::cout << "------------------------------------" << std::endl;
......
......@@ -252,8 +252,8 @@ void LCGrid::GetNeighbourhood(const Pedestrian* ped, vector<Pedestrian*>& neighb
if ((myID == 70) && (fmod(Pedestrian::GetGlobalTime() , 45.) == 0) ){
std::cout << Pedestrian::GetGlobalTime() << ":\t\tNeighborhood of 71 " << neighbourhood.size() << std::endl;
for (auto& ped : neighbourhood){
std::cout << "Neighbor added: " << ped->GetID() << " at " << ped->GetPos().toString() << std::endl;
for (auto& neighbour : neighbourhood){
std::cout << "Neighbor added: " << neighbour->GetID() << " at " << neighbour->GetPos().toString() << std::endl;
}
std::cout << "---------------------------" << std::endl;
......
......@@ -34,7 +34,6 @@
#include "AgentsQueue.h"
#include "../voronoi-boost/VoronoiPositionGenerator.h"
#define UNUSED(x) [&x]{}() // c++11 silence warnings
using namespace std;
......
......@@ -55,21 +55,6 @@ JEllipse::JEllipse()
_vel0 = 0; // desired speed
}
JEllipse::JEllipse(const JEllipse& orig)
{
_vel = orig.GetV(); // velocity vector
_center = orig.GetCenter();
_cosPhi = orig.GetCosPhi();
_sinPhi = orig.GetSinPhi();
_Xp = orig.GetXp(); //x Ellipse-coord of the centre (Center in (xc,yc) )
_Amin = orig.GetAmin(); // Semi-axis in direction of motion: pAmin + V * pAv
_Av = orig.GetAv();
_Bmin = orig.GetBmin(); // Semi-axis in direction of shoulders: pBmax - V *[(pBmax - pBmin) / V0]
_Bmax = orig.GetBmax();
_do_stretch = orig.DoesStretch();
_vel0 = orig.GetV0(); // desired speed
}
/*************************************************************
Setter-Funktionen
......
......@@ -50,9 +50,7 @@ private:
public:
JEllipse();
JEllipse(const JEllipse& orig);
void SetV(const Point& v);
......
......@@ -40,8 +40,6 @@
//#include <ctime>
#include <chrono>
#define UNUSED(x) [&x]{}() // c++11 silence warnings
DirectionStrategy::DirectionStrategy()
{
}
......@@ -51,26 +49,23 @@ DirectionStrategy::~DirectionStrategy()
{
}
double DirectionStrategy::GetDistance2Wall(Pedestrian* ped) const
double DirectionStrategy::GetDistance2Wall(Pedestrian* /*ped*/) const
{
return -1.;
}
double DirectionStrategy::GetDistance2Target(Pedestrian* ped, int UID)
double DirectionStrategy::GetDistance2Target(Pedestrian* /*ped*/, int /*UID*/)
{
return -1.;
}
/// 1
Point DirectionMiddlePoint::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionMiddlePoint::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
UNUSED(room); // suppress the unused warning
return (ped->GetExitLine()->GetPoint1() + ped->GetExitLine()->GetPoint2())*0.5;
}
/// 2
Point DirectionMinSeperationShorterLine::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionMinSeperationShorterLine::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
UNUSED(room); // suppress the unused warning
double d = ped->GetEllipse().GetBmin() + 0.1 ; // shoulder//0.5;
const Point& p1 = ped->GetExitLine()->GetPoint1();
const Point& p2 = ped->GetExitLine()->GetPoint2();
......@@ -98,10 +93,8 @@ Point DirectionMinSeperationShorterLine::GetTarget(Room* room, Pedestrian* ped)
}
/// 3
Point DirectionInRangeBottleneck::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionInRangeBottleneck::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
UNUSED(room); // suppress the unused warning
const Point& p1 = ped->GetExitLine()->GetPoint1();
const Point& p2 = ped->GetExitLine()->GetPoint2();
Line ExitLine = Line(p1, p2, 0);
......@@ -288,9 +281,8 @@ Point DirectionGeneral::GetTarget(Room* room, Pedestrian* ped) const
}
/// 6
Point DirectionFloorfield::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionFloorfield::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
UNUSED(room);
#if DEBUG
if (1) {
......@@ -368,7 +360,6 @@ Point DirectionLocalFloorfield::GetTarget(Room* room, Pedestrian* ped) const
// if (floorfield->getCostToDestination(ped->GetExitIndex(), ped->GetPos()) < 1.0) {
// p = p * floorfield->getCostToDestination(ped->GetExitIndex(), ped->GetPos());
// }
Point P = p + ped->GetPos();
return (p + ped->GetPos());
#if DEBUG
......@@ -574,7 +565,7 @@ DirectionSubLocalFloorfield::~DirectionSubLocalFloorfield() {
}
///10
Point DirectionSubLocalFloorfieldTrips::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionSubLocalFloorfieldTrips::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
Goal* goal = ped->GetBuilding()->GetFinalGoal(ped->GetFinalDestination());
// Pedestrian is inside a waiting area
......@@ -708,7 +699,7 @@ DirectionSubLocalFloorfieldTrips::~DirectionSubLocalFloorfieldTrips() {
}
///11
Point DirectionSubLocalFloorfieldTripsVoronoi::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionSubLocalFloorfieldTripsVoronoi::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
Goal* goal = ped->GetBuilding()->GetFinalGoal(ped->GetFinalDestination());
// Pedestrian is inside a waiting area
......@@ -840,7 +831,7 @@ DirectionSubLocalFloorfieldTripsVoronoi::~DirectionSubLocalFloorfieldTripsVorono
}
// 12
Point DirectionTrain::GetTarget(Room* room, Pedestrian* ped) const
Point DirectionTrain::GetTarget(Room* /*room*/, Pedestrian* ped) const
{
Point p1 = ped->GetExitLine()->GetPoint1();
......
......@@ -50,8 +50,8 @@ void InternNavigationNetwork::AddVertex(const NavLine *navLine)
void InternNavigationNetwork::AddEdge(const NavLine *navLine1, const NavLine *navLine2)
{
//find indeces of vertices(landmarks) in graph
Vertex A;
Vertex B;
Vertex A{};
Vertex B{};
for (auto it=_navLines.begin(); it!=_navLines.end(); ++it)
{
......
......@@ -121,8 +121,8 @@ void AILandmarkNetwork::AddConnection(const AIConnection *connection)
//find indeces of vertices(landmarks) in graph
const AILandmark* landmarkA = _region->GetLandmarkByID(connection->GetLandmarkIds().first);
const AILandmark* landmarkB = _region->GetLandmarkByID(connection->GetLandmarkIds().second);
Vertex A;
Vertex B;
Vertex A = _landmarks[landmarkA];
Vertex B = _landmarks[landmarkB];
// for (auto it=_landmarks.begin(); it!=_landmarks.end(); ++it)
// {
......@@ -143,9 +143,6 @@ void AILandmarkNetwork::AddConnection(const AIConnection *connection)
// }
// }
A=_landmarks[landmarkA];
B=_landmarks[landmarkB];
Point vector = landmarkA->GetRandomPoint()-landmarkB->GetRandomPoint();//->GetRandomPoint()-landmarkB->GetRandomPoint();
double distance = vector.Norm();
_connections.push_back(std::pair<Edge,Weight>(Edge(A,B),distance));
......
......@@ -1659,7 +1659,7 @@ void FloorfieldViaFM::writeGoalFF(const std::string& filename, std::vector<int>
file.close();
}
SubRoom* FloorfieldViaFM::isInside(const long int key) {
SubRoom* FloorfieldViaFM::isInside(const long int /*key*/) {
// Point probe = _grid->getPointFromKey(key);
// const std::map<int, std::shared_ptr<Room>>& roomMap = _building->GetAllRooms();
......
......@@ -109,7 +109,6 @@ UnivFFviaFM::UnivFFviaFM(Room* roomArg, Configuration* const confArg, double hx,
}
//find insidePoint and save it, together with UID
Point normalVec = anyDoor.NormalVec();
double length = normalVec.Norm();
Point midPoint = anyDoor.GetCentre();
Point candidate01 = midPoint + (normalVec * 0.25);
Point candidate02 = midPoint - (normalVec * 0.25);
......@@ -191,7 +190,6 @@ UnivFFviaFM::UnivFFviaFM(SubRoom* subRoomArg, Configuration* const confArg, doub
//find insidePoint and save it, together with UID
Line anyDoor = Line{(--tmpDoors.end())->second};
Point normalVec = anyDoor.NormalVec();
double length = normalVec.Norm();
Point midPoint = anyDoor.GetCentre();
Point candidate01 = midPoint + (normalVec * 0.25);
Point candidate02 = midPoint - (normalVec * 0.25);
......@@ -442,7 +440,7 @@ void UnivFFviaFM::recreateAllForQuickest() {
#pragma omp parallel
{
#pragma omp for
for (signed int i = 0; i < _doors.size(); ++i) {
for (size_t i = 0; i < _doors.size(); ++i) {
auto doorPair = _doors.begin();
std::advance(doorPair, i);
addTarget(doorPair->first, _costFieldWithKey[doorPair->first], _directionFieldWithKey[doorPair->first]);
......@@ -533,8 +531,8 @@ void UnivFFviaFM::finalizeTargetLine(const int uid, const Line& line, Point* tar
long int key;
long int deltaX, deltaY, deltaX1, deltaY1, px, py, xe, ye, i; //Bresenham Algorithm
long int goodneighbor;
directNeighbor neigh;
//long int goodneighbor;
//directNeighbor neigh;
key = _grid->getKeyAtPoint(line.GetPoint1());
......@@ -1458,7 +1456,7 @@ void UnivFFviaFM::addAllTargetsParallel() {
#pragma omp parallel
{
#pragma omp for
for (signed int i = 0; i < _doors.size(); ++i) {
for (size_t i = 0; i < _doors.size(); ++i) {
auto doorPair = _doors.begin();
std::advance(doorPair, i);
addTarget(doorPair->first, _costFieldWithKey[doorPair->first], _directionFieldWithKey[doorPair->first]);
......@@ -1491,7 +1489,7 @@ void UnivFFviaFM::addTargetsParallel(std::vector<int> wantedDoors) {
#pragma omp parallel
{
#pragma omp for
for (signed int i = 0; i < wantedDoors.size(); ++i) {
for (size_t i = 0; i < wantedDoors.size(); ++i) {
auto doorUID = wantedDoors.begin();
std::advance(doorUID, i);
addTarget(*doorUID, _costFieldWithKey[*doorUID], _directionFieldWithKey[*doorUID]);
......
......@@ -627,7 +627,6 @@ int FFRouter::FindExit(Pedestrian* p)
void FFRouter::FloydWarshall()
{
bool change = false;
double savedDistance = 0.;
int totalnum = _allDoorUIDs.size();
for(int k = 0; k<totalnum; ++k) {
for(int i = 0; i<totalnum; ++i) {
......@@ -638,7 +637,6 @@ void FFRouter::FloydWarshall()
if ((_distMatrix[key_ik] < DBL_MAX) && (_distMatrix[key_kj] < DBL_MAX) &&
(_distMatrix[key_ik] + _distMatrix[key_kj] < _distMatrix[key_ij]))
{
savedDistance = _distMatrix[key_ij] - _distMatrix[key_ik] - _distMatrix[key_kj];
_distMatrix.erase(key_ij);
_distMatrix.insert(std::make_pair(key_ij, _distMatrix[key_ik] + _distMatrix[key_kj]));
_pathsMatrix.erase(key_ij);
......@@ -649,7 +647,6 @@ void FFRouter::FloydWarshall()
}
}
if (change) {
//Log->Write("Floyd nochmal!!! %f", savedDistance);
FloydWarshall();
} else {
Log->Write("INFO:\t FloydWarshall done!");
......
......@@ -357,7 +357,6 @@ void FloorfieldViaFMTrips::createMapEntryInLineToGoalID(const int goalID, bool i
//find closest door and add to cheatmap "goalToLineUID" map
const std::map<int, Transition*>& transitions = _building->GetAllTransitions();
const std::map<int, Crossing*>& crossings = _building->GetAllCrossings();