Operator Reference

gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse (Operator)

gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse — Create an ellipse.

Signature

gen_ellipse( : Ellipse : Row, Column, Phi, Radius1, Radius2 : )

Herror gen_ellipse(Hobject* Ellipse, double Row, double Column, double Phi, double Radius1, double Radius2)

Herror T_gen_ellipse(Hobject* Ellipse, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2)

void GenEllipse(HObject* Ellipse, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2)

void HRegion::GenEllipse(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2)

void HRegion::GenEllipse(double Row, double Column, double Phi, double Radius1, double Radius2)

static void HOperatorSet.GenEllipse(out HObject ellipse, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2)

void HRegion.GenEllipse(HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2)

void HRegion.GenEllipse(double row, double column, double phi, double radius1, double radius2)

def gen_ellipse(row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]], phi: MaybeSequence[Union[int, float]], radius_1: MaybeSequence[Union[int, float]], radius_2: MaybeSequence[Union[int, float]]) -> HObject

Description

The operator gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse generates one or more ellipses with the center (RowRowRowrowrow, ColumnColumnColumncolumncolumn), the orientation PhiPhiPhiphiphi and the half-radii (half axes) Radius1Radius1Radius1radius1radius_1 and Radius2Radius2Radius2radius2radius_2. The angle is indicated in arc measure according to the x axis in mathematically positive direction. More than one region can be created by passing tuples of parameter values.

The center must be located within the image coordinates. The coordinate system runs from (0,0) (upper left corner) to (Width-1,Height-1). See get_systemget_systemGetSystemGetSystemget_system and reset_obj_dbreset_obj_dbResetObjDbResetObjDbreset_obj_db in this context. If the ellipse reaches beyond the edge of the image it is clipped to the current image format according to the value of the system flag 'clip_region'"clip_region""clip_region""clip_region""clip_region" (set_systemset_systemSetSystemSetSystemset_system).

Parameter Broadcasting

This operator supports parameter broadcasting. This means that each parameter can be given as a tuple of length 1 or N. Parameters with tuple length 1 will be repeated internally such that the number of created items is always N.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

EllipseEllipseEllipseellipseellipse (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Created ellipse(s).

RowRowRowrowrow (input_control)  ellipse.center.y(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Line index of center.

Default: 200.0

Suggested values: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Value range: 1.0 ≤ Row Row Row row row ≤ 1024.0 (lin)

Minimum increment: 1.0

Recommended increment: 10.0

ColumnColumnColumncolumncolumn (input_control)  ellipse.center.x(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column index of center.

Default: 200.0

Suggested values: 0.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Value range: 1.0 ≤ Column Column Column column column ≤ 1024.0 (lin)

Minimum increment: 1.0

Recommended increment: 10.0

PhiPhiPhiphiphi (input_control)  ellipse.angle.rad(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Orientation of the longer radius (Radius1).

Default: 0.0

Suggested values: -1.178097, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.178097

Value range: -1.178097 ≤ Phi Phi Phi phi phi ≤ 1.178097 (lin)

Radius1Radius1Radius1radius1radius_1 (input_control)  ellipse.radius1(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Longer radius.

Default: 100.0

Suggested values: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Value range: Radius1 Radius1 Radius1 radius1 radius_1 (lin)

Minimum increment: 1.0

Recommended increment: 10.0

Restriction: Radius1 > 0

Radius2Radius2Radius2radius2radius_2 (input_control)  ellipse.radius2(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Shorter radius.

Default: 60.0

Suggested values: 1.0, 2.0, 4.0, 5.0, 10.0, 20.0, 50.0, 100.0, 256.0, 300.0, 400.0

Value range: Radius2 Radius2 Radius2 radius2 radius_2 (lin)

Minimum increment: 1.0

Recommended increment: 10.0

Restriction: Radius2 > 0 && Radius2 <= Radius1

Example (HDevelop)

read_image (Image, 'fabrik')
gen_ellipse (Ellipse, 200, 200, rad(10), 160, 90)
reduce_domain (Image, Ellipse, ImageReduced)
dev_clear_window ()
dev_display (ImageReduced)

Complexity

Runtime complexity: O(Radius1Radius1Radius1radius1radius_1 * 2)

Storage complexity (byte): O(Radius1Radius1Radius1radius1radius_1 * 8)

Result

If the parameter values are correct, the operator gen_ellipsegen_ellipseGenEllipseGenEllipsegen_ellipse returns the value 2 ( H_MSG_TRUE) . Otherwise an exception is raised. The clipping according to the current image format is set via the operator set_system('clip_region',<'true'/'false'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)set_system("clip_region",<"true"/"false">).

Possible Successors

paint_regionpaint_regionPaintRegionPaintRegionpaint_region, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

Alternatives

gen_circlegen_circleGenCircleGenCirclegen_circle, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled, draw_ellipsedraw_ellipseDrawEllipseDrawEllipsedraw_ellipse

See also

disp_ellipsedisp_ellipseDispEllipseDispEllipsedisp_ellipse, set_shapeset_shapeSetShapeSetShapeset_shape, smallest_circlesmallest_circleSmallestCircleSmallestCirclesmallest_circle, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

Module

Foundation