gen_region_polygon_filledT_gen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled (Operator)

Name

gen_region_polygon_filledT_gen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled — Store a polygon as a “filled” region.

Signature

gen_region_polygon_filled( : Region : Rows, Columns : )

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

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

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

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

void HRegion.GenRegionPolygonFilled(HTuple rows, HTuple columns)

def gen_region_polygon_filled(rows: Sequence[Union[int, float]], columns: Sequence[Union[int, float]]) -> HObject

Description

The operator gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled creates a region from a polygon containing the corner points of the region (line and column coordinates) either clockwise or anti-clockwise. Contrary to gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon a “filled” region is returned here. Note that for subpixel coordinates RowsRowsRowsRowsrowsrows and ColumnsColumnsColumnsColumnscolumnscolumns the coordinates are rounded before the polygon containing the corner points is determined. Therefore there might be pixels in the RegionRegionRegionRegionregionregion which do not lie on the orignial (subpixel) polygon. An simple alternative in the case of polygons without holes would be to use the operators gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon and fill_upfill_upFillUpFillUpFillUpfill_up.

Execution Information

Parameters

RegionRegionRegionRegionregionregion (output_object)  region objectHRegionHObjectHRegionHobject *

Created region.

RowsRowsRowsRowsrowsrows (input_control)  polygon.y-array HTupleSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

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[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

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 (C)

/* Polygon approximation */
T_get_region_polygon(Region,7,&Row,&Column);
T_gen_region_polygon_filled(&Pol,Row,Column);
/* fill up with original gray value */
reduce_domain(Image,Pol,&New);

Result

If the base points are correct the operator gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled 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_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, draw_polygondraw_polygonDrawPolygonDrawPolygonDrawPolygondraw_polygon

See also

gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, get_region_polygonget_region_polygonGetRegionPolygonGetRegionPolygonGetRegionPolygonget_region_polygon, gen_region_runsgen_region_runsGenRegionRunsGenRegionRunsGenRegionRunsgen_region_runs

Module

Foundation