Zum Inhalt

DepartureSegment.WithInsertedLeg

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

Beschreibung

Fuegt ein neues Leg nach dem angegebenen Index in das DepartureSegment ein und gibt ein neues DepartureSegment zurueck. Die bestehende Leg-Liste wird kopiert, das neue Leg an Position afterIndex+1 eingefuegt. Das urspruengliche Segment bleibt unveraendert (immutable).

Signatur

Public Function WithInsertedLeg(afterIndex As Integer, leg As FlightPlanLeg) As DepartureSegment

Parameter

Name Typ Beschreibung Standard
afterIndex Integer Index, nach dem das neue Leg eingefuegt wird (0-basiert); -1 = am Anfang einfuegen
leg FlightPlanLeg Das einzufuegende Leg

Rückgabewert

Typ Beschreibung
DepartureSegment Neues DepartureSegment mit dem eingefuegten Leg

Ablaufdiagramm

flowchart TD
    A[Start] --> B[Legs-Liste kopieren]
    B --> C["Neues Leg an Position afterIndex+1 einfuegen"]
    C --> D[Neues DepartureSegment mit erweiterter Liste erstellen]
    D --> E[Neues DepartureSegment zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.InsertWaypoint Einfuegen in das Departure-Segment bei globalem Index im Departure-Bereich
DepartureSegmentTests Unit-Tests Testet das Einfuegen von Legs

Ruft auf

Modul Sub/Function Kontext
FlightPlanModels DepartureSegment.New(IEnumerable) Erzeugt neues Segment mit der aktualisierten 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)
}
Dim seg As New DepartureSegment(depLegs)

Dim newLeg As 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 updated = seg.WithInsertedLeg(0, newLeg)
' updated.Legs.Count = 2
' updated.Legs(1).WaypointIdent = "SID01"

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation