TRO-Fluss --use-cords: ohne "gleiche Bahn"-Punktlinien und Legendenzeile

Lagerichtig liegen TROs derselben Bahn/Strecke ohnehin sichtbar
nebeneinander - die Punktlinien waren dort nur Unruhe. Gezeichnet werden
nur noch echte Verbindungen (HundM05 27, Mubea 25). Die berechnete
Anordnung ohne --use-cords behaelt Linien und Legendenzeile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Samer Ayadi
2026-10-01 14:33:58 +02:00
co-authored by Claude Opus 5.5
parent 2471cbf268
commit b09493f8ab
+9 -8
View File
@@ -1807,18 +1807,18 @@ def render_dot(analysis: Analysis, source: str, use_coords: bool = False) -> str
for src, dst in analysis.edges:
add(f' "{src}" -> "{dst}" [{_tro_edge_attrs(analysis.edge_kinds.get((src, dst)))}];')
# "gleiche Bahn"-Punktlinien nur in der berechneten Anordnung: lagerichtig
# liegen TROs derselben Bahn/Strecke ohnehin sichtbar nebeneinander, die
# Linien waren dort nur Unruhe (Review 2026-10-01).
seen: set[frozenset] = set()
for tro in analysis.tros:
for tro in analysis.tros if not use_coords else []:
for other in tro.colocated:
key = frozenset((tro.tro_id, other))
if key in seen:
continue
seen.add(key)
# Lagerichtig liegen gleiche Bahn/Strecke ohnehin sichtbar
# nebeneinander - dort nur noch als blasser Hinweis.
farbe = '"#c8c8c8", penwidth=0.7' if use_coords else '"#7f7f7f"'
add(f' "{tro.tro_id}" -> "{other}" [dir=none, style=dotted, '
f'color={farbe}, constraint=false, tooltip="gleiche Bahn"];')
f'color="#7f7f7f", constraint=false, tooltip="gleiche Bahn"];')
add("")
# Legende: eine Zeile je TRO-Typ (Farbe der Gruppe + eigene Form, siehe
@@ -1843,9 +1843,10 @@ def render_dot(analysis: Analysis, source: str, use_coords: bool = False) -> str
'<td align="left">Uebergabe / Ein-Ausschleusung</td></tr>'
'<tr><td align="left"><font color="#cc8800">orange</font></td>'
'<td align="left">Weiche (Kreisel-Uebergang)</td></tr>'
'<tr><td align="left">grau gepunktet</td>'
'<td align="left">gleiche Bahn / Strecke</td></tr>'
"</table>>")
+ ('' if use_coords else
'<tr><td align="left">grau gepunktet</td>'
'<td align="left">gleiche Bahn / Strecke</td></tr>')
+ "</table>>")
if use_coords:
lx, ly = _legend_pos_rechts(analysis)
add(f' legende [shape=plaintext, style="", fillcolor="none", fontsize=11, '