gen_region_runsgen_region_runsGenRegionRunsGenRegionRuns (Operator)

Name

gen_region_runsgen_region_runsGenRegionRunsGenRegionRuns — Erzeugen einer Region aus einer Lauflängenkodierung.

Signatur

gen_region_runs( : Region : Row, ColumnBegin, ColumnEnd : )

Herror gen_region_runs(Hobject* Region, const Hlong Row, const Hlong ColumnBegin, const Hlong ColumnEnd)

Herror T_gen_region_runs(Hobject* Region, const Htuple Row, const Htuple ColumnBegin, const Htuple ColumnEnd)

void GenRegionRuns(HObject* Region, const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd)

void HRegion::GenRegionRuns(const HTuple& Row, const HTuple& ColumnBegin, const HTuple& ColumnEnd)

void HRegion::GenRegionRuns(Hlong Row, Hlong ColumnBegin, Hlong ColumnEnd)

static void HOperatorSet.GenRegionRuns(out HObject region, HTuple row, HTuple columnBegin, HTuple columnEnd)

void HRegion.GenRegionRuns(HTuple row, HTuple columnBegin, HTuple columnEnd)

void HRegion.GenRegionRuns(int row, int columnBegin, int columnEnd)

Beschreibung

gen_region_runsgen_region_runsGenRegionRunsGenRegionRunsGenRegionRuns erzeugt eine Region, die über die eingegebene Sehnenstruktur beschrieben ist. Die Sehnendarstellung entsteht, indem man eine Region zeilenweise mit aufsteigender Zeilenzahl (= von „oben“ nach „unten“) untersucht. Jede Zeile wird von links nach rechts durchlaufen (aufsteigende Spaltenzahl). Dabei werden alle Anfangs- und Endpunkte von Regionenabschnitten (=Sehnen) gespeichert. Eine Region lässt sich somit durch eine Folge von Sehnen beschreiben, wobei eine Sehne durch Zeilennummer, sowie Anfangs- und Endpunkte (Spaltennummer) definiert ist.

Die Abspeicherung erfolgt am schnellsten, wenn die Sehnen sortiert sind. Die Ordnung lautet:

.

Achtung

Aus Laufzeitgründen wird nicht überprüft, ob die Restriktion ColumnEndColumnEndColumnEndColumnEndcolumnEnd >= ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin eingehalten wird. Wird diese Einschränkung verletzt, so kann dies bei nachfolgenden Operatoraufrufen zu Fehlern und unerwartetem Verhalten führen.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (output_object)  region objectHRegionHRegionHobject *

Erzeugte Region.

RowRowRowRowrow (input_control)  chord.y(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilen der Sehnen.

Defaultwert: 100

Wertevorschläge: 0, 50, 100, 200, 300, 500

Typischer Wertebereich: Row Row Row Row row (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 10

ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin (input_control)  chord.x1(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spalten der Anfangspunkte der Sehnen.

Parameteranzahl: ColumnBegin == Row

Defaultwert: 50

Wertevorschläge: 0, 50, 100, 200, 300, 500

Typischer Wertebereich: ColumnBegin ColumnBegin ColumnBegin ColumnBegin columnBegin (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 10

ColumnEndColumnEndColumnEndColumnEndcolumnEnd (input_control)  chord.x2(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spalten der Endpunkte der Sehnen.

Parameteranzahl: ColumnEnd == Row

Defaultwert: 200

Wertevorschläge: 50, 100, 200, 300, 500

Typischer Wertebereich: ColumnEnd ColumnEnd ColumnEnd ColumnEnd columnEnd (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 10

Restriktion: ColumnEnd >= ColumnBegin

Komplexität

Sei F die Anzahl der Punkte. Falls die Punkte aufsteigend sortiert sind, dann ist die Laufzeitkomplexität: O(F), sonst O(log(F)*F).

Ergebnis

gen_region_runsgen_region_runsGenRegionRunsGenRegionRunsGenRegionRuns liefert den Wert 2 (H_MSG_TRUE), falls die Daten korrekt sind, ansonsten wird eine Fehlerbehandlung durchgeführt. Das Clipping am aktuellen Bildformat wird durch set_system('clip_region',<'true'/'false'>)set_system("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">)SetSystem("clip_region",<"true"/"false">) festgelegt. Wird eine leere Region erzeugt (durch das Clipping oder eine leere Eingabe), dann legt set_system('store_empty_region',<'true'/'false'>)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">) fest, ob die Region ausgegeben wird.

Vorgänger

get_region_runsget_region_runsGetRegionRunsGetRegionRunsGetRegionRuns

Alternativen

gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPoints, gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygon, gen_region_linegen_region_lineGenRegionLineGenRegionLineGenRegionLine, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilled

Siehe auch

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain

Modul

Foundation