Zum Inhalt

FlightPlan.WithApproachSegment

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

Beschreibung

Erzeugt einen neuen FlightPlan mit einem neuen ApproachSegment. Alle anderen Felder bleiben unveraendert. Wird sowohl direkt vom FlightPlanActor als auch intern von InsertWaypoint, DeleteWaypoint und ReplaceLeg aufgerufen, wenn die Operation das Approach-Segment betrifft.

Signatur

Public Function WithApproachSegment(segment As ApproachSegment) As FlightPlan

Parameter

Name Typ Beschreibung Standard
segment ApproachSegment Das neue ApproachSegment, das das bestehende ersetzt

Rückgabewert

Typ Beschreibung
FlightPlan Neuer FlightPlan mit dem uebergebenen ApproachSegment

Ablaufdiagramm

flowchart TD
    A[Start] --> B[Neuen FlightPlan mit uebergebenem segment erstellen]
    B --> C[Alle uebrigen Felder unveraendert uebernehmen]
    C --> D[Neuen FlightPlan zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanActor Receive(Of SetApproachSegment) Setzt das Approach-Segment ueber Actor-Message
FlightPlanModels FlightPlan.InsertWaypoint Einfuegen im Approach-Bereich
FlightPlanModels FlightPlan.DeleteWaypoint Loeschen im Approach-Bereich
FlightPlanModels FlightPlan.ReplaceLeg Leg-Ersatz im Approach-Bereich
RecordingMapper FlightPlan-Rekonstruktion Replay einer aufgezeichneten Flugroute

Ruft auf

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.New (privat) Erzeugt neue immutable FlightPlan-Instanz

Beispiel

Dim plan = FlightPlan.Empty().WithOriginDestination("EGLL", "EDDM")
Dim appLegs = {
    New FlightPlanLeg("CI26L", 48.3, 11.7, "CF", "", 260.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0,
        0, "@", 3000, 0, 0, False, 0, False, "", FlightPlanLegType.Approach)
}
Dim updated = plan.WithApproachSegment(New ApproachSegment(appLegs))
' updated.ApproachSegment.Legs.Count = 1

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation