remove old render_svg code
This commit is contained in:
parent
891a1df418
commit
e0ae343503
1 changed files with 0 additions and 70 deletions
|
@ -123,76 +123,6 @@ class Level(SpecificLocation, models.Model):
|
|||
).intersection(space.geometry)
|
||||
svg.add_geometry(obstacle_geometries, fill_color='#999999')
|
||||
|
||||
def render_svg(self, request, effects=True, draw_spaces=None):
|
||||
from c3nav.mapdata.render.image.engines.svg import SVGImage
|
||||
from c3nav.mapdata.models import Source, Area, Door, Space
|
||||
|
||||
bounds = Source.max_bounds()
|
||||
svg = SVGImage(bounds=bounds, scale=settings.RENDER_SCALE)
|
||||
|
||||
building_geometries = cascaded_union(tuple(b.geometry for b in self.buildings.all()))
|
||||
|
||||
spaces = self.spaces.filter(Space.q_for_request(request)).prefetch_related(
|
||||
Prefetch('areas', Area.qs_for_request(request)),
|
||||
'groups', 'columns', 'holes', 'areas__groups',
|
||||
'stairs', 'obstacles', 'lineobstacles'
|
||||
)
|
||||
for space in spaces:
|
||||
if space.outside:
|
||||
space.geometry = space.geometry.difference(building_geometries)
|
||||
columns_geom = cascaded_union(tuple(column.geometry for column in space.columns.all()))
|
||||
holes_geom = cascaded_union(tuple(hole.geometry for hole in space.holes.all()))
|
||||
space.geometry = space.geometry.difference(columns_geom)
|
||||
space.hole_geometries = holes_geom.intersection(space.geometry)
|
||||
space.geometry = space.geometry.difference(holes_geom)
|
||||
|
||||
space_geometries = cascaded_union(tuple(space.geometry for space in spaces))
|
||||
hole_geometries = cascaded_union(tuple(space.hole_geometries for space in spaces)).difference(space_geometries)
|
||||
|
||||
# draw space background
|
||||
doors = self.doors.filter(Door.q_for_request(request))
|
||||
door_geometries = cascaded_union(tuple(d.geometry for d in doors))
|
||||
level_geometry = cascaded_union((space_geometries, building_geometries, door_geometries))
|
||||
level_geometry = level_geometry.difference(hole_geometries)
|
||||
level_clip = svg.register_clip_path(level_geometry, defid='level', as_clip_path=True)
|
||||
svg.add_geometry(fill_color='#ececec', clip_path=level_clip)
|
||||
|
||||
# color in spaces
|
||||
spaces_by_color = {}
|
||||
for space in spaces:
|
||||
spaces_by_color.setdefault(space.get_color(), []).append(space)
|
||||
spaces_by_color.pop(None, None)
|
||||
spaces_by_color.pop('', None)
|
||||
for i, (color, color_spaces) in enumerate(spaces_by_color.items()):
|
||||
geometries = cascaded_union(tuple(space.geometry for space in color_spaces))
|
||||
svg.add_geometry(geometries.intersection(level_geometry), fill_color=color)
|
||||
|
||||
for space in spaces:
|
||||
self._render_space_ground(svg, space)
|
||||
|
||||
# calculate walls
|
||||
wall_geometry = building_geometries.difference(space_geometries).difference(door_geometries)
|
||||
wall_geometry = wall_geometry.difference(hole_geometries)
|
||||
|
||||
# draw wall shadow
|
||||
if effects:
|
||||
wall_dilated_geometry = wall_geometry.buffer(0.5, join_style=JOIN_STYLE.mitre)
|
||||
svg.add_geometry(wall_dilated_geometry, fill_color='#000000', opacity=0.1, filter='wallblur',
|
||||
clip_path=level_clip)
|
||||
|
||||
for space in spaces:
|
||||
self._render_space_inventory(svg, space)
|
||||
|
||||
# draw walls
|
||||
svg.add_geometry(wall_geometry, fill_color='#aaaaaa')
|
||||
|
||||
# draw doors
|
||||
door_geometries = cascaded_union(tuple(d.geometry for d in doors))
|
||||
door_geometries = door_geometries.difference(space_geometries)
|
||||
svg.add_geometry(door_geometries, fill_color='#ffffff')
|
||||
|
||||
return svg.get_xml()
|
||||
|
||||
@staticmethod
|
||||
def _give_height_to_areas_with_one_neighbor(accessible_area, areas_by_altitude):
|
||||
# give height to all obstacles that touch only one altitude
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue