| Operatoren |
symm_difference — Berechnen der symmetrischen Mengendifferenz von Regionen.
symm_difference(Region1, Region2 : RegionDifference : : )
symm_difference berechnet die symmetrische Mengendifferenz von Regionen. Intern werden alle Regionen aus Region2 zunächst vereinigt, bevor die Differenz jeder einzelnen Region aus Region1 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.
Leere Eingaberegionen sind bei beiden Parametern zulässig. Es ist zu beachten, dass leere Regionen enstehen können. Hierbei ist der Wert von 'store_empty_region' zu beachten.
Eingaberegion 1.
Eingaberegion 2.
Ergebnis der Differenz.
* 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_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>), das bei leerer Region mit set_system('empty_region_result',<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
intersection, union1, union2, complement, difference
Foundation
| Operatoren |