shape_transshape_transShapeTransShapeTransshape_trans (Operator)

Name

shape_transshape_transShapeTransShapeTransshape_trans — 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)

def shape_trans(region: HObject, type: str) -> HObject

Beschreibung

shape_transshape_transShapeTransShapeTransShapeTransshape_trans dient zur Transformation der Form von Regionen in Abhängigkeit von TypeTypeTypeTypetypetype:

'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 TypeTypeTypeTypetypetype = 'outer_circle'"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_circleSmallestCircleSmallestCircleSmallestCirclesmallest_circle und gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle aufgerufen werden. Wie in der Dokumentation von smallest_circlesmallest_circleSmallestCircleSmallestCircleSmallestCirclesmallest_circle beschrieben, kann der berechnete Radius bis zu Pixel zu klein sein. Zusätzlich kommt hinzu, dass der mit gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle 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

RegionRegionRegionRegionregionregion (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regionen, die transformiert werden.

RegionTransRegionTransRegionTransRegionTransregionTransregion_trans (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Transformierte Regionen.

TypeTypeTypeTypetypetype (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Art der Transformation.

Defaultwert: 'convex' "convex" "convex" "convex" "convex" "convex"

Werteliste: 'convex'"convex""convex""convex""convex""convex", 'ellipse'"ellipse""ellipse""ellipse""ellipse""ellipse", 'inner_center'"inner_center""inner_center""inner_center""inner_center""inner_center", 'inner_circle'"inner_circle""inner_circle""inner_circle""inner_circle""inner_circle", 'inner_rectangle1'"inner_rectangle1""inner_rectangle1""inner_rectangle1""inner_rectangle1""inner_rectangle1", 'outer_circle'"outer_circle""outer_circle""outer_circle""outer_circle""outer_circle", 'rectangle1'"rectangle1""rectangle1""rectangle1""rectangle1""rectangle1", 'rectangle2'"rectangle2""rectangle2""rectangle2""rectangle2""rectangle2"

Komplexität

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

Ergebnis

shape_transshape_transShapeTransShapeTransShapeTransshape_trans liefert den Wert 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

connectionconnectionConnectionConnectionConnectionconnection, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing

Nachfolger

disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region, regiongrowing_meanregiongrowing_meanRegiongrowingMeanRegiongrowingMeanRegiongrowingMeanregiongrowing_mean, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center

Siehe auch

convexityconvexityConvexityConvexityConvexityconvexity, elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center, smallest_rectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1SmallestRectangle1smallest_rectangle1, smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2smallest_rectangle2, inner_rectangle1inner_rectangle1InnerRectangle1InnerRectangle1InnerRectangle1inner_rectangle1, set_shapeset_shapeSetShapeSetShapeSetShapeset_shape, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, inner_circleinner_circleInnerCircleInnerCircleInnerCircleinner_circle

Modul

Foundation