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 |