KlassenKlassenKlassenKlassen | | | | Operatoren

differencedifferenceDifferencedifferenceDifferenceDifference (Operator)

Name

differencedifferenceDifferencedifferenceDifferenceDifference — 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)

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

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

HRegionArray HRegionArray::Difference(const HRegionArray& Sub) const

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

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

void HOperatorSetX.Difference(
[in] IHUntypedObjectX* Region, [in] IHUntypedObjectX* Sub, [out] IHUntypedObjectX*RegionDifference)

IHRegionX* HRegionX.Difference([in] IHRegionX* Sub)

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

HRegion HRegion.Difference(HRegion sub)

Beschreibung

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.

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

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Zu bearbeitende Region(en).

SubSubSubSubSubsub (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

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

RegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceRegionDifferenceregionDifference (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

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)

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 SubSubSubSubSubsub, dann ist die Laufzeitkomplexität: O(F_1 * log(F_1) + N * (sqrt(F_1) + sqrt(F_2))).

Ergebnis

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.

Vorgänger

thresholdthresholdThresholdthresholdThresholdThreshold, connectionconnectionConnectionconnectionConnectionConnection, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, pouringpouringPouringpouringPouringPouring, class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm

Nachfolger

select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion

Siehe auch

intersectionintersectionIntersectionintersectionIntersectionIntersection, union1union1Union1union1Union1Union1, union2union2Union2union2Union2Union2, complementcomplementComplementcomplementComplementComplement, symm_differencesymm_differenceSymmDifferencesymm_differenceSymmDifferenceSymmDifference

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren