KlassenKlassenKlassenKlassen | | | | Operatoren

partition_dynamicpartition_dynamicPartitionDynamicpartition_dynamicPartitionDynamicPartitionDynamic (Operator)

Name

partition_dynamicpartition_dynamicPartitionDynamicpartition_dynamicPartitionDynamicPartitionDynamic — Horizontales Teilen einer Region an Stellen mit geringer vertikaler Ausdehnung.

Signatur

partition_dynamic(Region : Partitioned : Distance, Percent : )

Herror partition_dynamic(const Hobject Region, Hobject* Partitioned, double Distance, double Percent)

Herror T_partition_dynamic(const Hobject Region, Hobject* Partitioned, const Htuple Distance, const Htuple Percent)

Herror partition_dynamic(Hobject Region, Hobject* Partitioned, const HTuple& Distance, const HTuple& Percent)

HRegionArray HRegion::PartitionDynamic(const HTuple& Distance, const HTuple& Percent) const

HRegionArray HRegionArray::PartitionDynamic(const HTuple& Distance, const HTuple& Percent) const

void PartitionDynamic(const HObject& Region, HObject* Partitioned, const HTuple& Distance, const HTuple& Percent)

HRegion HRegion::PartitionDynamic(double Distance, double Percent) const

void HOperatorSetX.PartitionDynamic(
[in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*Partitioned, [in] VARIANT Distance, [in] VARIANT Percent)

IHRegionX* HRegionX.PartitionDynamic(
[in] double Distance, [in] double Percent)

static void HOperatorSet.PartitionDynamic(HObject region, out HObject partitioned, HTuple distance, HTuple percent)

HRegion HRegion.PartitionDynamic(double distance, double percent)

Beschreibung

partition_dynamicpartition_dynamicPartitionDynamicpartition_dynamicPartitionDynamicPartitionDynamic zerlegt die Eingaberegion RegionRegionRegionRegionRegionregion horizontal in Teilregionen, die etwa die Breite DistanceDistanceDistanceDistanceDistancedistance haben. Die Eingaberegion wird dabei an Stellen aufgeschnitten, die eine relativ kleine vertikale Ausdehnung haben.

Die Positionen, an denen die Eingaberegion aufgeschnitten wird werden auf folgende Weise bestimmt: Zuerst werden vorläufige Positionen bestimmt, die gleichabständig über die gesamte Breite der Eingaberegion verteilt sind, d.h., alle resultierenden Teilregionen wären gleich breit. Hierfür wird die Anzahl n der resultierenden Teilregionen bestimmt, indem die Breite der Eingaberegion durch DistanceDistanceDistanceDistanceDistancedistance geteilt und das Ergebnis auf die nächste Ganzzahl gerundet wird. Der Abstand zwischen den vorläufigen Positionen ist das Ergebnis der Division der Breite der Eingaberegion durch n. Beachten Sie, dass der Abstand zwischen den vorläufigen Positionen typischerweise nicht mit DistanceDistanceDistanceDistanceDistancedistance identisch ist. Die endgültigen Positionen, an denen die Eingaberegion aufgeschnitten wird werden nun in der Umgebung der vorläufigen Positionen so bestimmt, dass die Eingaberegion an Stellen aufgeschnitten wird, an der sie die geringste vertikale Ausdehnung innerhalb dieser Umgebung hat. Die maximale Verschiebung der endgültigen Position gegenüber der vorläufigen Position ist DistanceDistanceDistanceDistanceDistancedistance*PercentPercentPercentPercentPercentpercent*0.01.

Die resultierenden Teilregionen werden in PartitionedPartitionedPartitionedPartitionedPartitionedpartitioned zurückgegeben. Beachten Sie, dass die Eingaberegion nur dann geteilt wird, wenn ihre Breite größer als 1.5 mal DistanceDistanceDistanceDistanceDistancedistance ist.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Region die zerlegt werden soll.

PartitionedPartitionedPartitionedPartitionedPartitionedpartitioned (output_object)  region-array objectHRegionHRegionHRegionArrayHRegionXHobject *

Zerlegte Region.

DistanceDistanceDistanceDistanceDistancedistance (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Genäherte Breite der resultierenden Teilregionen.

PercentPercentPercentPercentPercentpercent (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximale prozentuale Verschiebung der Positionen an denen die Eingaberegion geteilt wird.

Defaultwert: 20

Wertevorschläge: 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 70.0, 90.0, 100.0

Typischer Wertebereich: 0 ≤ Percent Percent Percent Percent Percent percent ≤ 100

Ergebnis

partition_dynamicpartition_dynamicPartitionDynamicpartition_dynamicPartitionDynamicPartitionDynamic liefert normalerweise den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder 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>), das bei leerer Region mit set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>), das bei leerer Ergebnisregion mit set_system('store_empty_region',<'true'/'false'>)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdthresholdThresholdThreshold, connectionconnectionConnectionconnectionConnectionConnection

Alternativen

partition_rectanglepartition_rectanglePartitionRectanglepartition_rectanglePartitionRectanglePartitionRectangle

Siehe auch

intersectionintersectionIntersectionintersectionIntersectionIntersection, smallest_rectangle1smallest_rectangle1SmallestRectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1, shape_transshape_transShapeTransshape_transShapeTransShapeTrans, clip_regionclip_regionClipRegionclip_regionClipRegionClipRegion

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren