Zum Inhalt

FlightPlan.WithEnRouteSegment

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

Beschreibung

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

Signatur

Public Function WithEnRouteSegment(segment As EnRouteSegment) As FlightPlan

Parameter

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

Rückgabewert

Typ Beschreibung
FlightPlan Neuer FlightPlan mit dem uebergebenen EnRouteSegment

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 SetEnRouteSegment) Setzt das EnRoute-Segment ueber Actor-Message
FlightPlanModels FlightPlan.InsertWaypoint Einfuegen im EnRoute-Bereich
FlightPlanModels FlightPlan.DeleteWaypoint Loeschen im EnRoute-Bereich
FlightPlanModels FlightPlan.ReplaceLeg Leg-Ersatz im EnRoute-Bereich
FlightPlanModels FlightPlan.UpdatePposLegPosition Aktualisiert PPOS-Leg im EnRoute-Segment
TmpyActor SID-Auswahl / Waypoint-Operationen Aktualisiert EnRoute-Segment im TMPY-Plan
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", "LFPG")
Dim enrLegs = {
    New FlightPlanLeg("DVR", 51.16, 1.35, "TF", "", 120.0, 0.0, 0.0, 0.0, 80.0, 0.0, 0.0,
        0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)
}
Dim updated = plan.WithEnRouteSegment(New EnRouteSegment(enrLegs))
' updated.EnRouteSegment.Legs.Count = 1
' updated.EnRouteSegment.Legs(0).WaypointIdent = "DVR"

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation