symm_differencesymm_differenceSymmDifferenceSymmDifferencesymm_difference (Operator)

Name

symm_differencesymm_differenceSymmDifferenceSymmDifferencesymm_difference — Berechnen der symmetrischen Mengendifferenz von Regionen.

Signatur

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

Beschreibung

symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifferencesymm_difference berechnet die symmetrische Mengendifferenz von Regionen. Intern werden alle Regionen aus Region2Region2Region2Region2region2region_2 zunächst vereinigt, bevor die Differenz jeder einzelnen Region aus Region1Region1Region1Region1region1region_1 mit der vereinigten Region berechnet wird. Zwei mögliche Definitionen der symmetrischen Mengendifferenz sind aus dem Beispiel unten zu entnehmen. Eine dritte Definition ist, die symmetrische Mengendifferenz als das exklusive Oder der beiden Regionen zu betrachten.

Achtung

Leere Eingaberegionen sind bei beiden Parametern zulässig. Es ist zu beachten, dass leere Regionen entstehen können. Hierbei ist der Wert von 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" zu beachten.

Ausführungsinformationen

Parameter

Region1Region1Region1Region1region1region_1 (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Eingaberegion 1.

Region2Region2Region2Region2region2region_2 (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Eingaberegion 2.

RegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceregionDifferenceregion_difference (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Ergebnis der Differenz.

Beispiel (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)

Ergebnis

symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifferencesymm_difference liefert normalerweise den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingaberegionen vorhanden) lässt sich mittels 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>), das bei leerer Region mit 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region

Siehe auch

intersectionintersectionIntersectionIntersectionIntersectionintersection, union1union1Union1Union1Union1union1, union2union2Union2Union2Union2union2, complementcomplementComplementComplementComplementcomplement, differencedifferenceDifferenceDifferenceDifferencedifference

Modul

Foundation