create_drawing_object_xldT_create_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld (Operator)
Name
create_drawing_object_xldT_create_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld — Erzeugen einer Kontur, die interaktiv verändert werden kann.
Signatur
Herror T_create_drawing_object_xld(const Htuple Row, const Htuple Column, Htuple* DrawID)
def create_drawing_object_xld(row: Sequence[Union[float, int]], column: Sequence[Union[float, int]]) -> HHandle
Beschreibung
create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld erzeugt eine XLD-Kontur, die interaktiv in einem
HALCON-Fenster verändert werden kann. Die Kontur ist durch die
Koordinaten RowRowRowRowrowrow und ColumnColumnColumnColumncolumncolumn ihrer Punkte definiert.
Diese Parameter können mit dem Operator get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params
abgerufen werden.
Das entsprechende HALCON-Objekt kann mit get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic
abgefragt werden.
Zusätzlich zu den Parametern verfügt jedes Zeichenobjekt über Attribute, die
dessen grafische Darstellung in einem HALCON-Fenster festlegen.
Nähere Informationen zu den verfügbaren Attributen sind in der Dokumentation zu
set_drawing_object_paramsset_drawing_object_paramsSetDrawingObjectParamsSetDrawingObjectParamsSetDrawingObjectParamsset_drawing_object_params zu finden.
Um das Zeichenobjekt interaktiv abändern zu können, muss es zunächst
mit attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window an ein existierendes
Fenster angehängt werden. Nähere Informationen sind in der Dokumentation
zu attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window zu finden.
Weitere Punkte können
durch einen Linksklick auf das Fenster hinzugefügt werden. Wenn auf
einem Kontursegment zwischen zwei nachfolgenden Punkten geklickt wird,
wird der neue Punkt zwischen diesen Punkten hinzugefügt. Jeder
Konturpunkt kann durch Ziehen an dessen Anfasser verschoben werden.
Ein einzelner Konturpunkt kann gelöscht werden, indem er auf einen
benachbarten, direkt verbundenen Konturpunkt gezogen wird.
Die Kontur kann geschlossen werden, indem der letzte Punkt auf den
ersten Konturpunkt gesetzt wird. Die ganze Kontur kann durch Ziehen
am Anfasser des Mittelpunktes verschoben werden.
Zusätzlich ist es auch möglich mit set_drawing_object_xldset_drawing_object_xldSetDrawingObjectXldSetDrawingObjectXldSetDrawingObjectXldset_drawing_object_xld
einem Zeichenobjekt eine neue Kontur zuzuweisen.
Im Gegensatz zum Operator draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld blockieren die
Interaktionen nicht den aufrufenden Thread.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Parameter
RowRowRowRowrowrow (input_control) coordinates.y-array → HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilen-Koordinaten des Polygons.
Defaultwert: [100,200,200,100]
Wertevorschläge: 0, 10, 20, 50, 100, 200, 500
ColumnColumnColumnColumncolumncolumn (input_control) coordinates.x-array → HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spalten-Koordinaten des Polygons.
Defaultwert: [100,100,200,200]
Wertevorschläge: 0, 10, 20, 50, 100, 200, 500
DrawIDDrawIDDrawIDDrawIDdrawIDdraw_id (output_control) drawing_object → HDrawingObject, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Zeichenobjekts.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXldCreateDrawingObjectXldcreate_drawing_object_xld
den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window
Nachfolger
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindowattach_drawing_object_to_window,
get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParamsget_drawing_object_params,
get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconicget_drawing_object_iconic,
set_drawing_object_xldset_drawing_object_xldSetDrawingObjectXldSetDrawingObjectXldSetDrawingObjectXldset_drawing_object_xld
Alternativen
draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld,
draw_xld_moddraw_xld_modDrawXldModDrawXldModDrawXldModdraw_xld_mod,
draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region
Siehe auch
create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1,
create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2create_drawing_object_rectangle2,
create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipsecreate_drawing_object_ellipse,
create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sector,
create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSectorcreate_drawing_object_ellipse_sector,
create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLineCreateDrawingObjectLinecreate_drawing_object_line,
create_drawing_object_circlecreate_drawing_object_circleCreateDrawingObjectCircleCreateDrawingObjectCircleCreateDrawingObjectCirclecreate_drawing_object_circle
Modul
Foundation