buildgraph: improve point placement
This commit is contained in:
parent
f2563db8bf
commit
3eaf5ed17e
3 changed files with 8 additions and 7 deletions
|
@ -127,15 +127,16 @@ class LevelRenderer():
|
||||||
fill_opacity=0.06))
|
fill_opacity=0.06))
|
||||||
|
|
||||||
if show_accessibles:
|
if show_accessibles:
|
||||||
main_geometry = self.level.geometries.accessible.buffer(-0.6, 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=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=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,
|
contents.append(self.polygon_svg(clear_geometry,
|
||||||
fill_color='#FFFF00',
|
fill_color='#FFFF00',
|
||||||
fill_opacity=0.5))
|
fill_opacity=0.5))
|
||||||
|
|
||||||
contents.append(self.polygon_svg(main_geometry,
|
contents.append(self.polygon_svg(narrowed_geometry,
|
||||||
fill_color='#009900',
|
fill_color='#009900',
|
||||||
fill_opacity=0.5))
|
fill_opacity=0.5))
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ class GraphArea():
|
||||||
|
|
||||||
angle_diff = ((stair_angle - angle + 180) % 360) - 180
|
angle_diff = ((stair_angle - angle + 180) % 360) - 180
|
||||||
up = angle_diff < 0 # noqa
|
up = angle_diff < 0 # noqa
|
||||||
if not (50 < abs(angle_diff) < 130):
|
if not (40 < abs(angle_diff) < 150):
|
||||||
valid = False
|
valid = False
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,8 @@ class GraphRoom():
|
||||||
self.areas.append(GraphArea(self, mpl_clear, mpl_stairs))
|
self.areas.append(GraphArea(self, mpl_clear, mpl_stairs))
|
||||||
|
|
||||||
def build_points(self):
|
def build_points(self):
|
||||||
original_geometry = self.geometry
|
narrowed_geometry = self.geometry.buffer(-0.6, join_style=JOIN_STYLE.mitre)
|
||||||
geometry = original_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:
|
if geometry.is_empty:
|
||||||
return
|
return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue