Zum Inhalt

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