Name
differencedifferenceDifferencedifferenceDifferenceDifference — Berechnen der Differenz von Mengen von Regionen.
differencedifferenceDifferencedifferenceDifferenceDifference berechnet die flächenmäßige Differenz von
Regionen:
(Regionen aus Region) - (Regionen aus Sub)
Eine Ergebnisregion berechnet sich aus der Eingaberegion
(RegionRegionRegionRegionRegionregion) minus aller Punkte der Regionen aus
SubSubSubSubSubsub. Intern werden alle Regionen aus SubSubSubSubSubsub
zunächst vereinigt, bevor die Differenz jeder einzelnen
Region aus RegionRegionRegionRegionRegionregion mit der vereinigten Region
berechnet wird.
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'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" zu beachten.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Zu bearbeitende Region(en).
Diese Region(en) (ihre Vereinigung) werden von
Region abgezogen.
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
/* provides the region X without the points in Y */
difference(X,Y,&RegionDifference);
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
* provides the region X without the points in Y
difference(X,Y,RegionDifference)
Sei N die Anzahl der Region und F_1 deren mittlere Fläche und
F_2 die Gesamtfläche aller Regionen aus SubSubSubSubSubsub, dann ist
die Laufzeitkomplexität:
O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).
differencedifferenceDifferencedifferenceDifferenceDifference 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("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>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
thresholdthresholdThresholdthresholdThresholdThreshold,
connectionconnectionConnectionconnectionConnectionConnection,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
pouringpouringPouringpouringPouringPouring,
class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm
select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape,
disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion
intersectionintersectionIntersectionintersectionIntersectionIntersection,
union1union1Union1union1Union1Union1,
union2union2Union2union2Union2Union2,
complementcomplementComplementcomplementComplementComplement,
symm_differencesymm_differenceSymmDifferencesymm_differenceSymmDifferenceSymmDifference
Foundation