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