Q_ChangePolygonScale¶

Einleitung¶
Der Q_ChangePolygonScale ist ein standardkonformer Funktionsbaustein zur Skalierung von Polygonobjekten in Virtual Terminals, entwickelt unter EPL-2.0 Lizenz. Die Version 1.0 implementiert die ISO 11783-6 (Teil 6 - F.54) Spezifikation für landwirtschaftliche Steuersysteme.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
INIT: Initialisierungsanforderung (mit Polygon-Objekt-ID)REQ: Skalierungsanforderung (mit neuen Abmessungen)
Ereignis-Ausgänge¶
INITO: InitialisierungsbestätigungCNF: Skalierungsbestätigung (mit Ergebnisdaten)
Daten-Eingänge¶
u16ObjId(UINT): Polygon-Objekt-IDu16NewWidth(UINT): Neue Breite in Pixelnu16NewHeight(UINT): Neue Höhe in Pixeln
Daten-Ausgänge¶
STATUS(STRING): Betriebsstatusmeldungu16OldWidth(UINT): Vorherige Breiteu16OldHeight(UINT): Vorherige Höhes16result(INT): ISO-konformer Ergebniscode
Funktionsweise¶
- Initialisierung:
INITmit Polygon-Objekt-ID-
INITObestätigt Betriebsbereitschaft -
Skalierung:
REQmit neuen Abmessungen auslösen- Proportionale Skalierung aller Polygonpunkte
-
CNFliefert Ergebnis und alte Werte -
Fehlerbehandlung:
- ISO-standardisierte Fehlercodes
- Detaillierte Statusmeldungen
Technische Besonderheiten¶
✔ ISO 11783-6 konform (F.54) ✔ Proportionale Skalierung (Breite/Höhe) ✔ 16-bit Auflösung (0-65535 Pixel) ✔ Echtzeitfähige Verarbeitung
Skalierungsverhalten¶
| Parameter | Wirkung |
|---|---|
| Breite | Horizontale Skalierung |
| Höhe | Vertikale Skalierung |
| 0xFFFF | Ursprungsgröße beibehalten |
Rückgabecodes (s16result)¶
| Code | Konstante | Bedeutung |
|---|---|---|
| 0 | VT_E_NO_ERR | Erfolgreich |
| -6 | VT_E_OVERFLOW | Ungültige Abmessungen |
| -128 | VT_E_HANDLE_INVALID | Ungültige Polygon-ID |
| -129 | VT_E_ISO_INSTANCE_INVALID | Ungültige Instanz |
Anwendungsszenarien¶
- Maschinendarstellung: Dynamische Größenanpassung
- Zoomfunktionen: Detailvergrößerungen
- Responsive Designs: Anpassung an Displaygrößen
- Animierte Übergänge: Fließende Größenänderungen
⚖️ Vergleich mit ähnlichen Bausteinen¶
| Feature | Q_ChangePolygonScale | VtGeometryScaler | VtDynamicResize |
|---|---|---|---|
| ISO-Standard | ✔ | ✖ | ✖ |
| Skalierung | Proportional | Frei | Nur Breite |
| Auflösung | 16-bit | 8-bit | 16-bit |
Fazit¶
Der Q_ChangePolygonScale-Baustein bietet die Referenzimplementierung für Polygon-Skalierungen:
- Präzise: Pixelgenaue Größenkontrolle
- Proportional: Erhalt der Originalform
- Standardkonform: Volle ISO 11783-6 Kompatibilität
Idealer Einsatz bei: - Adaptiven Visualisierungen - Dynamischen Kartenansichten - Größenveränderbaren Bedienelementen