From 0694bf886a4271fd1a0dd2c4a84e24cb2372dceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Thu, 19 Oct 2017 15:58:05 +0200 Subject: [PATCH] fix door rendering --- src/c3nav/mapdata/render/base.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/c3nav/mapdata/render/base.py b/src/c3nav/mapdata/render/base.py index 9b4cace5..fa69f69a 100644 --- a/src/c3nav/mapdata/render/base.py +++ b/src/c3nav/mapdata/render/base.py @@ -37,15 +37,17 @@ class LevelGeometries: space.walkable_geom = space.geometry.difference(space.holes_geom) spaces_geom = unary_union([s.geometry for s in level.spaces.all()]) - geoms.doors = unary_union([d.geometry for d in level.doors.all()]) - walkable_geom = unary_union([s.walkable_geom for s in level.spaces.all()]).union(geoms.doors) + doors_geom = unary_union([d.geometry for d in level.doors.all()]) + walkable_geom = unary_union([s.walkable_geom for s in level.spaces.all()]) + geoms.doors = doors_geom.difference(walkable_geom) + walkable_geom = walkable_geom.union(geoms.doors) if level.on_top_of_id is None: geoms.holes = spaces_geom.difference(walkable_geom) for altitudearea in level.altitudeareas.all(): geoms.altitudeareas.append((altitudearea.geometry.intersection(walkable_geom), altitudearea.altitude)) - geoms.walls = buildings_geom.difference(spaces_geom).difference(geoms.doors) + geoms.walls = buildings_geom.difference(spaces_geom).difference(doors_geom) level.geoms_cache = pickle.dumps(geoms) level.save()