Zum Inhalt

EnRouteSegment.WithInsertedLeg

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

Beschreibung

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

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

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.InsertWaypoint Einfuegen in den EnRoute-Bereich bei globalem Index im EnRoute-Bereich
TmpyActor SID-Auswahl Fuegt Discontinuity-Leg am Anfang des EnRoute-Segments ein

Ruft auf

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

Beispiel

Dim enrLegs = {
    New FlightPlanLeg("WPT1", 49.0, 10.0, "TF", "", 90.0, 0.0, 0.0, 0.0, 50.0, 0.0, 0.0,
        0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)
}
Dim seg As New EnRouteSegment(enrLegs)

Dim newLeg As New FlightPlanLeg("WPT2", 49.5, 10.5, "TF", "", 90.0, 0.0, 0.0, 0.0, 30.0, 0.0, 0.0,
    0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)

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

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation