Zum Inhalt

ArrivalSegment.WithDeletedLeg

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

Beschreibung

Entfernt das Leg am angegebenen Index aus dem ArrivalSegment und gibt ein neues ArrivalSegment zurueck. Die bestehende Leg-Liste wird kopiert und das Element an der Position atIndex entfernt. Das urspruengliche Segment bleibt unveraendert (immutable Copy-on-Write).

Signatur

Public Function WithDeletedLeg(atIndex As Integer) As ArrivalSegment

Parameter

Name Typ Beschreibung Standard
atIndex Integer 0-basierter Index des zu loeschenden Legs in der Legs-Liste

Rückgabewert

Typ Beschreibung
ArrivalSegment Neues ArrivalSegment ohne das entfernte Leg

Ablaufdiagramm

flowchart TD
    A[Start] --> B[Legs-Liste kopieren]
    B --> C[Leg an Position atIndex entfernen]
    C --> D[Neues ArrivalSegment mit verkuerzter Liste erstellen]
    D --> E[Neues ArrivalSegment zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.DeleteWaypoint Loeschen im Arrival-Bereich bei globalem Index im Arrival-Bereich

Ruft auf

Modul Sub/Function Kontext
FlightPlanModels ArrivalSegment.New(IEnumerable) Erzeugt neues Segment mit der verkuerzten Leg-Liste

Beispiel

Dim arrLegs = {
    New FlightPlanLeg("STAR1", 50.0, 8.0, "TF", "", 180.0, 0.0, 0.0, 0.0, 20.0, 0.0, 0.0,
        0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Star),
    New FlightPlanLeg("EDDM", 48.35, 11.79, "TF", "", 180.0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0,
        0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Ades)
}
Dim seg As New ArrivalSegment(arrLegs)

Dim updated = seg.WithDeletedLeg(0)
' updated.Legs.Count = 1
' updated.Legs(0).WaypointIdent = "EDDM"

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation