diameter_xlddiameter_xldDiameterXldDiameterXlddiameter_xld (Operator)

Name

diameter_xlddiameter_xldDiameterXldDiameterXlddiameter_xld — Maximaler Abstand zweier Punkte von Konturen oder Polygonen.

Signatur

diameter_xld(XLD : : : Row1, Column1, Row2, Column2, Diameter)

Herror diameter_xld(const Hobject XLD, double* Row1, double* Column1, double* Row2, double* Column2, double* Diameter)

Herror T_diameter_xld(const Hobject XLD, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2, Htuple* Diameter)

void DiameterXld(const HObject& XLD, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter)

void HXLD::DiameterXld(HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter) const

void HXLD::DiameterXld(double* Row1, double* Column1, double* Row2, double* Column2, double* Diameter) const

static void HOperatorSet.DiameterXld(HObject XLD, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HXLD.DiameterXld(out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HXLD.DiameterXld(out double row1, out double column1, out double row2, out double column2, out double diameter)

def diameter_xld(xld: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]

def diameter_xld_s(xld: HObject) -> Tuple[float, float, float, float, float]

Beschreibung

diameter_xlddiameter_xldDiameterXldDiameterXldDiameterXlddiameter_xld berechnet den maximalen Abstand zweier Punkte für jede Eingabekontur bzw. für jedes Eingabepolygon. Es werden die Koordinaten der beiden Extrempunkte und der Abstand zwischen diesen Punkten zurückgegeben. Es muss darauf geachtet werden, dass sich die Eingabekontur bzw. das Eingabepolygon nicht selbst schneidet, da ansonsten die Ausgabeparameter keine aussagekräftigen Werte enthalten (Ob sich die Eingabekontur bzw. das Eingabepolygon selbst schneidet oder nicht, lässt sich mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld überprüfen). Ist die Eingabekontur bzw. das Eingabepolygon nicht geschlossen, so wird sie vor der Berechnung automatisch geschlossen.

Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden die Ergebnisse in Tupeln in der Reihenfolge ihrer entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLDxld abgespeichert.

Achtung

Bei leerer Kontur bzw. leerem Polygon kann das Ergebnis von Row1Row1Row1Row1row1row_1, Column1Column1Column1Column1column1column_1, Row2Row2Row2Row2row2row_2 und Column2Column2Column2Column2column2column_2 (alle sind 0) zu Konfusionen führen.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLDxld (input_object)  xld(-array) objectHXLDHObjectHXLDHobject

Zu untersuchende Konturen bzw. Polygone.

Row1Row1Row1Row1row1row_1 (output_control)  line.begin.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des ersten Extrempunktes der Konturen bzw. Polygone.

Column1Column1Column1Column1column1column_1 (output_control)  line.begin.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des ersten Extrempunktes der Konturen bzw. Polygone.

Row2Row2Row2Row2row2row_2 (output_control)  line.end.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des zweiten Extrempunktes der Konturen bzw. Polygone.

Column2Column2Column2Column2column2column_2 (output_control)  line.end.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des zweiten Extrempunktes der Konturen bzw. Polygone.

DiameterDiameterDiameterDiameterdiameterdiameter (output_control)  number(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Abstand der beiden Extrempunkte der Konturen oder Polygone.

Ergebnis

diameter_xlddiameter_xldDiameterXldDiameterXldDiameterXlddiameter_xld liefert den Wert TRUE, falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe (keine Eingabekontur 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPixthreshold_sub_pix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXldgen_contour_polygon_xld, test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld

Alternativen

smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld

Siehe auch

area_center_xldarea_center_xldAreaCenterXldAreaCenterXldAreaCenterXldarea_center_xld

Modul

Foundation