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.
Region1
(input_object) region(-array) →
object
Eingaberegion 1.
Region2
(input_object) region(-array) →
object
Eingaberegion 2.
RegionDifference
(output_object) region(-array) →
object
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