shape_transshape_transShapeTransShapeTrans (Operator)

Name

shape_transshape_transShapeTransShapeTrans — Transformieren der Form von Regionen.

Signatur

shape_trans(Region : RegionTrans : Type : )

Herror shape_trans(const Hobject Region, Hobject* RegionTrans, const char* Type)

Herror T_shape_trans(const Hobject Region, Hobject* RegionTrans, const Htuple Type)

void ShapeTrans(const HObject& Region, HObject* RegionTrans, const HTuple& Type)

HRegion HRegion::ShapeTrans(const HString& Type) const

HRegion HRegion::ShapeTrans(const char* Type) const

HRegion HRegion::ShapeTrans(const wchar_t* Type) const   (Nur Windows)

static void HOperatorSet.ShapeTrans(HObject region, out HObject regionTrans, HTuple type)

HRegion HRegion.ShapeTrans(string type)

Beschreibung

shape_transshape_transShapeTransShapeTransShapeTrans dient zur Transformation der Form von Regionen in Abhängigkeit von TypeTypeTypeTypetype:

'convex'

Konvexe Hülle.

'ellipse'

Ellipse mit den gleichen Momenten und Fläche wie die Eingaberegion

'outer_circle'

Kleinster umschließender Kreis.

'inner_circle'

Größter Inkreis.

'rectangle1'

Kleinstes umschließendes Rechteck parallel zu den Koordinatenachsen.

'rectangle2'

Kleinstes umschließendes Rechteck.

'inner_rectangle1'

Größtes enthaltenes achsenparalleles Rechteck.

'inner_center'

Liefert als Ausgaberegion den Punkt auf dem Skelett der Eingaberegion, der am nächsten zum Schwerpunkt der Eingaberegion liegt.

Achtung

Für den Fall TypeTypeTypeTypetype = 'outer_circle'"outer_circle""outer_circle""outer_circle""outer_circle" ist zu beachten, dass die zurückgegebene Kreisregion die ursprüngliche Region in manchen Fällen nicht komplett beinhaltet. Dies liegt daran, dass intern die Operatoren smallest_circlesmallest_circleSmallestCircleSmallestCircleSmallestCircle und gen_circlegen_circleGenCircleGenCircleGenCircle aufgerufen werden. Wie in der Dokumentation von smallest_circlesmallest_circleSmallestCircleSmallestCircleSmallestCircle beschrieben, kann der berechnete Radius bis zu Pixel zu klein sein. Zusätzlich kommt hinzu, dass der mit gen_circlegen_circleGenCircleGenCircleGenCircle generierte Kreis bis zu 0.5 Pixel in beide Richtungen also um maximal Pixel verschoben wird. Insgesamt kann die ursprüngliche Region also um bis zu 1 Pixel über die zurückgegebene Kreisregion hinausragen.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Regionen, die transformiert werden.

RegionTransRegionTransRegionTransRegionTransregionTrans (output_object)  region(-array) objectHRegionHRegionHobject *

Transformierte Regionen.

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", 'inner_center'"inner_center""inner_center""inner_center""inner_center", 'inner_circle'"inner_circle""inner_circle""inner_circle""inner_circle", 'inner_rectangle1'"inner_rectangle1""inner_rectangle1""inner_rectangle1""inner_rectangle1", 'outer_circle'"outer_circle""outer_circle""outer_circle""outer_circle", 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1", 'rectangle2'"rectangle2""rectangle2""rectangle2""rectangle2"

Komplexität

Sei F die Fläche einer Eingaberegion, dann ist die Laufzeitkomplexität O(F).

Ergebnis

shape_transshape_transShapeTransShapeTransShapeTrans liefert den Wert 2 (H_MSG_TRUE), falls die Parameterwerte korrekt sind. Das Verhalten bei leerer Eingabe (keine Eingaberegionen 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

connectionconnectionConnectionConnectionConnection, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing

Nachfolger

disp_regiondisp_regionDispRegionDispRegionDispRegion, regiongrowing_meanregiongrowing_meanRegiongrowingMeanRegiongrowingMeanRegiongrowingMean, area_centerarea_centerAreaCenterAreaCenterAreaCenter

Siehe auch

convexityconvexityConvexityConvexityConvexity, elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis, area_centerarea_centerAreaCenterAreaCenterAreaCenter, smallest_rectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1SmallestRectangle1, smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2, inner_rectangle1inner_rectangle1InnerRectangle1InnerRectangle1InnerRectangle1, set_shapeset_shapeSetShapeSetShapeSetShape, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, inner_circleinner_circleInnerCircleInnerCircleInnerCircle

Modul

Foundation