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 |