Name
distance_rr_mindistance_rr_minDistanceRrMinDistanceRrMin — Ermitteln des minimalen Abstands zwischen den Konturpunkten von je zwei Regionen.
Herror distance_rr_min(const Hobject Regions1, const Hobject Regions2, double* MinDistance, Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2)
Herror T_distance_rr_min(const Hobject Regions1, const Hobject Regions2, Htuple* MinDistance, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2)
void DistanceRrMin(const HObject& Regions1, const HObject& Regions2, HTuple* MinDistance, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2)
HTuple HRegion::DistanceRrMin(const HRegion& Regions2, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2) const
double HRegion::DistanceRrMin(const HRegion& Regions2, Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2) const
static void HOperatorSet.DistanceRrMin(HObject regions1, HObject regions2, out HTuple minDistance, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)
HTuple HRegion.DistanceRrMin(HRegion regions2, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)
double HRegion.DistanceRrMin(HRegion regions2, out int row1, out int column1, out int row2, out int column2)
distance_rr_mindistance_rr_minDistanceRrMinDistanceRrMinDistanceRrMin berechnet den minimalen Abstand von Paaren
von Regionen. Falls mehrere Regionen in Regions1Regions1Regions1Regions1regions1 und
Regions2Regions2Regions2Regions2regions2 übergeben werden, wird der Abstand zwischen den
Konturpunkten der jeweils i-ten Elementen berechnet. Dieser bildet
dann den i-ten Eintrag im Ausgabeparameter MinDistanceMinDistanceMinDistanceMinDistanceminDistance. Es
wird der euklidische Abstand berechnet. Die Parameter
(Row1Row1Row1Row1row1,Column1Column1Column1Column1column1) bzw. (Row2Row2Row2Row2row2,
Column2Column2Column2Column2column2) geben die Position auf der Kontur von
Regions1Regions1Regions1Regions1regions1 bzw. Regions2Regions2Regions2Regions2regions2 an, zwischen denen der
Abstand minimal ist.
Die Berechnung erfolgt durch den Vergleich aller Konturpunkte (siehe
get_region_contourget_region_contourGetRegionContourGetRegionContourGetRegionContour). Dies bedeutet insbesondere, dass
Hohlflächen innerhalb der Regionen nicht berücksichtigt werden.
Weiterhin wird nicht überprüft, ob eine Region vollständig innerhalb
der anderen Region liegt. In diesem Fall wird ein Abstand > 0
zurückgegeben. Es wird auch nicht überprüft, ob die beiden Regionen
einen nichtleeren Schnitt besitzen. Im diesem Fall kann, je
nachdem, ob die Konturen der Regionen einen gemeisamen Punkt
besitzen oder nicht, ein minimaler Abstand von 0 oder von > 0 als
Ergebnis zurückgeliefert werden.
Beide Eingabeparameter müssen die gleiche Anzahl von Regionen
enthalten. Die Regionen dürfen nicht leer sein.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Zu untersuchende Regionen.
Zu untersuchende Regionen.
Minimaler Abstand zwischen Konturen der Regionen.
Zusicherung: 0 <= MinDistance
Seien N1,N2 die Längen der Konturen, dann beträgt die
Laufzeitkomplexität O(N1 * N2).
distance_rr_mindistance_rr_minDistanceRrMinDistanceRrMinDistanceRrMin liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe
nicht leer ist. Ansonsten wird eine Fehlerbehandlung
durchgeführt.
thresholdthresholdThresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionConnectionConnection
distance_rr_min_dildistance_rr_min_dilDistanceRrMinDilDistanceRrMinDilDistanceRrMinDil,
dilation1dilation1Dilation1Dilation1Dilation1,
intersectionintersectionIntersectionIntersectionIntersection
Foundation