Operator Reference

clip_region_relclip_region_relClipRegionRelClipRegionRelclip_region_rel (Operator)

clip_region_relclip_region_relClipRegionRelClipRegionRelclip_region_rel — Clip a region relative to its smallest surrounding rectangle.

Signature

clip_region_rel(Region : RegionClipped : Top, Bottom, Left, Right : )

Herror clip_region_rel(const Hobject Region, Hobject* RegionClipped, const Hlong Top, const Hlong Bottom, const Hlong Left, const Hlong Right)

Herror T_clip_region_rel(const Hobject Region, Hobject* RegionClipped, const Htuple Top, const Htuple Bottom, const Htuple Left, const Htuple Right)

void ClipRegionRel(const HObject& Region, HObject* RegionClipped, const HTuple& Top, const HTuple& Bottom, const HTuple& Left, const HTuple& Right)

HRegion HRegion::ClipRegionRel(Hlong Top, Hlong Bottom, Hlong Left, Hlong Right) const

static void HOperatorSet.ClipRegionRel(HObject region, out HObject regionClipped, HTuple top, HTuple bottom, HTuple left, HTuple right)

HRegion HRegion.ClipRegionRel(int top, int bottom, int left, int right)

def clip_region_rel(region: HObject, top: int, bottom: int, left: int, right: int) -> HObject

Description

clip_region_relclip_region_relClipRegionRelClipRegionRelclip_region_rel reduces the RegionRegionRegionregionregion by eliminating parts close to the smallest surrounding rectangle of the RegionRegionRegionregionregion. Specifically this means that the RegionRegionRegionregionregion is clipped to a rectangle that is smaller than or equal to the smallest surrounding rectangle. The resulting clipped region is returned in RegionClippedRegionClippedRegionClippedregionClippedregion_clipped.

The rectangle to which the RegionRegionRegionregionregion is clipped is determined by reducing the smallest surrounding axis-parallel rectangle at the top, bottom, left, and right side by the values given in TopTopToptoptop, BottomBottomBottombottombottom, LeftLeftLeftleftleft, and RightRightRightrightright, respectively.

Bottom = 0 Top = 10 Right = 20 Left = 10 Region RegionClipped
( 1) ( 2)
Region with smallest surrounding rectangle (1) and clipped region (2).

These four parameters must contain numbers larger or equal to zero. If all parameters are set to zero, the region remains unchanged.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.

Parameters

RegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Regions to be clipped.

RegionClippedRegionClippedRegionClippedregionClippedregion_clipped (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Clipped regions.

TopTopToptoptop (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of rows clipped at the top.

Default: 1

Suggested values: 0, 1, 2, 3, 4, 5, 7, 10, 20, 30, 50

Value range: 0 ≤ Top Top Top top top (lin)

Minimum increment: 1

Recommended increment: 1

BottomBottomBottombottombottom (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of rows clipped at the bottom.

Default: 1

Suggested values: 0, 1, 2, 3, 4, 5, 7, 10, 20, 30, 50

Value range: 0 ≤ Bottom Bottom Bottom bottom bottom (lin)

Minimum increment: 1

Recommended increment: 1

LeftLeftLeftleftleft (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of columns clipped at the left.

Default: 1

Suggested values: 0, 1, 2, 3, 4, 5, 7, 10, 20, 30, 50

Value range: 0 ≤ Left Left Left left left (lin)

Minimum increment: 1

Recommended increment: 1

RightRightRightrightright (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of columns clipped at the right.

Default: 1

Suggested values: 0, 1, 2, 3, 4, 5, 7, 10, 20, 30, 50

Value range: 0 ≤ Right Right Right right right (lin)

Minimum increment: 1

Recommended increment: 1

Result

clip_region_relclip_region_relClipRegionRelClipRegionRelclip_region_rel returns 2 ( H_MSG_TRUE) if all parameters are correct. The behavior in case of empty input (no regions given) can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) and the behavior in case of an empty input region via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdthreshold, connectionconnectionConnectionConnectionconnection, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing, pouringpouringPouringPouringpouring

Possible Successors

select_shapeselect_shapeSelectShapeSelectShapeselect_shape, disp_regiondisp_regionDispRegionDispRegiondisp_region

Alternatives

smallest_rectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1smallest_rectangle1, intersectionintersectionIntersectionIntersectionintersection, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1gen_rectangle1, clip_regionclip_regionClipRegionClipRegionclip_region

Module

Foundation