diff --git a/src/c3nav/mapdata/models/level.py b/src/c3nav/mapdata/models/level.py index 46420558..f9082d5d 100644 --- a/src/c3nav/mapdata/models/level.py +++ b/src/c3nav/mapdata/models/level.py @@ -1,11 +1,10 @@ from django.db import models from django.utils.functional import cached_property from django.utils.translation import ugettext_lazy as _ -from shapely.geometry import CAP_STYLE, JOIN_STYLE +from shapely.geometry import JOIN_STYLE from shapely.ops import cascaded_union from c3nav.mapdata.models.base import MapItem -from c3nav.mapdata.utils import assert_multipolygon class Level(MapItem): @@ -149,15 +148,4 @@ class LevelGeometries(): return self.get_levelconnectors() def intermediate_shadows(self, to_level=None): - rings = [] - for polygon in assert_multipolygon(self.buildings): - rings.append(polygon.exterior) - rings.extend(polygon.interiors) - - objects = [] - levelconnectors = self.get_levelconnectors(to_level) - for ring in rings: - objects.append(ring.difference(levelconnectors)) - lines = cascaded_union(objects) - - return lines.buffer(0.1, cap_style=CAP_STYLE.flat, join_style=JOIN_STYLE.mitre) + return self.buildings.difference(self.get_levelconnectors(to_level)) diff --git a/src/c3nav/mapdata/render/renderer.py b/src/c3nav/mapdata/render/renderer.py index 1cc04c9d..b748fa27 100644 --- a/src/c3nav/mapdata/render/renderer.py +++ b/src/c3nav/mapdata/render/renderer.py @@ -177,7 +177,8 @@ class LevelRenderer(): contents = self.add_svg_content(svg) for level in higher: contents.append(self.polygon_svg(level.geometries.intermediate_shadows(to_level=self.level), - fill_color='#9E9E9E')) + stroke_color='#9E9E9E', + stroke_width=0.1)) for level in higher: self.add_svg_image(svg, 'file://'+get_render_path('level-%s.base.png' % level.name))