Name
differencedifferenceDifferencedifferenceDifferenceDifference — Calculate the difference of two regions.
differencedifferenceDifferencedifferenceDifferenceDifference calculates the set-theoretic difference of
two regions:
(Regions in Region) - (Regions in Sub)
The resulting region is defined as the input region
(RegionRegionRegionRegionRegionregion) with all points from SubSubSubSubSubsub removed.
Note that, internally, all regions of SubSubSubSubSubsub are united to
a single region before the differences between the individual regions of
RegionRegionRegionRegionRegionregion 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""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)
* 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 SubSubSubSubSubsub. Then
the runtime complexity is
O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).
differencedifferenceDifferencedifferenceDifferenceDifference 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>)set_system("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>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>).
If necessary, an exception is raised.
thresholdthresholdThresholdthresholdThresholdThreshold,
connectionconnectionConnectionconnectionConnectionConnection,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
pouringpouringPouringpouringPouringPouring,
class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm
select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape,
disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion
intersectionintersectionIntersectionintersectionIntersectionIntersection,
union1union1Union1union1Union1Union1,
union2union2Union2union2Union2Union2,
complementcomplementComplementcomplementComplementComplement,
symm_differencesymm_differenceSymmDifferencesymm_differenceSymmDifferenceSymmDifference
Foundation