Zum Inhalt

WeightSlice.InsertPoint

Eigenschaft Wert
Modul Trajectory
Klasse PerfGrid (innere Klasse von Perf1Engine)
Typ Sub
Sichtbarkeit Public
Datei Trajectory/Perf1Engine.vb

Beschreibung

Fügt einen IAS/ALT/Data-Datenpunkt in die 2D-Gitterseite ein und erhält dabei die sortierte Reihenfolge der Zeilen (IAS aufsteigend) und Spalten (ALT aufsteigend). Falls die IAS- oder ALT-Achse den Wert noch nicht enthält, wird eine neue Zeile bzw. Spalte an der richtigen sortierten Position eingefügt und das interne Daten-Array entsprechend vergrößert. Entspricht der VB6-Logik von Set_Grid_Point für eine bestehende Gewichtsseite.

Signatur

Public Sub InsertPoint(ias As Double, alt As Double, data As Double)

Parameter

Name Typ Beschreibung Standard
ias Double Indicated Airspeed in Knoten — wird als Zeilenindex im Gitter verwendet
alt Double Höhe in Fuß — wird als Spaltenindex im Gitter verwendet
data Double Performance-Wert (VS in ft/min oder FF in kg/h) für diesen IAS/ALT-Schnittpunkt

Ablaufdiagramm

flowchart TD
    A[Start InsertPoint] --> B[FindOrInsertRow: IAS-Zeile suchen/einfügen]
    B --> C{IAS bereits vorhanden?}
    C -- Ja --> D[rowIdx = bestehender Index]
    C -- Nein --> E[Einfügeposition finden, sortiert aufsteigend]
    E --> F[IasRows.Insert an Position]
    F --> G[InsertDataRow: neues Array mit zusätzlicher Zeile erzeugen]
    G --> D
    D --> H[FindOrInsertCol: ALT-Spalte suchen/einfügen]
    H --> I{ALT bereits vorhanden?}
    I -- Ja --> J[colIdx = bestehender Index]
    I -- Nein --> K[Einfügeposition finden, sortiert aufsteigend]
    K --> L[AltCols.Insert an Position]
    L --> M[InsertDataCol: neues Array mit zusätzlicher Spalte erzeugen]
    M --> J
    J --> N[EnsureCapacity prüfen/erweitern]
    N --> O["Values(rowIdx, colIdx) = data"]
    O --> P[Ende]

Aufgerufen von

Modul Sub/Function Kontext
Trajectory/Perf1Engine InsertGridPoint Delegiert das Einfügen eines entschlüsselten PERF-Datenpunkts an die passende Gewichtsseite
Tests/Perf1EngineTests Diverse Testmethoden Direkte Unit-Tests mit bekannten IAS/ALT/Data-Kombinationen

Ruft auf

Modul Sub/Function Kontext
PerfGrid FindOrInsertRow Findet oder erstellt die IAS-Zeile (sortiert aufsteigend)
PerfGrid FindOrInsertCol Findet oder erstellt die ALT-Spalte (sortiert aufsteigend)
PerfGrid EnsureCapacity Stellt sicher, dass das Values-Array groß genug ist
PerfGrid InsertDataRow Erzeugt neues Array mit eingefügter Zeile (MISSING-Sentinel für neue Zellen)
PerfGrid InsertDataCol Erzeugt neues Array mit eingefügter Spalte (MISSING-Sentinel für neue Zellen)

Beispiel

' Neue Gewichtsseite für 55000 kg erzeugen
Dim page As New Perf1Engine.PerfGrid(55000.0)

' Drei VS-CLB Datenpunkte einfügen (IAS kt, ALT ft, VS ft/min)
page.InsertPoint(270, 20000, 1606)
page.InsertPoint(340, 20000, 601)
page.InsertPoint(270, 35000, 328)

' IasRows enthält jetzt: {270, 340} (sortiert)
' AltCols enthält jetzt: {20000, 35000} (sortiert)
' Values(0, 0) = 1606  (270 kt / 20000 ft)
' Values(1, 0) = 601   (340 kt / 20000 ft)
' Values(0, 1) = 328   (270 kt / 35000 ft)

Änderungshistorie

Version Datum Änderung
1.0 2026-04-16 Erstdokumentation