differencedifferenceDifferenceDifferencedifference (算子)

名称

differencedifferenceDifferenceDifferencedifference — 计算两个区域的差。

签名

difference(Region, Sub : RegionDifference : : )

Herror difference(const Hobject Region, const Hobject Sub, Hobject* RegionDifference)

Herror T_difference(const Hobject Region, const Hobject Sub, Hobject* RegionDifference)

void Difference(const HObject& Region, const HObject& Sub, HObject* RegionDifference)

HRegion HRegion::Difference(const HRegion& Sub) const

static void HOperatorSet.Difference(HObject region, HObject sub, out HObject regionDifference)

HRegion HRegion.Difference(HRegion sub)

def difference(region: HObject, sub: HObject) -> HObject

描述

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.

执行信息

参数

RegionRegionRegionRegionregionregion (输入对象)  region(-array) objectHRegionHObjectHRegionHobject

Regions to be processed.

SubSubSubSubsubsub (输入对象)  region(-array) objectHRegionHObjectHRegionHobject

The union of these regions is subtracted from Region.

RegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceregionDifferenceregion_difference (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

Resulting region.

示例(HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

示例(C)

/* provides the region X without the points in Y */
difference(X,Y,&RegionDifference);

示例(HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

示例(HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

示例(HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

复杂度

Let be the number of regions, be their average area, and be the total area of all regions in SubSubSubSubsubsub. Then the runtime complexity is

结果

differencedifferenceDifferenceDifferenceDifferencedifference 始终返回值 2 ( H_MSG_TRUE )。当输入为空(未指定区域)时则可设置行为通过 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>) 以及输入区域为空时可设置行为通过 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>)。如有必要,则抛出异常。

可能的前趋

thresholdthresholdThresholdThresholdThresholdthreshold, connectionconnectionConnectionConnectionConnectionconnection, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, pouringpouringPouringPouringPouringpouring, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm

可能的后继

select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region

另见

intersectionintersectionIntersectionIntersectionIntersectionintersection, union1union1Union1Union1Union1union1, union2union2Union2Union2Union2union2, complementcomplementComplementComplementComplementcomplement, symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifferencesymm_difference

模块

基础