KlassenKlassenKlassenKlassen | | | | Operatoren

intersectionintersectionIntersectionintersectionIntersectionIntersection (Operator)

Name

intersectionintersectionIntersectionintersectionIntersectionIntersection — Berechnen des Durchschnitts von Mengen von Regionen.

Signatur

intersection(Region1, Region2 : RegionIntersection : : )

Herror intersection(const Hobject Region1, const Hobject Region2, Hobject* RegionIntersection)

Herror T_intersection(const Hobject Region1, const Hobject Region2, Hobject* RegionIntersection)

Herror intersection(Hobject Region1, Hobject Region2, Hobject* RegionIntersection)

HRegion HRegion::Intersection(const HRegion& Region2) const

HRegionArray HRegionArray::Intersection(const HRegionArray& Region2) const

void Intersection(const HObject& Region1, const HObject& Region2, HObject* RegionIntersection)

HRegion HRegion::Intersection(const HRegion& Region2) const

void HOperatorSetX.Intersection(
[in] IHUntypedObjectX* Region1, [in] IHUntypedObjectX* Region2, [out] IHUntypedObjectX*RegionIntersection)

IHRegionX* HRegionX.Intersection([in] IHRegionX* Region2)

static void HOperatorSet.Intersection(HObject region1, HObject region2, out HObject regionIntersection)

HRegion HRegion.Intersection(HRegion region2)

Beschreibung

intersectionintersectionIntersectionintersectionIntersectionIntersection bildet den Durchschnitt aller Regionen aus Region1Region1Region1Region1Region1region1 mit den Regionen aus Region2Region2Region2Region2Region2region2. Jede Region aus Region1Region1Region1Region1Region1region1 wird mit allen Regionen aus Region2Region2Region2Region2Region2region2 geschnitten. D.h., intern werden alle Regionen aus Region2Region2Region2Region2Region2region2 zunächst vereinigt, bevor der Durchschnitt jeder einzelnen Region aus Region1Region1Region1Region1Region1region1 mit der vereinigten Region berechnet wird. Die Reihenfolge der Regionen aus Region1Region1Region1Region1Region1region1 ist identisch mit der Reihenfolge der bearbeiteten Regionen in RegionIntersectionRegionIntersectionRegionIntersectionRegionIntersectionRegionIntersectionregionIntersection (d.h. erste Eingaberegion = erste geschnittene Region, usw.).

Achtung

Leere Eingaberegionen sind zulässig. Da leere Regionen auftreten können ist das Flag 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" zu beachten.

Parallelisierung

Parameter

Region1Region1Region1Region1Region1region1 (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Jede Region aus Region1 wird mit der Vereinigung der Regionen aus Region2 geschnitten.

Region2Region2Region2Region2Region2region2 (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen, die für die Berechnung vereinigt werden.

RegionIntersectionRegionIntersectionRegionIntersectionRegionIntersectionRegionIntersectionregionIntersection (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Ergebnis der Durchschnittsbildung.

Parameteranzahl: RegionIntersection <= Region1

Komplexität

Sei N die Anzahl der Regionen in Region1Region1Region1Region1Region1region1 und deren mittlere Fläche und die Gesamtfläche aller Regionen aus Region2Region2Region2Region2Region2region2, dann ist die Laufzeitkomplexität: .

Ergebnis

intersectionintersectionIntersectionintersectionIntersectionIntersection 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

Nachfolger

select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion

Siehe auch

union1union1Union1union1Union1Union1, union2union2Union2union2Union2Union2, complementcomplementComplementcomplementComplementComplement

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren