Zum Inhalt

FlightPlan.GetAllLegs

Eigenschaft Wert
Modul FlightPlan
Klasse FlightPlan
Typ Function
Sichtbarkeit Public
Datei FlightPlan/FlightPlanModels.vb

Beschreibung

Gibt alle Legs als flache, geordnete Liste zurueck: Departure + EnRoute + Arrival + Approach + MissedApproach. Die Liste wird bei jedem Aufruf on-demand aus den Segment-Datenstrukturen generiert (kein gecachter paralleler Zustand). Gemaess FPLN-07 / D-FPLN-07 erfuellt die On-Demand-Generierung das MCDU-Ziel von unter 100ms, da die Daten bereits im Speicher liegen und kein DB-Zugriff oder Berechnung erforderlich ist.

Signatur

Public Function GetAllLegs() As IReadOnlyList(Of FlightPlanLeg)

Parameter

Keine Parameter.

Rückgabewert

Typ Beschreibung
IReadOnlyList(Of FlightPlanLeg) Unveraenderliche flache Liste aller Legs in Segmentreihenfolge

Ablaufdiagramm

flowchart TD
    A[Start] --> B[Leere Result-Liste erstellen]
    B --> C[DepartureSegment.Legs hinzufuegen]
    C --> D[EnRouteSegment.Legs hinzufuegen]
    D --> E[ArrivalSegment.Legs hinzufuegen]
    E --> F[ApproachSegment.Legs hinzufuegen]
    F --> G[MissedApproachSegment.Legs hinzufuegen]
    G --> H[AsReadOnly zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.SetVerticalConstraint Holt Leg am globalen Index
FlightPlanModels FlightPlan.ToggleOverfly Holt Leg am globalen Index
FlightPlanModels FlightPlan.ApplyDirectTo Holt alle Legs fuer Direct-To-Aufbau
FlightPlanModels FlightPlan.GetGlobalIndex (privat) Sucht Referenzgleichheit in flacher Liste
TrajectoryActor Trajektorienberechnung Holt alle Legs fuer Profilberechnung
ComputedFlightPlanBuilder CFPL-Aufbau Holt Raw-Legs fuer berechneten Flugplan
TmpyActor Diverse Operationen Zugriff auf aktuelle Leg-Liste des TMPY-Plans
McduActor MCDU-Seitendarstellung Zugriff auf Legs fuer FPLN-, LatRev-, VertRev-Seiten
GuidanceActor Guidance-Berechnung Holt Legs fuer Guidance-Logik
KernelActor Flugplan-Pruefung Prueft Leg-Anzahl und -Inhalt

Ruft auf

Modul Sub/Function Kontext
Greift nur auf die Legs-Property der fuenf Segmente zu

Beispiel

Dim plan = FlightPlan.Empty() _
    .WithOriginDestination("EGLL", "KJFK") _
    .WithDepartureSegment(New DepartureSegment({adepLeg})) _
    .WithEnRouteSegment(New EnRouteSegment({wpt1, wpt2})) _
    .WithArrivalSegment(New ArrivalSegment({adesLeg}))

Dim allLegs = plan.GetAllLegs()
' allLegs.Count = 4 (ADEP + WPT1 + WPT2 + ADES)
' allLegs(0).WaypointIdent = "EGLL"
' allLegs(3).WaypointIdent = "KJFK"

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation