symm_differencesymm_differenceSymmDifferenceSymmDifferencesymm_difference (算子)

名称

symm_differencesymm_differenceSymmDifferenceSymmDifferencesymm_difference — 计算两个区域的对称差。

签名

symm_difference(Region1, Region2 : RegionDifference : : )

Herror symm_difference(const Hobject Region1, const Hobject Region2, Hobject* RegionDifference)

Herror T_symm_difference(const Hobject Region1, const Hobject Region2, Hobject* RegionDifference)

void SymmDifference(const HObject& Region1, const HObject& Region2, HObject* RegionDifference)

HRegion HRegion::SymmDifference(const HRegion& Region2) const

static void HOperatorSet.SymmDifference(HObject region1, HObject region2, out HObject regionDifference)

HRegion HRegion.SymmDifference(HRegion region2)

def symm_difference(region_1: HObject, region_2: HObject) -> HObject

描述

symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifferencesymm_difference calculates the symmetric difference of two regions. Note that, internally, all regions of Region2Region2Region2Region2region2region_2 are united to a single region before the symmetric differences between the individual regions of Region1Region1Region1Region1region1region_1 and the united region are calculated. Two possible definitions of the symmetric difference can be seen in the example below. A third definition is to regard the exclusive or of the two regions.

注意

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.

执行信息

参数

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

Input region 1.

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

Input region 2.

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

Resulting region.

示例(HDevelop)

* Simulate the symmetric difference of Region1 and Region2 with
* difference and union:
difference(Region1, Region2, Diff1)
difference(Region2, Region1, Diff2)
union2(Diff1, Diff2, Difference)

* Simulate the symmetric difference of Region1 and Region2 with
* union, intersection, and difference:
union2(Region1, Region2, Union)
intersection(Region1, Region2, Intersection)
difference(Union, Intersection, Difference)

结果

symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifferencesymm_difference 始终返回值 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>) 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>)set_system("empty_region_result",<Result>)。如有必要,则抛出异常。

可能的后继

select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region

另见

intersectionintersectionIntersectionIntersectionIntersectionintersection, union1union1Union1Union1Union1union1, union2union2Union2Union2Union2union2, complementcomplementComplementComplementComplementcomplement, differencedifferenceDifferenceDifferenceDifferencedifference

模块

基础