shape_trans_xldshape_trans_xldShapeTransXldShapeTransXld (Operator)
Name
shape_trans_xldshape_trans_xldShapeTransXldShapeTransXld
— Transformation der Form von Konturen oder Polygonen.
Signatur
Herror shape_trans_xld(const Hobject XLD, Hobject* XLDTrans, const char* Type)
Herror T_shape_trans_xld(const Hobject XLD, Hobject* XLDTrans, const Htuple Type)
Beschreibung
shape_transshape_transShapeTransShapeTransShapeTrans
dient zur Transformation von
Konturen oder Polygonen in Abhängigkeit von TypeTypeTypeTypetype
:
- 'convex'
Konvexe Hülle.
- 'ellipse'
Ellipse mit den gleichen Momenten und Fläche wie die Eingabekontur.
Es ist darauf zu achten, dass sich die geschlossene Eingabekontur bzw. das
geschlossene Eingabepolygon nicht selbst schneidet, da die zurückgelieferte
Ellipse ansonsten nicht aussagekräftig ist (Ob sich die Eingabekontur bzw.
das Eingabepolygon selbst schneidet oder nicht, lässt sich mit
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld
überprüfen).
- 'outer_circle'
Kleinster umschließender Kreis.
- 'rectangle1'
Kleinstes umschließendes Rechteck parallel zu den Koordinatenachsen.
- 'rectangle2'
Kleinstes umschließendes Rechteck.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Parameter
XLDXLDXLDXLDXLD
(input_object) xld(-array) →
objectHXLDHXLDHobject
Zu transformierende Konturen bzw. Polygone.
XLDTransXLDTransXLDTransXLDTransXLDTrans
(output_object) xld(-array) →
objectHXLDHXLDHobject *
Transformierte Konturen bzw. Polygone.
TypeTypeTypeTypetype
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Art der Transformation.
Defaultwert:
'convex'
"convex"
"convex"
"convex"
"convex"
Werteliste: 'convex'"convex""convex""convex""convex", 'ellipse'"ellipse""ellipse""ellipse""ellipse", 'outer_circle'"outer_circle""outer_circle""outer_circle""outer_circle", 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1", 'rectangle2'"rectangle2""rectangle2""rectangle2""rectangle2"
Ergebnis
shape_trans_xldshape_trans_xldShapeTransXldShapeTransXldShapeTransXld
liefert den Wert 2 (H_MSG_TRUE), falls die
Parameterwerte korrekt sind. 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>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld
,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix
,
threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix
,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld
,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld
Alternativen
smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld
,
smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld
,
elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld
Siehe auch
smallest_circle_xldsmallest_circle_xldSmallestCircleXldSmallestCircleXldSmallestCircleXld
,
smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1XldSmallestRectangle1Xld
,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld
,
elliptic_axis_xldelliptic_axis_xldEllipticAxisXldEllipticAxisXldEllipticAxisXld
Modul
Foundation