Zeichnen

Liste der Operatoren ↓

In diesem Kapitel werden Operatoren beschrieben, die zum manuellen Erstellen geometrischer Formen genutzt werden können. Diese benötigen die Interaktion des Benutzers über die Maustasten und blockieren die Anwendung bis die Interaktion abgeschlossen ist. Die in Graphik / Objekt aufgelisteten Operatoren ermöglichen es geometrische Formen zu erzeugen, ohne die Anwendung zu blockieren.

Allgemein

Die Operatoren draw_regiondraw_regionDrawRegionDrawRegionDrawRegion, draw_xlddraw_xldDrawXldDrawXldDrawXld, draw_xld_moddraw_xld_modDrawXldModDrawXldModDrawXldMod, draw_nurbsdraw_nurbsDrawNurbsDrawNurbsDrawNurbs, draw_nurbs_moddraw_nurbs_modDrawNurbsModDrawNurbsModDrawNurbsMod, draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpDrawNurbsInterp, draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModDrawNurbsInterpMod sowie drag_region1drag_region1DragRegion1DragRegion1DragRegion1, drag_region2drag_region2DragRegion2DragRegion2DragRegion2 und drag_region3drag_region3DragRegion3DragRegion3DragRegion3 geben als Ergebnis ikonische Objekte aus. Die restlichen Zeichenoperatoren geben geometrische Parameter zurück, die zur Erstellung von Regionen oder Konturen in der jeweiligen Form notwendig sind (vgl. Tabelle). Für die meisten Zeichenoperatoren existiert zudem ein Modifikationsoperator, mit dem die zunächst bestimmte Form nochmals angepasst werden kann.

Zeichnen in Pufferfenstern

Da für Zeichenoperatoren eine Interaktion des Nutzers über Maustasten nötig ist, ist die Verwendung in den unsichtbaren Pufferfenstern (siehe open_windowopen_windowOpenWindowOpenWindowOpenWindow) an sich nicht möglich. Bei Verwendung solcher Fenster sollten stattdessen Zeichenobjekte (siehe Graphik / Objekt) genutzt werden. Einige Zeichenoperatoren können dennoch in Pufferfenstern verwendet werden. Mit Hilfe der Operatoren send_mouse_double_click_eventsend_mouse_double_click_eventSendMouseDoubleClickEventSendMouseDoubleClickEventSendMouseDoubleClickEvent, send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventSendMouseDownEvent, send_mouse_drag_eventsend_mouse_drag_eventSendMouseDragEventSendMouseDragEventSendMouseDragEvent und send_mouse_up_eventsend_mouse_up_eventSendMouseUpEventSendMouseUpEventSendMouseUpEvent müssen die Mausereignisse und der Zustand der Zusatztasten (Strg, Alt, Umschalttaste) gesendet werden, während der Zeichenoperator in einem anderen Thread aufgerufen werden muss. Der Bildausschnitt darf währenddessen nicht verändert werden.

Zeichenoperatoren Ausgabe Objekt generieren Funktioniert in Puffer-Fenstern
draw_pointdraw_pointDrawPointDrawPointDrawPoint RowRowRowRowrow, ColumnColumnColumnColumncolumn gen_cross_contour_xldgen_cross_contour_xldGenCrossContourXldGenCrossContourXldGenCrossContourXld ja
draw_linedraw_lineDrawLineDrawLineDrawLine Row1Row1Row1Row1row1, Column1Column1Column1Column1column1, Row2Row2Row2Row2row2, Column2Column2Column2Column2column2 gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld ja
draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1 Row1Row1Row1Row1row1, Column1Column1Column1Column1column1, Row2Row2Row2Row2row2, Column2Column2Column2Column2column2 gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1 ja
draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2 RowRowRowRowrow, ColumnColumnColumnColumncolumn, PhiPhiPhiPhiphi, Length1Length1Length1Length1length1, Length2Length2Length2Length2length2 gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2, gen_rectangle2_contour_xldgen_rectangle2_contour_xldGenRectangle2ContourXldGenRectangle2ContourXldGenRectangle2ContourXld ja
draw_circledraw_circleDrawCircleDrawCircleDrawCircle RowRowRowRowrow, ColumnColumnColumnColumncolumn, RadiusRadiusRadiusRadiusradius gen_circlegen_circleGenCircleGenCircleGenCircle, gen_circle_contour_xldgen_circle_contour_xldGenCircleContourXldGenCircleContourXldGenCircleContourXld ja
draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipse RowRowRowRowrow, ColumnColumnColumnColumncolumn, PhiPhiPhiPhiphi, Radius1Radius1Radius1Radius1radius1, Radius2Radius2Radius2Radius2radius2 gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipse, gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldGenEllipseContourXld ja
draw_xlddraw_xldDrawXldDrawXldDrawXld ContourContourContourContourcontour - ja
draw_regiondraw_regionDrawRegionDrawRegionDrawRegion RegionRegionRegionRegionregion - ja
draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygon RegionRegionRegionRegionregion - ja
draw_nurbsdraw_nurbsDrawNurbsDrawNurbsDrawNurbs ContourContourContourContourcontour, RowsRowsRowsRowsrows, ColumnsColumnsColumnsColumnscolumns, WeightsWeightsWeightsWeightsweights - nein
draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpDrawNurbsInterp ContourContourContourContourcontour, RowsRowsRowsRowsrows, ColumnsColumnsColumnsColumnscolumns, KnotsKnotsKnotsKnotsknots, TangentsTangentsTangentsTangentstangents - nein
drag_region1drag_region1DragRegion1DragRegion1DragRegion1 RegionRegionRegionRegionregion - nein
drag_region2drag_region2DragRegion2DragRegion2DragRegion2 RegionRegionRegionRegionregion - nein
drag_region3drag_region3DragRegion3DragRegion3DragRegion3 RegionRegionRegionRegionregion - nein

Liste der Operatoren

drag_region1DragRegion1DragRegion1drag_region1
Interaktives Verschieben einer Region.
drag_region2DragRegion2DragRegion2drag_region2
Interaktives Verschieben einer Region mit Angabe des Fixpunktes.
drag_region3DragRegion3DragRegion3drag_region3
Interaktives Verschieben einer Region mit der Beschränkung der Positionen.
draw_circleDrawCircleDrawCircledraw_circle
Interaktives Erstellen eines Kreises.
draw_circle_modDrawCircleModDrawCircleModdraw_circle_mod
Interaktives Erstellen eines Kreises.
draw_ellipseDrawEllipseDrawEllipsedraw_ellipse
Interaktives Erstellen einer Ellipse.
draw_ellipse_modDrawEllipseModDrawEllipseModdraw_ellipse_mod
Interaktives Erstellen einer Ellipse.
draw_lineDrawLineDrawLinedraw_line
Zeichnen einer Gerade.
draw_line_modDrawLineModDrawLineModdraw_line_mod
Zeichnen einer Gerade.
draw_nurbsDrawNurbsDrawNurbsdraw_nurbs
Interaktives Erstellen einer NURBS-Kurve.
draw_nurbs_interpDrawNurbsInterpDrawNurbsInterpdraw_nurbs_interp
Interaktives Erstellen einer NURBS-Kurve durch Interpolation.
draw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModdraw_nurbs_interp_mod
Interaktives Modifizieren einer NURBS-Kurve durch Interpolation.
draw_nurbs_modDrawNurbsModDrawNurbsModdraw_nurbs_mod
Interaktives Modifizieren einer NURBS-Kurve.
draw_pointDrawPointDrawPointdraw_point
Zeichnen eines Punktes.
draw_point_modDrawPointModDrawPointModdraw_point_mod
Zeichnen eines Punktes.
draw_polygonDrawPolygonDrawPolygondraw_polygon
Interaktives Erstellen eines Polygonzuges.
draw_rectangle1DrawRectangle1DrawRectangle1draw_rectangle1
Zeichnen eines Rechtecks parallel zu den Koordinatenachsen.
draw_rectangle1_modDrawRectangle1ModDrawRectangle1Moddraw_rectangle1_mod
Zeichnen eines Rechtecks parallel zu den Koordinatenachsen.
draw_rectangle2DrawRectangle2DrawRectangle2draw_rectangle2
Interaktives Erstellen eines beliebig orientierten Rechtecks.
draw_rectangle2_modDrawRectangle2ModDrawRectangle2Moddraw_rectangle2_mod
Interaktives Erstellen eines beliebig orientierten Rechtecks.
draw_regionDrawRegionDrawRegiondraw_region
Interaktives Erstellen einer geschlossenen Region.
draw_xldDrawXldDrawXlddraw_xld
Interaktives Erstellen einer Kontur.
draw_xld_modDrawXldModDrawXldModdraw_xld_mod
Interaktives Modifizieren einer Kontur.