distance_srdistance_srDistanceSrDistanceSr (Operator)
Name
distance_srdistance_srDistanceSrDistanceSr
— Berechnen des Abstandes zwischen einer Strecke und einer Region.
Signatur
Herror distance_sr(const Hobject Region, double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax)
Herror T_distance_sr(const Hobject Region, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, Htuple* DistanceMin, Htuple* DistanceMax)
void DistanceSr(const HObject& Region, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax)
void HRegion::DistanceSr(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, HTuple* DistanceMin, HTuple* DistanceMax) const
void HRegion::DistanceSr(double Row1, double Column1, double Row2, double Column2, double* DistanceMin, double* DistanceMax) const
static void HOperatorSet.DistanceSr(HObject region, HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distanceMin, out HTuple distanceMax)
void HRegion.DistanceSr(HTuple row1, HTuple column1, HTuple row2, HTuple column2, out HTuple distanceMin, out HTuple distanceMax)
void HRegion.DistanceSr(double row1, double column1, double row2, double column2, out double distanceMin, out double distanceMax)
Beschreibung
distance_srdistance_srDistanceSrDistanceSrDistanceSr
berechnet den Abstand zwischen einer Strecke
und einer Region.
Als Eingabe werden die Anfangs- und Endpunkte der jeweiligen Strecke
(Row1Row1Row1Row1row1
,Column1Column1Column1Column1column1
,Row2Row2Row2Row2row2
,Column2Column2Column2Column2column2
)
und eine Region erwartet. Das entsprechende Ergebnis wird in den Parametern
DistanceMinDistanceMinDistanceMinDistanceMindistanceMin
und DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMax
übergeben.
Achtung
Aus Laufzeitgründen werden in distance_srdistance_srDistanceSrDistanceSrDistanceSr
Löcher der Region nicht berücksichtigt.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RegionRegionRegionRegionregion
(input_object) region →
objectHRegionHRegionHobject
Eingaberegion.
Row1Row1Row1Row1row1
(input_control) point.y(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes der Strecke.
Column1Column1Column1Column1column1
(input_control) point.x(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes der Strecke.
Row2Row2Row2Row2row2
(input_control) point.y(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes der Strecke.
Column2Column2Column2Column2column2
(input_control) point.x(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes der Strecke.
DistanceMinDistanceMinDistanceMinDistanceMindistanceMin
(output_control) real(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Minimaler Abstand zwischen der Strecke und der Region.
DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMax
(output_control) real(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Maximaler Abstand zwischen der Strecke und der Region.
Beispiel (HDevelop)
gen_circle (Circle, 200, 200, 100.5)
Column1 := 300
Column2 := 400
for Row := 50 to 350 by 50
gen_contour_polygon_xld (Line, [Row,Row], [Column1,Column2])
distance_sr (Circle, Row, Column1, Row, Column2, DistanceMin, DistanceMax)
endfor
Beispiel (C)
threshold(Image, &Region, 0.0, 120.0);
distance_sr(Region,row1,column1,row2,column2
&distance_min, &distance_max);
Beispiel (HDevelop)
gen_circle (Circle, 200, 200, 100.5)
Column1 := 300
Column2 := 400
for Row := 50 to 350 by 50
gen_contour_polygon_xld (Line, [Row,Row], [Column1,Column2])
distance_sr (Circle, Row, Column1, Row, Column2, DistanceMin, DistanceMax)
endfor
Beispiel (HDevelop)
gen_circle (Circle, 200, 200, 100.5)
Column1 := 300
Column2 := 400
for Row := 50 to 350 by 50
gen_contour_polygon_xld (Line, [Row,Row], [Column1,Column2])
distance_sr (Circle, Row, Column1, Row, Column2, DistanceMin, DistanceMax)
endfor
Beispiel (HDevelop)
gen_circle (Circle, 200, 200, 100.5)
Column1 := 300
Column2 := 400
for Row := 50 to 350 by 50
gen_contour_polygon_xld (Line, [Row,Row], [Column1,Column2])
distance_sr (Circle, Row, Column1, Row, Column2, DistanceMin, DistanceMax)
endfor
Ergebnis
distance_srdistance_srDistanceSrDistanceSrDistanceSr
liefert den Wert 2 (H_MSG_TRUE).
Alternativen
distance_scdistance_scDistanceScDistanceScDistanceSc
,
distance_lrdistance_lrDistanceLrDistanceLrDistanceLr
,
distance_prdistance_prDistancePrDistancePrDistancePr
,
diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegion
Siehe auch
hamming_distancehamming_distanceHammingDistanceHammingDistanceHammingDistance
,
select_region_pointselect_region_pointSelectRegionPointSelectRegionPointSelectRegionPoint
,
test_region_pointtest_region_pointTestRegionPointTestRegionPointTestRegionPoint
,
smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2
Modul
Foundation