Zum Inhalt

FlightPlan.ToggleOverfly

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

Beschreibung

Invertiert das Overfly-Flag auf dem Leg am angegebenen globalen Index. Wenn der Index ausserhalb des gueltigen Bereichs liegt, wird der unveraenderte FlightPlan (Me) zurueckgegeben. Intern wird GetAllLegs aufgerufen, das aktuelle IsOverfly-Flag invertiert und das Leg ueber die private ReplaceLeg-Methode im richtigen Segment ersetzt.

Signatur

Public Function ToggleOverfly(legIndex As Integer) As FlightPlan

Parameter

Name Typ Beschreibung Standard
legIndex Integer Globaler 0-basierter Index des Legs, dessen Overfly-Flag invertiert wird

Rückgabewert

Typ Beschreibung
FlightPlan Neuer FlightPlan mit invertiertem Overfly-Flag; oder Me wenn legIndex ungueltig

Ablaufdiagramm

flowchart TD
    A[Start] --> B[GetAllLegs aufrufen]
    B --> C{legIndex gueltig?}
    C -- Nein --> D[Me zurueckgeben]
    C -- Ja --> E["WithOverfly(Not IsOverfly) auf dem Leg aufrufen"]
    E --> F[ReplaceLeg mit globalem Index und aktualisiertem Leg aufrufen]
    F --> G[Neuen FlightPlan zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
TmpyActor Receive(Of ToggleOverfly) Invertiert Overfly-Flag im TMPY-Plan
FlightPlanOverflyTests Unit-Tests Testet Overfly-Toggle auf FlightPlan-Ebene

Ruft auf

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.GetAllLegs Holt alle Legs als flache Liste
FlightPlanModels FlightPlanLeg.WithOverfly Erzeugt Leg-Kopie mit invertiertem Flag
FlightPlanModels FlightPlan.ReplaceLeg (privat) Ersetzt das Leg im richtigen Segment

Beispiel

Dim legs = {
    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, 0, 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, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)
}
Dim plan = FlightPlan.Empty().WithEnRouteSegment(New EnRouteSegment(legs))

Dim updated = plan.ToggleOverfly(0)
' updated.GetAllLegs()(0).IsOverfly = True  (war False)
' updated.GetAllLegs()(1).IsOverfly = False (unveraendert)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation