convexityconvexityConvexityConvexity (Operator)


convexityconvexityConvexityConvexity — Shape factor for the convexity of a region.


convexity(Regions : : : Convexity)

Herror convexity(const Hobject Regions, double* Convexity)

Herror T_convexity(const Hobject Regions, Htuple* Convexity)

void Convexity(const HObject& Regions, HTuple* Convexity)

HTuple HRegion::Convexity() const

static void HOperatorSet.Convexity(HObject regions, out HTuple convexity)

HTuple HRegion.Convexity()


The operator convexityconvexityConvexityConvexityConvexity calculates the convexity of each input region of RegionsRegionsRegionsRegionsregions.


If is the area of the convex hull and the original area of the region the shape factor C is defined as:

The shape factor C is 1 if the region is convex (e.g., rectangle, circle etc.). If there are indentations or holes C is smaller than 1.

In the documentation of this chapter (Regions / Features), you can find an image illustrating regions which vary in their convexity.

In case of an empty region the operator convexityconvexityConvexityConvexityConvexity returns the value 0 (if no other behavior was set (see set_systemset_systemSetSystemSetSystemSetSystem)). If more than one region is passed the numerical values of the contour length are stored in a tuple, the position of a value in the tuple corresponding to the position of the region in the input tuple.

Execution Information


RegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHobject

Region(s) to be examined.

ConvexityConvexityConvexityConvexityconvexity (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Convexity of the input region(s).

Assertion: Convexity <= 1


The operator convexityconvexityConvexityConvexityConvexity returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input regions available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). The behavior in case of empty region (the region is the empty set) is set via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection

See also

select_shapeselect_shapeSelectShapeSelectShapeSelectShape, area_centerarea_centerAreaCenterAreaCenterAreaCenter, shape_transshape_transShapeTransShapeTransShapeTrans