FlightPlan.InsertWaypoint
| Eigenschaft |
Wert |
| Modul |
FlightPlan |
| Klasse |
FlightPlan |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
FlightPlan/FlightPlanModels.vb |
Beschreibung
Fuegt ein Leg nach dem angegebenen globalen Index ein. Die Methode bestimmt anhand der Segment-Groessen, in welches Segment der Index faellt, und delegiert an die WithInsertedLeg-Methode des entsprechenden Segments. Prozedur-Segmente (Departure, Arrival, Approach) werden am Tail-Ende zum naechsten Segment uebergeleitet, da manuell hinzugefuegte Wegpunkte keine veroeffentlichten Prozeduren erweitern.
Signatur
Public Function InsertWaypoint(afterLegIndex As Integer, leg As FlightPlanLeg) As FlightPlan
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| afterLegIndex |
Integer |
Globaler 0-basierter Index, nach dem das neue Leg eingefuegt wird; -1 = am Anfang |
— |
| leg |
FlightPlanLeg |
Das einzufuegende Leg |
— |
Rückgabewert
| Typ |
Beschreibung |
| FlightPlan |
Neuer FlightPlan mit dem eingefuegten Leg im richtigen Segment |
Ablaufdiagramm
flowchart TD
A[Start] --> B[Segment-Counts ermitteln: dep, enr, arr, app]
B --> C{afterLegIndex < depCount - 1?}
C -- Ja --> D[In DepartureSegment einfuegen]
C -- Nein --> E{afterLegIndex < depCount + enrCount?}
E -- Ja --> F[In EnRouteSegment einfuegen]
E -- Nein --> G{afterLegIndex < dep+enr+arrCount - 1?}
G -- Ja --> H[In ArrivalSegment einfuegen]
G -- Nein --> I{afterLegIndex < dep+enr+arr+appCount - 1?}
I -- Ja --> J[In ApproachSegment einfuegen]
I -- Nein --> K[In MissedApproachSegment einfuegen]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| FlightPlanActor |
Receive(Of InsertWaypoint) |
Fuegt Waypoint ueber Actor-Message ein |
| TmpyActor |
Waypoint-Einfuegung |
Fuegt Waypoint im TMPY-Plan ein |
| TmpyActor |
Discontinuity-Einfuegung |
Fuegt Discontinuity-Leg nach Delete ein |
| KernelActor |
Waypoint-Einfuegung |
Fuegt Waypoint ueber Kernel ein |
| McduActor |
MCDU-Eingabe |
Fuegt Waypoint ueber MCDU-Interaktion ein |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| FlightPlanModels |
DepartureSegment.WithInsertedLeg |
Einfuegen im Departure-Bereich |
| FlightPlanModels |
EnRouteSegment.WithInsertedLeg |
Einfuegen im EnRoute-Bereich |
| FlightPlanModels |
ArrivalSegment.WithInsertedLeg |
Einfuegen im Arrival-Bereich |
| FlightPlanModels |
ApproachSegment.WithInsertedLeg |
Einfuegen im Approach-Bereich |
| FlightPlanModels |
MissedApproachSegment.WithInsertedLeg |
Einfuegen im MissedApproach-Bereich |
| FlightPlanModels |
FlightPlan.WithDepartureSegment |
Neuer FlightPlan mit aktualisiertem Segment |
| FlightPlanModels |
FlightPlan.WithEnRouteSegment |
Neuer FlightPlan mit aktualisiertem Segment |
| FlightPlanModels |
FlightPlan.WithArrivalSegment |
Neuer FlightPlan mit aktualisiertem Segment |
| FlightPlanModels |
FlightPlan.WithApproachSegment |
Neuer FlightPlan mit aktualisiertem Segment |
| FlightPlanModels |
FlightPlan.WithMissedApproachSegment |
Neuer FlightPlan mit aktualisiertem Segment |
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, 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 newLeg As New FlightPlanLeg("NEWWP", 49.3, 10.3, "TF", "", 90.0, 0.0, 0.0, 0.0, 20.0, 0.0, 0.0,
0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)
Dim updated = plan.InsertWaypoint(0, newLeg)
' updated.GetAllLegs().Count = 3
' updated.GetAllLegs()(1).WaypointIdent = "NEWWP"
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |