zuggraph
Classes:
-
ZugGraph–Der Zuggraph enthält alle Züge aus der Zugliste der Plugin-Schnittstelle als Knoten.
-
ZugGraphUngerichtet–Ungerichtete Variante von ZugGraph
ZugGraph
flowchart TD
stskit.model.zuggraph.ZugGraph[ZugGraph]
click stskit.model.zuggraph.ZugGraph href "" "stskit.model.zuggraph.ZugGraph"
Der Zuggraph enthält alle Züge aus der Zugliste der Plugin-Schnittstelle als Knoten. Kanten werden aus den Ersatz-, Kuppeln- und Flügeln-Flags gebildet.
Der Zuggraph verändert sich im Laufe eines Spiels. Neue Züge werden hinzugefügt.
Der Zuggraph ist gerichtet.
Attributes:
-
aenderungen(Dict[int, ZugGraphNode | None]) –Dictionary Zug-ID zu ZugGraphNode. Der ZugGraphNode enthält die alten Werte der Attribute, die bei der letzten Aktualisierung geändert worden sind. Unveränderte Attribute sind nicht verzeichnet. Wenn der Zug neu ist, ist der Wert None.
Der Besitzer darf Einträge des Dictionary löschen, z.B. via
reset_aenderungen, sollte aber die Objekte nicht verändern.Die ZugGraphNode-Objekte sind unvollständig und sollten daher nicht direkt in den Graphen übernommen werden.
Methods:
-
vollstaendige_zuege–View des ZugGraph nur mit vollständigen Zügen
-
zug_ausfahren–Markiert einen Zug als ausgefahren.
-
zug_details_importieren–Einzelnen Zug im Zuggraph aktualisieren.
Source code in stskit/model/zuggraph.py
vollstaendige_zuege
vollstaendige_zuege() -> ZugGraph
View des ZugGraph nur mit vollständigen Zügen
Vollständige Züge haben alle deklarierten ZugGraphNode-Attribute gesetzt. Züge, von denen z.B. nur der Knoten aber keine Zugdetails bekannt sind, werden gefiltert.
Source code in stskit/model/zuggraph.py
zug_ausfahren
zug_ausfahren(zid: int)
Markiert einen Zug als ausgefahren.
Das ausgefahren-Attribut wird True, das sichtbar-Attribut False. Die Änderung wird im aenderungen-Dictionary eingetragen.
Source code in stskit/model/zuggraph.py
zug_details_importieren
zug_details_importieren(zug: ZugDetails) -> Optional[ZugGraphNode]
Einzelnen Zug im Zuggraph aktualisieren.
Wenn der Zugknoten existiert, wird er aktualisiert, sonst neu erstellt.
Die Änderungen werden in aenderungen verzeichnet und als Resultat zurückgegeben.
Parameters:
-
(zugZugDetails) –Zugdetails von der Pluginschnittstelle.
Returns:
-
Optional[ZugGraphNode]–Wenn der Knoten bereits existiert hat, gibt die Methode ein ZugGraphNode-Objekt zurück,
-
Optional[ZugGraphNode]–das nur die geänderten Attribute mit ihren vorherigen Werten enthält.
-
Optional[ZugGraphNode]–Wenn der Knoten neu ist, wird None zurückgegeben.
-
Optional[ZugGraphNode]–Das Objekt wird ausserdem in das
aenderungen-Dictionary übernommen.
Source code in stskit/model/zuggraph.py
ZugGraphUngerichtet
flowchart TD
stskit.model.zuggraph.ZugGraphUngerichtet[ZugGraphUngerichtet]
click stskit.model.zuggraph.ZugGraphUngerichtet href "" "stskit.model.zuggraph.ZugGraphUngerichtet"
Ungerichtete Variante von ZugGraph