Name
create_drawing_object_xldT_create_drawing_object_xldCreateDrawingObjectXldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXld — Erzeugen einer Kontur, die interaktiv verändert werden kann.
Herror T_create_drawing_object_xld(const Htuple Row, const Htuple Column, Htuple* DrawID)
create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXld 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_paramsGetDrawingObjectParamsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParams
abgerufen werden.
Das entsprechende HALCON-Objekt kann mit get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconic
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_paramsSetDrawingObjectParamsset_drawing_object_paramsSetDrawingObjectParamsSetDrawingObjectParams zu finden.
Um das Zeichenobjekt interaktiv abändern zu können, muss es zunächst
mit attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow an ein existierendes
Fenster angehängt werden. Nähere Informationen sind in der Dokumentation
zu attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow 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_xldSetDrawingObjectXldset_drawing_object_xldSetDrawingObjectXldSetDrawingObjectXld
einem Zeichenobjekt eine neue Kontur zuzuweisen.
Im Gegensatz zum Operator draw_xlddraw_xldDrawXlddraw_xldDrawXldDrawXld blockieren die
Interaktionen nicht den aufrufenden Thread.
Da während der Ausführung von create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXld und der
nachfolgenden Operatoren interne Strukturen angelegt werden, muss
das Zeichenobjekt wieder mit clear_drawing_objectclear_drawing_objectClearDrawingObjectclear_drawing_objectClearDrawingObjectClearDrawingObject freigegeben werden,
sobald es nicht mehr benötigt wird.
- 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.
RowRowRowRowRowrow (input_control) coordinates.y-array → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Zeilen-Koordinaten des Polygons.
Defaultwert: [100,200,200,100]
Wertevorschläge: 0, 10, 20, 50, 100, 200, 500
Spalten-Koordinaten des Polygons.
Defaultwert: [100,100,200,200]
Wertevorschläge: 0, 10, 20, 50, 100, 200, 500
Handle des Zeichenobjekts.
Sind die Parameterwerte korrekt, dann liefert create_drawing_object_xldcreate_drawing_object_xldCreateDrawingObjectXldcreate_drawing_object_xldCreateDrawingObjectXldCreateDrawingObjectXld
den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow
attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindow,
get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParams,
get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconic,
set_drawing_object_xldset_drawing_object_xldSetDrawingObjectXldset_drawing_object_xldSetDrawingObjectXldSetDrawingObjectXld
draw_xlddraw_xldDrawXlddraw_xldDrawXldDrawXld,
draw_xld_moddraw_xld_modDrawXldModdraw_xld_modDrawXldModDrawXldMod,
draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion
create_drawing_object_rectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1create_drawing_object_rectangle1CreateDrawingObjectRectangle1CreateDrawingObjectRectangle1,
create_drawing_object_rectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2create_drawing_object_rectangle2CreateDrawingObjectRectangle2CreateDrawingObjectRectangle2,
create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse,
create_drawing_object_circle_sectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorcreate_drawing_object_circle_sectorCreateDrawingObjectCircleSectorCreateDrawingObjectCircleSector,
create_drawing_object_ellipse_sectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorcreate_drawing_object_ellipse_sectorCreateDrawingObjectEllipseSectorCreateDrawingObjectEllipseSector,
create_drawing_object_linecreate_drawing_object_lineCreateDrawingObjectLinecreate_drawing_object_lineCreateDrawingObjectLineCreateDrawingObjectLine,
create_drawing_object_circlecreate_drawing_object_circleCreateDrawingObjectCirclecreate_drawing_object_circleCreateDrawingObjectCircleCreateDrawingObjectCircle
Foundation