fix door rendering
This commit is contained in:
parent
2636eed687
commit
0694bf886a
1 changed files with 5 additions and 3 deletions
|
@ -37,15 +37,17 @@ class LevelGeometries:
|
||||||
space.walkable_geom = space.geometry.difference(space.holes_geom)
|
space.walkable_geom = space.geometry.difference(space.holes_geom)
|
||||||
|
|
||||||
spaces_geom = unary_union([s.geometry for s in level.spaces.all()])
|
spaces_geom = unary_union([s.geometry for s in level.spaces.all()])
|
||||||
geoms.doors = unary_union([d.geometry for d in level.doors.all()])
|
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()]).union(geoms.doors)
|
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:
|
if level.on_top_of_id is None:
|
||||||
geoms.holes = spaces_geom.difference(walkable_geom)
|
geoms.holes = spaces_geom.difference(walkable_geom)
|
||||||
|
|
||||||
for altitudearea in level.altitudeareas.all():
|
for altitudearea in level.altitudeareas.all():
|
||||||
geoms.altitudeareas.append((altitudearea.geometry.intersection(walkable_geom), altitudearea.altitude))
|
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.geoms_cache = pickle.dumps(geoms)
|
||||||
level.save()
|
level.save()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue