Zum Inhalt

ArrivalSegment.WithInsertedLeg

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

Beschreibung

Fuegt ein neues Leg nach dem angegebenen Index in das ArrivalSegment ein und gibt ein neues ArrivalSegment 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 ArrivalSegment

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
ArrivalSegment Neues ArrivalSegment 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 ArrivalSegment mit erweiterter Liste erstellen]
    D --> E[Neues ArrivalSegment zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.InsertWaypoint Einfuegen in den Arrival-Bereich bei globalem Index im Arrival-Bereich

Ruft auf

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

Dim newLeg As New FlightPlanLeg("STAR2", 50.2, 8.1, "TF", "", 180.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0,
    0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Star)

Dim updated = seg.WithInsertedLeg(0, newLeg)
' updated.Legs.Count = 2
' updated.Legs(1).WaypointIdent = "STAR2"

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation