gen_region_polygonT_gen_region_polygonGenRegionPolygonGenRegionPolygongen_region_polygon (Operator)

Name

gen_region_polygonT_gen_region_polygonGenRegionPolygonGenRegionPolygongen_region_polygon — Store a polygon as a region.

Signature

gen_region_polygon( : Region : Rows, Columns : )

Herror T_gen_region_polygon(Hobject* Region, const Htuple Rows, const Htuple Columns)

void GenRegionPolygon(HObject* Region, const HTuple& Rows, const HTuple& Columns)

void HRegion::GenRegionPolygon(const HTuple& Rows, const HTuple& Columns)

static void HOperatorSet.GenRegionPolygon(out HObject region, HTuple rows, HTuple columns)

void HRegion.GenRegionPolygon(HTuple rows, HTuple columns)

def gen_region_polygon(rows: Sequence[int], columns: Sequence[int]) -> HObject

Description

The operator gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon creates a region from a polygon row described by a series of line and column coordinates. The created region consists of the pixels of the routes defined thereby, wherein it is linearly interpolated between the base points.

Attention

The region is not automatically closed and not filled.

Execution Information

Parameters

RegionRegionRegionRegionregionregion (output_object)  region objectHRegionHObjectHRegionHobject *

Created region.

RowsRowsRowsRowsrowsrows (input_control)  polygon.y-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Line indices of the base points of the region contour.

Default value: 100

Suggested values: 0, 10, 30, 50, 100, 200, 300, 500

Typical range of values: Rows Rows Rows Rows rows rows (lin)

Minimum increment: 1

Recommended increment: 1

ColumnsColumnsColumnsColumnscolumnscolumns (input_control)  polygon.x-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column indices of the base points of the region contour.

Number of elements: Columns == Rows

Default value: 100

Suggested values: 0, 10, 30, 50, 100, 200, 300, 500

Typical range of values: Columns Columns Columns Columns columns columns (lin)

Minimum increment: 1

Recommended increment: 1

Example (HDevelop)

* Polygon-approximation
get_region_polygon(Region,7,Row,Column)
* store it as a region
gen_region_polygon(Pol,Row,Column)
* fill up the hole
fill_up(Pol,Filled)

Example (C)

/* Polygon-approximation */
T_get_region_polygon(Region,7,&Row,&Column);
/* store it as a region */
T_gen_region_polygon(&Pol,Row,Column);
destroy_tuple(Row);
destroy_tuple(Column);
/* fill up the hole */
fill_up(Pol,&Filled);

Example (HDevelop)

* Polygon-approximation
get_region_polygon(Region,7,Row,Column)
* store it as a region
gen_region_polygon(Pol,Row,Column)
* fill up the hole
fill_up(Pol,Filled)

Example (HDevelop)

* Polygon-approximation
get_region_polygon(Region,7,Row,Column)
* store it as a region
gen_region_polygon(Pol,Row,Column)
* fill up the hole
fill_up(Pol,Filled)

Example (HDevelop)

* Polygon-approximation
get_region_polygon(Region,7,Row,Column)
* store it as a region
gen_region_polygon(Pol,Row,Column)
* fill up the hole
fill_up(Pol,Filled)

Result

If the base points are correct the operator gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon returns the value TRUE. Otherwise an exception is raised. The clipping according to the current image format is set via the operator set_system('clip_region',<'2 (H_MSG_TRUE)'/'3 (H_MSG_FALSE)'>)set_system("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)set_system("clip_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">). If an empty region is created (by the clipping or by an empty input) the operator set_system('store_empty_region',<'2 (H_MSG_TRUE)'/'3 (H_MSG_FALSE)'>)set_system("store_empty_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("store_empty_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("store_empty_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)SetSystem("store_empty_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">)set_system("store_empty_region",<"2 (H_MSG_TRUE)"/"3 (H_MSG_FALSE)">) determines whether the region is returned or an empty object tuple.

Possible Predecessors

get_region_polygonget_region_polygonGetRegionPolygonGetRegionPolygonGetRegionPolygonget_region_polygon, draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygondraw_polygon

Alternatives

gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, gen_region_runsgen_region_runsGenRegionRunsGenRegionRunsGenRegionRunsgen_region_runs

See also

fill_upfill_upFillUpFillUpFillUpfill_up, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, get_region_polygonget_region_polygonGetRegionPolygonGetRegionPolygonGetRegionPolygonget_region_polygon, draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygondraw_polygon

Module

Foundation