KlassenKlassenKlassenKlassen | | | | Operatoren

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld (Operator)

Name

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld — Umschließendes Rechteck parallel zu den Koordinatenachsen von Konturen oder Polygonen.

Signatur

smallest_rectangle1_xld(XLD : : : Row1, Column1, Row2, Column2)

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

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

Herror smallest_rectangle1_xld(Hobject XLD, double* Row1, double* Column1, double* Row2, double* Column2)

Herror smallest_rectangle1_xld(Hobject XLD, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2)

double HXLD::SmallestRectangle1Xld(double* Column1, double* Row2, double* Column2) const

HTuple HXLDArray::SmallestRectangle1Xld(HTuple* Column1, HTuple* Row2, HTuple* Column2) const

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

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

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

void HOperatorSetX.SmallestRectangle1Xld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Row1, [out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDContX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDPolyX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDParaX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDModParaX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

VARIANT HXLDExtParaX.SmallestRectangle1Xld(
[out] VARIANT* Column1, [out] VARIANT* Row2, [out] VARIANT* Column2)

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

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

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

Beschreibung

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld berechnet das umschließende Rechteck (parallel zu den Koordinatenachsen) für jede Eingabekontur bzw. jedes Eingabepolygon. Das umschließende Rechteck wird durch die Koordinaten der Eckpunkte (Row1Row1Row1Row1Row1row1,Column1Column1Column1Column1Column1column1,Row2Row2Row2Row2Row2row2,Column2Column2Column2Column2Column2column2) beschrieben.

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. Bei leerer Kontur haben alle Parameter den Wert 0, soweit kein anderes Verhalten eingestellt wurde (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem).

Achtung

Bei leeren Konturen kann das Ergebnis von Row1Row1Row1Row1Row1row1,Column1Column1Column1Column1Column1column1, Row2Row2Row2Row2Row2row2 und Column2Column2Column2Column2Column2column2 (alle sind 0) zu Konfusionen führen.

Parallelisierung

Parameter

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Zu untersuchende Konturen oder Polygone.

Row1Row1Row1Row1Row1row1 (output_control)  rectangle.origin.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenkoordinate des linken oberen Eckpunkts des umschließenden Rechtecks.

Column1Column1Column1Column1Column1column1 (output_control)  rectangle.origin.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenkoordinate des linken oberen Eckpunkts des umschließenden Rechtecks.

Row2Row2Row2Row2Row2row2 (output_control)  rectangle.corner.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Zeilenkoordinate des rechten unteren Eckpunkts des umschließenden Rechtecks.

Column2Column2Column2Column2Column2column2 (output_control)  rectangle.corner.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Spaltenkoordinate des rechten unteren Eckpunkts des umschließenden Rechtecks.

Komplexität

Sei N die Anzahl der Punkte in der Kontur, dann beträgt die Laufzeitkomplexität O(N).

Ergebnis

smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld, edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix, threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld

Nachfolger

gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld

Alternativen

smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld, shape_trans_xldshape_trans_xldShapeTransXldshape_trans_xldShapeTransXldShapeTransXld

Siehe auch

shape_trans_xldshape_trans_xldShapeTransXldshape_trans_xldShapeTransXldShapeTransXld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld, smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld, elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld, area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren