From 57db0621adbdaf46804f3753cf6166c2d577946c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 14 Nov 2017 23:37:12 +0100 Subject: [PATCH] levels_on_top (above and below) should be part of the joined map history --- src/c3nav/mapdata/cache.py | 7 +++++-- src/c3nav/mapdata/render/data.py | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/c3nav/mapdata/cache.py b/src/c3nav/mapdata/cache.py index 89ea8fb8..b8176952 100644 --- a/src/c3nav/mapdata/cache.py +++ b/src/c3nav/mapdata/cache.py @@ -197,8 +197,11 @@ class MapHistory: maximum = np.maximum(self.data, other_data) # add with mask - mask = self.add_new(mask_geometry.buffer(1), data=np.zeros_like(self.data, dtype=np.bool)) - self.data[mask] = maximum[mask] + if mask_geometry is not None: + mask = self.add_new(mask_geometry.buffer(1), data=np.zeros_like(self.data, dtype=np.bool)) + self.data[mask] = maximum[mask] + else: + self.data = maximum # write new updates self.updates = new_updates diff --git a/src/c3nav/mapdata/render/data.py b/src/c3nav/mapdata/render/data.py index 644f0294..d542bd82 100644 --- a/src/c3nav/mapdata/render/data.py +++ b/src/c3nav/mapdata/render/data.py @@ -231,6 +231,8 @@ class LevelRenderData: if crop_to is not FakeCropper: map_history.composite(MapHistory.open_level(sublevel.pk, 'base'), crop_to) + elif level.pk != sublevel.pk: + map_history.composite(MapHistory.open_level(sublevel.pk, 'base'), None) new_geoms = LevelGeometries() new_geoms.doors = crop_to.intersection(old_geoms.doors)