differencedifferenceDifferenceDifference (Operator)

Name

differencedifferenceDifferenceDifference — Berechnen der Differenz von Mengen von Regionen.

Signatur

difference(Region, Sub : RegionDifference : : )

Herror difference(const Hobject Region, const Hobject Sub, Hobject* RegionDifference)

Herror T_difference(const Hobject Region, const Hobject Sub, Hobject* RegionDifference)

void Difference(const HObject& Region, const HObject& Sub, HObject* RegionDifference)

HRegion HRegion::Difference(const HRegion& Sub) const

static void HOperatorSet.Difference(HObject region, HObject sub, out HObject regionDifference)

HRegion HRegion.Difference(HRegion sub)

Beschreibung

differencedifferenceDifferenceDifferenceDifference berechnet die flächenmäßige Differenz von Regionen: (Regionen aus Region) - (Regionen aus Sub) Eine Ergebnisregion berechnet sich aus der Eingaberegion (RegionRegionRegionRegionregion) minus aller Punkte der Regionen aus SubSubSubSubsub. Intern werden alle Regionen aus SubSubSubSubsub zunächst vereinigt, bevor die Differenz jeder einzelnen Region aus RegionRegionRegionRegionregion mit der vereinigten Region berechnet wird.

Achtung

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" zu beachten.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Zu bearbeitende Region(en).

SubSubSubSubsub (input_object)  region(-array) objectHRegionHRegionHobject

Diese Region(en) (ihre Vereinigung) werden von Region abgezogen.

RegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceregionDifference (output_object)  region(-array) objectHRegionHRegionHobject *

Ergebnis der Differenz.

Beispiel (HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

Beispiel (C)

/* provides the region X without the points in Y */
difference(X,Y,&RegionDifference);

Beispiel (HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

Beispiel (HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

Beispiel (HDevelop)

* provides the region X without the points in Y
difference(X,Y,RegionDifference)

Komplexität

Sei N die Anzahl der Region und F_1 deren mittlere Fläche und F_2 die Gesamtfläche aller Regionen aus SubSubSubSubsub, dann ist die Laufzeitkomplexität: O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).

Ergebnis

differencedifferenceDifferenceDifferenceDifference 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>), 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThreshold, connectionconnectionConnectionConnectionConnection, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, pouringpouringPouringPouringPouring, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm

Nachfolger

select_shapeselect_shapeSelectShapeSelectShapeSelectShape, disp_regiondisp_regionDispRegionDispRegionDispRegion

Siehe auch

intersectionintersectionIntersectionIntersectionIntersection, union1union1Union1Union1Union1, union2union2Union2Union2Union2, complementcomplementComplementComplementComplement, symm_differencesymm_differenceSymmDifferenceSymmDifferenceSymmDifference

Modul

Foundation