diff --git a/Analysis.cpp b/Analysis.cpp index 60ec457f1509c2d75f758135e864a53aec72a79e..4c862afb268cc181407b9f9ee55252d4b3edfbf6 100644 --- a/Analysis.cpp +++ b/Analysis.cpp @@ -59,7 +59,7 @@ #endif - +using boost::geometry::dsv; using namespace std; OutputHandler* Log = new STDIOHandler(); @@ -204,7 +204,7 @@ std::map<int, polygon_2d> Analysis::ReadGeometry(const fs::path& geometryFile, c _building->LoadGeometry(geometryFile.string()); // create the polygons _building->InitGeometry(); - // _building->AddSurroundingRoom(); + _building->AddSurroundingRoom(); double geo_minX = FLT_MAX; double geo_minY = FLT_MAX; @@ -216,6 +216,8 @@ std::map<int, polygon_2d> Analysis::ReadGeometry(const fs::path& geometryFile, c //loop over all areas for(auto&& area: areas) { + std::cout << "area " << area->_id << "\n"; + //search for the subroom that contains that area for (auto&& it_room : _building->GetAllRooms()) { @@ -252,7 +254,7 @@ std::map<int, polygon_2d> Analysis::ReadGeometry(const fs::path& geometryFile, c } } } - } + }//room if(geoPoly.count(area->_id)==0) { @@ -265,8 +267,6 @@ std::map<int, polygon_2d> Analysis::ReadGeometry(const fs::path& geometryFile, c _highVertexY = geo_maxY; _lowVertexX = geo_minX; _lowVertexY = geo_minY; - using boost::geometry::dsv; - // cout<<"INFO: \tGeometry polygon is:\t" << dsv(geoPoly[1])<<endl; return geoPoly; } diff --git a/geometry/Building.cpp b/geometry/Building.cpp index c905a8fb1e1405c5d1e615c815a4a9a1afc92364..c7b2c0fe1ff850dfadd0127e53f22e42e2874853 100644 --- a/geometry/Building.cpp +++ b/geometry/Building.cpp @@ -265,19 +265,25 @@ void Building::AddSurroundingRoom() x_max = x_max + 10.0; y_min = y_min - 10.0; y_max = y_max + 10.0; - + Log->Write("INFO: \tAdding surrounding room X: %f, Y: %f -- %f, %f\n", x_min, x_max, y_min, y_max); SubRoom* bigSubroom = new NormalSubRoom(); + bigSubroom->SetType("Subroom"); + bigSubroom->SetPlanEquation(0,0,1); //@todo: dummy values + bigSubroom->SetRoomID(_rooms.size()); bigSubroom->SetSubRoomID(0); // should be the single subroom bigSubroom->AddWall(Wall(Point(x_min, y_min), Point(x_min, y_max))); bigSubroom->AddWall(Wall(Point(x_min, y_max), Point(x_max, y_max))); bigSubroom->AddWall(Wall(Point(x_max, y_max), Point(x_max, y_min))); bigSubroom->AddWall(Wall(Point(x_max, y_min), Point(x_min, y_min))); + vector<Line*> goals = vector<Line*>(); // dummy vector + bigSubroom->ConvertLineToPoly(goals); Room * bigRoom = new Room(); bigRoom->AddSubRoom(bigSubroom); bigRoom->SetCaption("outside"); bigRoom->SetID(_rooms.size()); + bigRoom->SetZPos(0); //@todo: dummy value AddRoom(bigRoom); _xMin = x_min; _xMax = x_max; diff --git a/methods/Method_I.cpp b/methods/Method_I.cpp index 09ce0a137a1ac4187b6fd0247339dc2e1f692a25..91910c7eb9fabc068e58a85cbcba5d1c34c27dc2 100644 --- a/methods/Method_I.cpp +++ b/methods/Method_I.cpp @@ -83,7 +83,7 @@ bool Method_I::Process(const PedData& peddata,const fs::path& scriptsLocation, c _fps =peddata.GetFps(); int mycounter = 0; int minFrame = peddata.GetMinFrame(); - Log->Write("INFO:\tMethod D: frame rate fps: <%.2f>, start: <%d>, stop: <%d> (minFrame = %d)", _fps, _startFrame, _stopFrame, minFrame); + Log->Write("INFO:\tMethod I: frame rate fps: <%.2f>, start: <%d>, stop: <%d> (minFrame = %d)", _fps, _startFrame, _stopFrame, minFrame); if(_startFrame != _stopFrame) { if(_startFrame==-1) @@ -124,6 +124,7 @@ bool Method_I::Process(const PedData& peddata,const fs::path& scriptsLocation, c Log->Write("------------------------ Analyzing with Method I -----------------------------"); //for(int frameNr = 0; frameNr < peddata.GetNumFrames(); frameNr++ ) //for(std::map<int , std::vector<int> >::iterator ite=_peds_t.begin();ite!=_peds_t.end();ite++) + for(auto ite: _peds_t) { int frameNr = ite.first; @@ -154,10 +155,13 @@ bool Method_I::Process(const PedData& peddata,const fs::path& scriptsLocation, c VInFrame.erase(VInFrame.begin() + i); Log->Write("Warning:\t Pedestrian removed"); i--; + } } int NumPeds = IdInFrame.size(); - //--------------------------------------------------------------------------------------------------------------- + // std::cout << "numpeds = " << NumPeds << "\n"; + +//--------------------------------------------------------------------------------------------------------------- if(_isOneDimensional) { CalcVoronoiResults1D(XInFrame, VInFrame, IdInFrame, _areaForMethod_I->_poly,str_frid); @@ -209,11 +213,11 @@ bool Method_I::Process(const PedData& peddata,const fs::path& scriptsLocation, c Log->Write("WARNING: \tVoronoi Diagrams are not obtained!. Frame: %d (minFrame = %d)\n", frid, minFrame); } } - fclose(_fVoronoiRhoV); - if(_calcIndividualFD) - { - fclose(_fIndividualFD); - } + }//peds + fclose(_fVoronoiRhoV); + if(_calcIndividualFD) + { + fclose(_fIndividualFD); } return return_value; } @@ -551,6 +555,9 @@ bool Method_I::Process(const PedData& peddata,const fs::path& scriptsLocation, c polygon_str.c_str(), v_str.c_str()); } + else{ + std::cout << "empty interectio with the measurement aren\n"; + } temp++; } }