FlightPlan.GenerateDisplayRows
| Eigenschaft |
Wert |
| Modul |
FlightPlan |
| Klasse |
FlightPlan |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
FlightPlan/FlightPlanModels.vb |
Beschreibung
Generiert on-demand eine Liste von FlightPlanDisplayRow-Objekten fuer die MCDU-Anzeige. Jede Zeile entspricht einem FlightPlanLeg mit Segment-Bezeichnung (DEPARTURE, ENROUTE, ARRIVAL, APPROACH, MISSED), laufender Sequenznummer und formatierten Constraint-Strings. Fuer jedes Leg wird ueber GetGlobalIndex geprueft, ob ein Holding-Pattern im Holdings-Dictionary existiert. Die Methode erzeugt keine neue Berechnung, sondern formatiert die bereits im Speicher vorhandenen Daten.
Signatur
Public Function GenerateDisplayRows() As IReadOnlyList(Of FlightPlanDisplayRow)
Parameter
Keine Parameter.
Rückgabewert
| Typ |
Beschreibung |
| IReadOnlyList(Of FlightPlanDisplayRow) |
Unveraenderliche Liste von Display-Zeilen fuer die MCDU-Darstellung |
Ablaufdiagramm
flowchart TD
A[Start] --> B[Leere Rows-Liste und Sequenzzaehler=1 erstellen]
B --> C["DepartureSegment.Legs iterieren: MakeDisplayRow mit DEPARTURE"]
C --> D["EnRouteSegment.Legs iterieren: MakeDisplayRow mit ENROUTE"]
D --> E["ArrivalSegment.Legs iterieren: MakeDisplayRow mit ARRIVAL"]
E --> F["ApproachSegment.Legs iterieren: MakeDisplayRow mit APPROACH"]
F --> G["MissedApproachSegment.Legs iterieren: MakeDisplayRow mit MISSED"]
G --> H[AsReadOnly zurueckgeben]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| FlightPlanActor |
Receive(Of GetFlightPlanDisplayRows) |
Liefert Display-Rows ueber Actor-Query |
| frmRawFpln |
ListView-Darstellung |
Zeigt TMPY-Plan-Rows in der Diagnoseansicht |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| FlightPlanModels |
FlightPlan.MakeDisplayRow (privat) |
Erzeugt einzelne FlightPlanDisplayRow aus Leg-Daten |
| FlightPlanModels |
FlightPlan.GetGlobalIndex (privat) |
Ermittelt globalen Index fuer Holdings-Pruefung |
| FlightPlanModels |
FlightPlanDisplayRow.New |
Erzeugt die immutable Display-Zeile |
Beispiel
Dim plan = FlightPlan.Empty().WithEnRouteSegment(New EnRouteSegment({
New FlightPlanLeg("WPT1", 49.0, 10.0, "TF", "", 90.0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0,
0, "", 0, 0, 250, False, 0, False, "", FlightPlanLegType.Normal),
New FlightPlanLeg("WPT2", 49.5, 10.5, "TF", "", 90.0, 0.0, 0.0, 0.0, 30.0, 0.0, 0.0,
0, "@", 5000, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)
}))
Dim rows = plan.GenerateDisplayRows()
' rows.Count = 2
' rows(0).SequenceNumber = 1
' rows(0).SegmentName = "ENROUTE"
' rows(0).Ident = "WPT1"
' rows(0).SpeedConstraint = "250"
' rows(1).AltConstraint = "@5000"
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |