KlassenKlassenKlassenKlassen | | | | Operatoren

shape_transshape_transShapeTransshape_transShapeTransShapeTrans (Operator)

Name

shape_transshape_transShapeTransshape_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)

Herror shape_trans(Hobject Region, Hobject* RegionTrans, const HTuple& Type)

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

HRegionArray HRegionArray::ShapeTrans(const HTuple& Type) const

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

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

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

void HOperatorSetX.ShapeTrans(
[in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*RegionTrans, [in] VARIANT Type)

IHRegionX* HRegionX.ShapeTrans([in] BSTR Type)

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

HRegion HRegion.ShapeTrans(string type)

Beschreibung

shape_transshape_transShapeTransshape_transShapeTransShapeTrans 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_circleSmallestCirclesmallest_circleSmallestCircleSmallestCircle und gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle aufgerufen werden. Wie in der Dokumentation von smallest_circlesmallest_circleSmallestCirclesmallest_circleSmallestCircleSmallestCircle beschrieben, kann der berechnete Radius bis zu Pixel zu klein sein. Zusätzlich kommt hinzu, dass der mit gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle 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.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Regionen, die transformiert werden.

RegionTransRegionTransRegionTransRegionTransRegionTransregionTrans (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Transformierte Regionen.

TypeTypeTypeTypeTypetype (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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_transShapeTransshape_transShapeTransShapeTrans 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>)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

connectionconnectionConnectionconnectionConnectionConnection, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing

Nachfolger

disp_regiondisp_regionDispRegiondisp_regionDispRegionDispRegion, regiongrowing_meanregiongrowing_meanRegiongrowingMeanregiongrowing_meanRegiongrowingMeanRegiongrowingMean, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter

Siehe auch

convexityconvexityConvexityconvexityConvexityConvexity, elliptic_axiselliptic_axisEllipticAxiselliptic_axisEllipticAxisEllipticAxis, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1, smallest_rectangle2smallest_rectangle2SmallestRectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2, inner_rectangle1inner_rectangle1InnerRectangle1inner_rectangle1InnerRectangle1InnerRectangle1, set_shapeset_shapeSetShapeset_shapeSetShapeSetShape, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape, inner_circleinner_circleInnerCircleinner_circleInnerCircleInnerCircle

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren