Zum Inhalt

FlightPlan.SetVerticalConstraint

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

Beschreibung

Aktualisiert die vertikalen Constraints (Hoehen- und Geschwindigkeitsbeschraenkung) auf dem Leg am angegebenen globalen Index. Ruft GetAllLegs auf, um das Leg zu finden, erstellt ueber WithVerticalConstraint eine aktualisierte Kopie, und ersetzt das Leg im richtigen Segment ueber die private ReplaceLeg-Methode.

Signatur

Public Function SetVerticalConstraint(legIndex As Integer, altConstraintType As String, alt1 As Integer, alt2 As Integer, speed As Integer) As FlightPlan

Parameter

Name Typ Beschreibung Standard
legIndex Integer Globaler 0-basierter Index des betroffenen Legs
altConstraintType String Typ der Hoehenbeschraenkung: "+" (at or above), "-" (at or below), "@" (at), "" (keine)
alt1 Integer Primaere Hoehenbeschraenkung in Fuss; 0 = keine
alt2 Integer Obere Grenze fuer Fenster-Constraints in Fuss; 0 = kein Fenster
speed Integer Geschwindigkeitsbeschraenkung in Knoten; 0 = keine

Rückgabewert

Typ Beschreibung
FlightPlan Neuer FlightPlan mit aktualisiertem Constraint am angegebenen Leg

Ablaufdiagramm

flowchart TD
    A[Start] --> B[GetAllLegs aufrufen]
    B --> C["Leg am legIndex holen"]
    C --> D["WithVerticalConstraint auf dem Leg aufrufen"]
    D --> E["ReplaceLeg mit globalem Index und aktualisiertem Leg aufrufen"]
    E --> F[Neuen FlightPlan zurueckgeben]

Aufgerufen von

Modul Sub/Function Kontext
FlightPlanActor Receive(Of SetVerticalConstraint) Setzt Constraint ueber Actor-Message
McduActor MCDU-Eingabe Setzt Constraint ueber VertRev-Page

Ruft auf

Modul Sub/Function Kontext
FlightPlanModels FlightPlan.GetAllLegs Holt alle Legs als flache Liste
FlightPlanModels FlightPlanLeg.WithVerticalConstraint Erzeugt Leg-Kopie mit neuen Constraints
FlightPlanModels FlightPlan.ReplaceLeg (privat) Ersetzt das Leg im richtigen Segment

Beispiel

Dim plan = FlightPlan.Empty().WithEnRouteSegment(New EnRouteSegment({
    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 updated = plan.SetVerticalConstraint(0, "@", 5000, 0, 250)
' updated.GetAllLegs()(0).AltConstraintType = "@"
' updated.GetAllLegs()(0).AltConstraint1 = 5000
' updated.GetAllLegs()(0).SpeedConstraint = 250

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation