render bases if full_levels is not set

This commit is contained in:
Laura Klünder 2017-11-10 00:25:27 +01:00
parent 37a29f5822
commit 90f3327e5c
2 changed files with 36 additions and 0 deletions

View file

@ -83,6 +83,8 @@ class MapRenderer:
else:
levels = self.level_render_data.levels
min_altitude = float(min(chain(*(tuple(area.altitude for area in geoms.altitudeareas) for geoms in levels))))
for geoms in levels:
if not bbox.intersects(geoms.affected_area):
continue
@ -95,6 +97,12 @@ class MapRenderer:
if access_restriction not in unlocked_access_restrictions)
).union(add_walls)
if not self.full_levels:
engine.add_geometry(geoms.level_base, fill=FillAttribs('#aaaaaa'))
if min_altitude < geoms.min_altitude:
engine.add_geometry(geoms.optional_base.fit(min_altitude, geoms.min_altitude+0.05),
fill=FillAttribs('#aaaaaa'))
# render altitude areas in default ground color and add ground colors to each one afterwards
# shadows are directly calculated and added by the engine
for altitudearea in geoms.altitudeareas: