Zum Inhalt

ID 16 – Output polygon – ISO 11783-6 – B.10.5

Das Output Polygon Objekt mit der ID 16 ermöglicht das Zeichnen komplexer, mehreckiger Formen durch die Definition einer Liste von Eckpunkten.

Attribute und Record Format (Tabelle B.33)

Die folgende Tabelle beschreibt den Aufbau des Output Polygon Objekts im Objektpool.

AID Name Typ Größe (Bytes) Bereich / Wert Record Byte Beschreibung
- Object ID Integer 2 0 – 65534 1 – 2 Eindeutige ID im Objektpool.
[0] Type Integer 1 16 3 Objekttyp = Polygon.
[1] Width Integer 2 0 – 65535 4 – 5 Breite des umschließenden virtuellen Rechtecks.
[2] Height Integer 2 0 – 65535 6 – 7 Höhe des umschließenden virtuellen Rechtecks.
[3] Line attributes Integer 2 0 – 65534 8 – 9 Objekt-ID eines Line Attributes Objekts (für den Umriss).
[4] Fill attributes Integer 2 0 – 65534, 65535 10 – 11 Objekt-ID eines Fill Attributes Objekts (Füllung) oder NULL.
[5] Polygon type Integer 1 0 – 3 12 0=Konvex, 1=Nicht-konvex, 2=Komplex, 3=Offen.
- Number of points Integer 1 3 – 255 13 Anzahl der Eckpunkte (mindestens 3).
- Number of macros to follow Integer 1 0 – 255 14 Anzahl der folgenden Makro-Referenzen.
- Repeat: Integer 2 0 – 65535 15 + ... X-Position des Punktes relativ zur linken oberen Ecke des Objekts.
- {Point Y} Integer 2 0 – 65535 17 + ... Y-Position des Punktes relativ zur linken oberen Ecke des Objekts.
- Repeat: Integer 1 0 – 255 var. (Nach Punkten) Event ID, die das Makro auslöst.
- {Macro ID} Integer 1 0 – 255 var. Makro ID des auszuführenden Makros.

Polygontypen und Füllregeln

Der Polygontyp (AID 5) informiert das VT über die Komplexität der Form, was die Effizienz des Zeichnens beeinflusst:

  • Convex (0): Einfache Formen (z. B. Dreieck, Sechseck), bei denen jede horizontale Linie die Kanten nur zweimal schneidet.
  • Non-Convex (1): Einbuchtungen sind möglich, aber Kanten überschneiden sich nicht.
  • Complex (2): Kanten dürfen sich überschneiden (z. B. ein Stern). Hier wird die Even-Odd-Regel zur Füllung angewendet.
  • Open (3): Die Punkte werden nur durch Linien verbunden; das Polygon wird nicht geschlossen und nicht gefüllt.

Geometrie und Punkte

  • Relative Position: Alle Punkte (Point X, Point Y) beziehen sich auf die obere linke Ecke des Polygon-Objekts.
  • Automatisches Schließen: Wenn der Typ nicht "Open" ist und der letzte Punkt nicht mit dem ersten identisch ist, schließt das VT das Polygon automatisch durch eine Linie vom letzten zum ersten Punkt.
  • Anzahl der Punkte: Es können bis zu 255 Punkte definiert werden.

Ereignisse (Events - Tabelle B.32)

Das Output Polygon Objekt reagiert auf folgende Ereignisse:

  • On Refresh: Wird ausgelöst bei Change Polygon Point oder Change Polygon Scale Kommando.
  • On Change Attribute: Wird ausgelöst, wenn sich Linien- oder Füllattribute ändern.
  • On Change Size: Reaktion auf Größenänderung (des umschließenden Rechtecks).

Bedeutung für die Implementierung

Polygone sind sehr mächtig für die Darstellung von unregelmäßigen Flächen, wie z. B. Tankinhalten in asymmetrischen Behältern oder zur Visualisierung von Feldumrissen. Aufgrund der Rechenlast bei komplexen Polygonen sollten ECU-Entwickler nach Möglichkeit "konvexe" Typen bevorzugen, wenn die Form dies zulässt.

Weitere Informationen und Beispiele finden sich im ISOBUS Wiki - Polygon von Tobias Tenberg.


Hinweis: Für detaillierte Spezifikationen zu Datentypen und Nachrichtenformaten wird auf die offizielle ISO 11783-6:2018 verwiesen.