Name
differencedifferenceDifferenceDifference — Calculate the difference of two regions.
differencedifferenceDifferenceDifferenceDifference calculates the set-theoretic difference of
two regions:
(Regions in Region) - (Regions in Sub)
The resulting region is defined as the input region
(RegionRegionRegionRegionregion) with all points from SubSubSubSubsub removed.
Note that, internally, all regions of SubSubSubSubsub are united to
a single region before the differences between the individual regions of
RegionRegionRegionRegionregion and the united region are calculated.
Empty regions are valid for both parameters. On output, empty
regions may result. The value of the system flag
'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region" determines the behavior in this
case.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
The union of these regions is subtracted from Region.
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
/* provides the region X without the points in Y */
difference(X,Y,&RegionDifference);
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
Let N be the number of regions, F_1 be their average area, and
F_2 be the total area of all regions in SubSubSubSubsub. Then
the runtime complexity is
O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).
differencedifferenceDifferenceDifferenceDifference always returns the value 2 (H_MSG_TRUE). 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>)
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>)SetSystem("empty_region_result",<Result>).
If necessary, an exception is raised.
thresholdthresholdThresholdThresholdThreshold,
connectionconnectionConnectionConnectionConnection,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing,
pouringpouringPouringPouringPouring,
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
select_shapeselect_shapeSelectShapeSelectShapeSelectShape,
disp_regiondisp_regionDispRegionDispRegionDispRegion
intersectionintersectionIntersectionIntersectionIntersection,
union1union1Union1Union1Union1,
union2union2Union2Union2Union2,
complementcomplementComplementComplementComplement,
symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifference
Foundation