From bfc4ed4754555229840d4b58acb9c2eb9980907d Mon Sep 17 00:00:00 2001 From: Mohcine Chraibi <m.chraibi@fz-juelich.de> Date: Fri, 22 Feb 2019 06:47:37 +0100 Subject: [PATCH] consider rooms without walls We need a bounding box, which loops over all walls. However, some rooms may not have walls ^^ --- geometry/Building.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/geometry/Building.cpp b/geometry/Building.cpp index 8c8272f6..c905a8fb 100644 --- a/geometry/Building.cpp +++ b/geometry/Building.cpp @@ -217,6 +217,26 @@ void Building::AddSurroundingRoom() y_max = (ymax >= y_max) ? ymax : y_max; y_min = (ymin <= y_min) ? ymin : y_min; } + for(auto&& obs:itr_subroom.second->GetAllObstacles()) + { + for(auto&& wall: obs->GetAllWalls()) + { + double x1 = wall.GetPoint1().GetX(); + double y1 = wall.GetPoint1().GetY(); + double x2 = wall.GetPoint2().GetX(); + double y2 = wall.GetPoint2().GetY(); + + double xmax = (x1 > x2) ? x1 : x2; + double xmin = (x1 > x2) ? x2 : x1; + double ymax = (y1 > y2) ? y1 : y2; + double ymin = (y1 > y2) ? y2 : y1; + + x_min = (xmin <= x_min) ? xmin : x_min; + x_max = (xmax >= x_max) ? xmax : x_max; + y_max = (ymax >= y_max) ? ymax : y_max; + y_min = (ymin <= y_min) ? ymin : y_min; + } + } } } -- GitLab