Skip to content

create_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipsecreate_drawing_object_ellipseT_create_drawing_object_ellipse🔗

Short description🔗

create_drawing_object_ellipseCreateDrawingObjectEllipseCreateDrawingObjectEllipsecreate_drawing_object_ellipseT_create_drawing_object_ellipse — Create an ellipse which can be modified interactively.

Signature🔗

create_drawing_object_ellipse( ellipse.center.y Row, ellipse.center.x Column, ellipse.angle.rad Phi, ellipse.radius1 Radius1, ellipse.radius2 Radius2, out drawing_object DrawID )void CreateDrawingObjectEllipse( const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* DrawID )static void HOperatorSet.CreateDrawingObjectEllipse( HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, out HTuple drawID )def create_drawing_object_ellipse( row: float, column: float, phi: float, radius_1: float, radius_2: float ) -> HHandle

Herror T_create_drawing_object_ellipse( 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 )

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

Description🔗

create_drawing_object_ellipseCreateDrawingObjectEllipse creates an ellipse which can be modified interactively in a HALCON window by the user. The ellipse is defined by the coordinates of its center point, Rowrowrow and Columncolumncolumn, the lengths of its respective half axis, Radius1radius1radius_1 and Radius2radius2radius_2, and its orientation Phiphiphi.

The parameters can be queried with get_drawing_object_paramsGetDrawingObjectParams, as well as its corresponding HALCON object with get_drawing_object_iconicGetDrawingObjectIconic.

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_paramsSetDrawingObjectParams 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_windowAttachDrawingObjectToWindow 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_ellipseDrawEllipse, this interaction does not block the calling thread.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

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🔗

Rowrowrow (input_control) ellipse.center.y → (real)HTuple (double)HTuple (double)floatHtuple (double)

Row index of the center.

Default: 200200

Columncolumncolumn (input_control) ellipse.center.x → (real)HTuple (double)HTuple (double)floatHtuple (double)

Column index of the center.

Default: 200200

Phiphiphi (input_control) ellipse.angle.rad → (real)HTuple (double)HTuple (double)floatHtuple (double)

Orientation of the first half axis in radians.

Default: 00

Radius1radius1radius_1 (input_control) ellipse.radius1 → (real)HTuple (double)HTuple (double)floatHtuple (double)

First half axis.

Default: 100100

Radius2radius2radius_2 (input_control) ellipse.radius2 → (real)HTuple (double)HTuple (double)floatHtuple (double)

Second half axis.

Default: 6060

DrawIDdrawIDdraw_id (output_control) drawing_object → (handle)HTuple (HHandle)HDrawingObject, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the drawing object.

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

open_windowOpenWindow

Possible successors

disp_regionDispRegion, set_coloredSetColored, set_line_widthSetLineWidth, set_drawSetDraw, attach_drawing_object_to_windowAttachDrawingObjectToWindow

Alternatives

draw_ellipse_modDrawEllipseMod, draw_ellipseDrawEllipse, draw_regionDrawRegion

See also

gen_ellipseGenEllipse, draw_circleDrawCircle, draw_rectangle2DrawRectangle2

Module🔗

Foundation