partition_rectanglepartition_rectanglePartitionRectanglePartitionRectanglepartition_rectangle (Operator)
Name
partition_rectanglepartition_rectanglePartitionRectanglePartitionRectanglepartition_rectangle
— Partition a region into rectangles of approximately equal size.
Signature
Description
partition_rectanglepartition_rectanglePartitionRectanglePartitionRectanglePartitionRectanglepartition_rectangle
partitions the input region into
rectangles having an extent of WidthWidthWidthWidthwidthwidth
times
HeightHeightHeightHeightheightheight
. The rectangles are returned in PartitionedPartitionedPartitionedPartitionedpartitionedpartitioned
.
The region is always split into rectangles of
approximately equal size. If this is not possible with the requested
rectangle size, then WidthWidthWidthWidthwidthwidth
and HeightHeightHeightHeightheightheight
are adapted so that
the size of the resulting rectangles is approximately equal. If the region is
smaller than the given size, its output remains unchanged. A partition is
only done if the size of the region is at least 1.5 times the size of the
rectangle given by the parameters.
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
RegionRegionRegionRegionregionregion
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Region to be partitioned.
PartitionedPartitionedPartitionedPartitionedpartitionedpartitioned
(output_object) region(-array) →
objectHRegionHObjectHRegionHobject *
Partitioned region.
WidthWidthWidthWidthwidthwidth
(input_control) extent.x →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Width of the individual rectangles.
HeightHeightHeightHeightheightheight
(input_control) extent.y →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Height of the individual rectangles.
Result
partition_rectanglepartition_rectanglePartitionRectanglePartitionRectanglePartitionRectanglepartition_rectangle
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>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)
,
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>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)
,
and the behavior in case of an empty result region via
set_system('store_empty_region',<'true'/'false'>)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)set_system("store_empty_region",<"true"/"false">)
.
If necessary, an exception is raised.
Possible Predecessors
thresholdthresholdThresholdThresholdThresholdthreshold
,
connectionconnectionConnectionConnectionConnectionconnection
Alternatives
partition_dynamicpartition_dynamicPartitionDynamicPartitionDynamicPartitionDynamicpartition_dynamic
See also
intersectionintersectionIntersectionIntersectionIntersectionintersection
,
smallest_rectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1SmallestRectangle1smallest_rectangle1
,
shape_transshape_transShapeTransShapeTransShapeTransshape_trans
,
clip_regionclip_regionClipRegionClipRegionClipRegionclip_region
Module
Foundation