Zum Inhalt

DepartureSegment.WithDeletedLeg

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

Beschreibung

Entfernt das Leg am angegebenen Index aus dem DepartureSegment und gibt ein neues DepartureSegment 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 DepartureSegment

Parameter

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

Rückgabewert

Typ Beschreibung
DepartureSegment Neues DepartureSegment ohne das entfernte Leg

Ablaufdiagramm

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

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.DeleteWaypoint Loeschen im Departure-Bereich bei globalem Index < depCount
DepartureSegmentTests Unit-Tests Testet das Entfernen von Legs

Ruft auf

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

Beispiel

Dim depLegs = {
    New FlightPlanLeg("EGLL", 51.47, -0.46, "IF", "", 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
        0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Adep),
    New FlightPlanLeg("SID01", 51.5, -0.3, "TF", "", 90.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0,
        0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Sid)
}
Dim seg As New DepartureSegment(depLegs)

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

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation