ClassesClasses | | Operators

create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse (Operator)

Name

create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse — Create an ellipse which can be modified interactively.

Signature

create_drawing_object_ellipse( : : Row, Column, Phi, Radius1, Radius2 : DrawID)

Herror create_drawing_object_ellipse(double Row, double Column, double Phi, double Radius1, double Radius2, Hlong* DrawID)

Herror T_create_drawing_object_ellipse(const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2, Htuple* DrawID)

void CreateDrawingObjectEllipse(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* DrawID)

void HDrawingObject::CreateDrawingObjectEllipse(double Row, double Column, double Phi, double Radius1, double Radius2)

static void HOperatorSet.CreateDrawingObjectEllipse(HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, out HTuple drawID)

void HDrawingObject.CreateDrawingObjectEllipse(double row, double column, double phi, double radius1, double radius2)

Description

create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse creates an ellipse which can be modified interactively in a HALCON window by the user. The ellipse is defined by the coordinates of its centre point, RowRowRowRowrow and ColumnColumnColumnColumncolumn, the lengths of its respective half axis, Radius1Radius1Radius1Radius1radius1 and Radius2Radius2Radius2Radius2radius2, and its orientation PhiPhiPhiPhiphi.

The parameters can be queried with get_drawing_object_paramsget_drawing_object_paramsGetDrawingObjectParamsGetDrawingObjectParamsGetDrawingObjectParams, as well as its corresponding HALCON object with get_drawing_object_iconicget_drawing_object_iconicGetDrawingObjectIconicGetDrawingObjectIconicGetDrawingObjectIconic.

In addition to those parameters, every drawing object has a number of parameters which determine the appearance of the object in the HALCON window. See set_drawing_object_paramsset_drawing_object_paramsSetDrawingObjectParamsSetDrawingObjectParamsSetDrawingObjectParams for details on the number and meaning of those parameters.

In order to enable the interactive modification with the drawing object, the object must be attached to an existing window. See attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindow for further details. Once attached, the ellipse is editable by the user through interaction with the window. There are three possible transformations for an ellipse object: resizing, displacement and rotation. The ellipse can be resized by clicking close to the vertex handles. The orientation and thus the rotation of the ellipse can be modified by dragging on a vertex of the first half axis. The ellipse can be moved in the HALCON window by dragging the center.

In contrast to the operator draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipse, this interaction does not block the calling thread.

Note that since internal structures are allocated during create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse and the following operator the resulting drawing object should be explicitly freed if it is no longer needed.

Execution Information

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.

Parameters

RowRowRowRowrow (input_control)  ellipse.center.y HTupleHTupleHtuple (real) (double) (double) (double)

Row index of the center.

Default value: 200

ColumnColumnColumnColumncolumn (input_control)  ellipse.center.x HTupleHTupleHtuple (real) (double) (double) (double)

Column index of the center.

Default value: 200

PhiPhiPhiPhiphi (input_control)  ellipse.angle.rad HTupleHTupleHtuple (real) (double) (double) (double)

Orientation of the first half axis in radians.

Default value: 0

Radius1Radius1Radius1Radius1radius1 (input_control)  ellipse.radius1 HTupleHTupleHtuple (real) (double) (double) (double)

First half axis.

Default value: 100

Radius2Radius2Radius2Radius2radius2 (input_control)  ellipse.radius2 HTupleHTupleHtuple (real) (double) (double) (double)

Second half axis.

Default value: 60

DrawIDDrawIDDrawIDDrawIDdrawID (output_control)  drawing_object HDrawingObject, HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Handle of the drawing object.

Result

If the parameter values are correct the operator create_drawing_object_ellipsecreate_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipseCreateDrawingObjectEllipse returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.

Possible Predecessors

open_windowopen_windowOpenWindowOpenWindowOpenWindow

Possible Successors

disp_regiondisp_regionDispRegionDispRegionDispRegion, set_coloredset_coloredSetColoredSetColoredSetColored, set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidth, set_drawset_drawSetDrawSetDrawSetDraw, set_insertset_insertSetInsertSetInsertSetInsert, attach_drawing_object_to_windowattach_drawing_object_to_windowAttachDrawingObjectToWindowAttachDrawingObjectToWindowAttachDrawingObjectToWindow

Alternatives

draw_ellipse_moddraw_ellipse_modDrawEllipseModDrawEllipseModDrawEllipseMod, draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipse, draw_regiondraw_regionDrawRegionDrawRegionDrawRegion

See also

gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipse, draw_circledraw_circleDrawCircleDrawCircleDrawCircle, draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2, set_insertset_insertSetInsertSetInsertSetInsert

Module

Foundation


ClassesClasses | | Operators