Zum Inhalt

FlightPlanLeg.WithVerticalConstraint

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

Beschreibung

Erzeugt eine neue FlightPlanLeg-Instanz mit aktualisierten vertikalen Constraints (Hoehenbeschraenkung und Geschwindigkeitsbeschraenkung). Alle anderen Felder des urspruenglichen Legs bleiben unveraendert (immutable Copy-on-Write-Muster). Die Methode wird verwendet, um Hoehen- und Speed-Constraints an einzelnen Wegpunkten im Flugplan zu setzen oder zu aendern.

Signatur

Public Function WithVerticalConstraint(altConstraintType As String, altConstraint1 As Integer, altConstraint2 As Integer, speedConstraint As Integer) As FlightPlanLeg

Parameter

Name Typ Beschreibung Standard
altConstraintType String Typ der Hoehenbeschraenkung: "+" (at or above), "-" (at or below), "@" (at), oder "" (keine)
altConstraint1 Integer Primaere Hoehenbeschraenkung in Fuss; 0 = keine Beschraenkung
altConstraint2 Integer Obere Grenze fuer Fenster-Constraints in Fuss; 0 = kein Fenster
speedConstraint Integer Geschwindigkeitsbeschraenkung in Knoten; 0 = keine Beschraenkung

Rückgabewert

Typ Beschreibung
FlightPlanLeg Neue FlightPlanLeg-Instanz mit den aktualisierten Constraint-Werten; alle uebrigen Felder sind unveraendert

Ablaufdiagramm

flowchart TD
    A[Start] --> B[Neues FlightPlanLeg mit allen bestehenden Feldern erstellen]
    B --> C[speedConstraint, altConstraintType, altConstraint1, altConstraint2 durch neue Werte ersetzen]
    C --> D[Neues FlightPlanLeg zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.SetVerticalConstraint Aktualisiert den Constraint eines Legs am globalen Index
FlightPlanModelTests Test_SetVerticalConstraint_* Unit-Tests fuer Constraint-Aenderungen

Ruft auf

Modul Sub/Function Kontext
FlightPlanModels FlightPlanLeg.New Erzeugt die neue immutable Kopie mit allen Feldern

Beispiel

' Bestehendes Leg mit neuem Hoehen- und Speed-Constraint versehen
Dim leg As New FlightPlanLeg("ROMEO", 48.5, 11.3, "TF", "", 180.0, 0.0, 0.0, 0.0, 25.0, 0.0, 0.0,
    0, "", 0, 0, 0, False, 0, False, "", FlightPlanLegType.Normal)

' At-Constraint auf 5000 ft und Speed 250 kt setzen
Dim updated = leg.WithVerticalConstraint("@", 5000, 0, 250)
' updated.AltConstraintType = "@"
' updated.AltConstraint1 = 5000
' updated.SpeedConstraint = 250
' updated.WaypointIdent = "ROMEO" (unveraendert)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation