buildgraph: improve point placement

This commit is contained in:
Laura Klünder 2016-12-10 16:24:48 +01:00
parent f2563db8bf
commit 3eaf5ed17e
3 changed files with 8 additions and 7 deletions

View file

@ -127,15 +127,16 @@ class LevelRenderer():
fill_opacity=0.06))
if show_accessibles:
main_geometry = self.level.geometries.accessible.buffer(-0.6, join_style=MITRE)
clear_geometry = self.level.geometries.accessible.buffer(-0.3, join_style=MITRE)
missing_geometry = clear_geometry.difference(main_geometry.buffer(0.31, join_style=MITRE))
narrowed_geometry = self.level.geometries.accessible.buffer(-0.6, join_style=MITRE)
clear_geometry = self.level.geometries.accessible.buffer(-0.3, join_style=JOIN_STYLE.mitre)
wide_geometry = narrowed_geometry.buffer(0.31, join_style=MITRE).intersection(clear_geometry)
missing_geometry = clear_geometry.difference(wide_geometry.buffer(0.01, join_style=MITRE))
contents.append(self.polygon_svg(clear_geometry,
fill_color='#FFFF00',
fill_opacity=0.5))
contents.append(self.polygon_svg(main_geometry,
contents.append(self.polygon_svg(narrowed_geometry,
fill_color='#009900',
fill_opacity=0.5))

View file

@ -33,7 +33,7 @@ class GraphArea():
angle_diff = ((stair_angle - angle + 180) % 360) - 180
up = angle_diff < 0 # noqa
if not (50 < abs(angle_diff) < 130):
if not (40 < abs(angle_diff) < 150):
valid = False
break

View file

@ -53,8 +53,8 @@ class GraphRoom():
self.areas.append(GraphArea(self, mpl_clear, mpl_stairs))
def build_points(self):
original_geometry = self.geometry
geometry = original_geometry.buffer(-0.6, join_style=JOIN_STYLE.mitre)
narrowed_geometry = self.geometry.buffer(-0.6, join_style=JOIN_STYLE.mitre)
geometry = narrowed_geometry.buffer(0.31, join_style=JOIN_STYLE.mitre).intersection(self.clear_geometry)
if geometry.is_empty:
return