FlightPlan.ApplyDirectTo
| Eigenschaft |
Wert |
| Modul |
FlightPlan |
| Klasse |
FlightPlan |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
FlightPlan/FlightPlanModels.vb |
Beschreibung
Wendet ein Direct-To auf den Ziel-Leg-Index an (D-10). Alle Legs vor dem Ziel werden verworfen. Am Anfang wird ein DIRECT-Leg mit ArinCCommand "DF" und LegType Normal eingefuegt, gefolgt von allen Legs ab targetLegIndex+1. Die resultierende flache Liste wird vollstaendig in das EnRouteSegment gelegt; alle anderen Segmente werden geleert. Holdings bleiben erhalten.
Signatur
Public Function ApplyDirectTo(targetLegIndex As Integer) As FlightPlan
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| targetLegIndex |
Integer |
Globaler 0-basierter Index des Ziel-Legs fuer das Direct-To |
— |
Rückgabewert
| Typ |
Beschreibung |
| FlightPlan |
Neuer FlightPlan mit Direct-To-Route ab dem Ziel-Leg |
Ablaufdiagramm
flowchart TD
A[Start] --> B[GetAllLegs aufrufen]
B --> C[Ziel-Leg am targetLegIndex holen]
C --> D["DIRECT-Leg erstellen (ArinC=DF, LegType=Normal)"]
D --> E[DIRECT-Leg + Legs ab targetLegIndex+1 in neue Liste]
E --> F[DepartureSegment leeren]
F --> G[Neue Liste in EnRouteSegment setzen]
G --> H[Arrival/Approach/MissedApproach leeren]
H --> I[Holdings beibehalten]
I --> J[Neuen FlightPlan zurueckgeben]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| FlightPlanActor |
Receive(Of ExecuteDirectTo) |
Fuehrt Direct-To ueber Actor-Message aus |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| FlightPlanModels |
FlightPlan.GetAllLegs |
Holt alle Legs als flache Liste |
| FlightPlanModels |
FlightPlanLeg.New |
Erzeugt das DIRECT-Leg |
| FlightPlanModels |
EnRouteSegment.New(IEnumerable) |
Erstellt neues EnRoute-Segment mit DIRECT-Route |
| FlightPlanModels |
DepartureSegment.Empty |
Leeres Departure-Segment |
| FlightPlanModels |
ArrivalSegment.Empty |
Leeres Arrival-Segment |
| FlightPlanModels |
ApproachSegment.Empty |
Leeres Approach-Segment |
| FlightPlanModels |
MissedApproachSegment.Empty |
Leeres MissedApproach-Segment |
| FlightPlanModels |
FlightPlan.New (privat) |
Erzeugt neue immutable FlightPlan-Instanz |
Beispiel
Dim enrLegs As New List(Of FlightPlanLeg)()
For i = 0 To 7
enrLegs.Add(New FlightPlanLeg("ENR" & i, 49.0 + i * 0.1, 10.0 + i * 0.1, "TF", "", 90.0,
0.0, 0.0, 0.0, 50.0, 0.0, 0.0, 0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal))
Next
Dim plan = FlightPlan.Empty().WithEnRouteSegment(New EnRouteSegment(enrLegs))
' Direct-To auf ENR4 (Index 4)
Dim updated = plan.ApplyDirectTo(4)
' updated.GetAllLegs()(0).ArinCCommand = "DF" ' DIRECT-Leg
' updated.GetAllLegs()(0).WaypointIdent = "ENR4"
' updated.GetAllLegs()(1).WaypointIdent = "ENR5" ' Rest der Route
' updated.DepartureSegment.Legs.Count = 0 ' Geleert
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |