rendermap: add --show-accessibles
This commit is contained in:
parent
516d7921ce
commit
01e6674cd0
3 changed files with 25 additions and 4 deletions
|
@ -6,5 +6,9 @@ from c3nav.mapdata.render import render_all_levels
|
|||
class Command(BaseCommand):
|
||||
help = 'render the map'
|
||||
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('--show-accessibles', action='store_const', const=True, default=False,
|
||||
help='highlight graph building areas (for debugging, but it looks nice, too)')
|
||||
|
||||
def handle(self, *args, **options):
|
||||
render_all_levels()
|
||||
render_all_levels(show_accessibles=options['show_accessibles'])
|
||||
|
|
|
@ -2,13 +2,13 @@ from c3nav.mapdata.models import Level
|
|||
from c3nav.mapdata.render.renderer import LevelRenderer, get_render_path # noqa
|
||||
|
||||
|
||||
def render_all_levels():
|
||||
def render_all_levels(show_accessibles=False):
|
||||
renderers = []
|
||||
for level in Level.objects.all().order_by('altitude'):
|
||||
renderers.append(LevelRenderer(level))
|
||||
|
||||
for renderer in renderers:
|
||||
renderer.render_base()
|
||||
renderer.render_base(show_accessibles=show_accessibles)
|
||||
|
||||
for renderer in renderers:
|
||||
if not renderer.level.intermediate:
|
||||
|
|
|
@ -91,7 +91,7 @@ class LevelRenderer():
|
|||
})
|
||||
svg.append(contents)
|
||||
|
||||
def render_base(self, png=True):
|
||||
def render_base(self, png=True, show_accessibles=False):
|
||||
svg = self.create_svg()
|
||||
contents = self.add_svg_content(svg)
|
||||
|
||||
|
@ -111,6 +111,23 @@ class LevelRenderer():
|
|||
fill_color='#000000',
|
||||
fill_opacity=0.06))
|
||||
|
||||
if show_accessibles:
|
||||
main_geometry = self.level.geometries.accessible.buffer(-0.6, join_style=JOIN_STYLE.mitre)
|
||||
clear_geometry = self.level.geometries.accessible.buffer(-0.3, join_style=JOIN_STYLE.mitre)
|
||||
missing_geometry = clear_geometry.difference(main_geometry.buffer(0.31, join_style=JOIN_STYLE.mitre))
|
||||
|
||||
contents.append(self.polygon_svg(clear_geometry,
|
||||
fill_color='#FFFF00',
|
||||
fill_opacity=0.5))
|
||||
|
||||
contents.append(self.polygon_svg(main_geometry,
|
||||
fill_color='#009900',
|
||||
fill_opacity=0.5))
|
||||
|
||||
contents.append(self.polygon_svg(missing_geometry,
|
||||
fill_color='#FF9900',
|
||||
fill_opacity=0.5))
|
||||
|
||||
contents.append(self.polygon_svg(self.level.geometries.elevatorlevels,
|
||||
fill_color='#9EF8FB'))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue