KlassenKlassenKlassenKlassen | | | | Operatoren

gen_region_runsgen_region_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns (Operator)

Name

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

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

HRegion HRegion::GenRegionRuns(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)

void HOperatorSetX.GenRegionRuns(
[out] IHUntypedObjectX*Region, [in] VARIANT Row, [in] VARIANT ColumnBegin, [in] VARIANT ColumnEnd)

void HRegionX.GenRegionRuns(
[in] VARIANT Row, [in] VARIANT ColumnBegin, [in] VARIANT 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_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns 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 ColumnEndColumnEndColumnEndColumnEndColumnEndcolumnEnd >= ColumnBeginColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin eingehalten wird. Wird diese Einschränkung verletzt, so kann dies bei nachfolgenden Operatoraufrufen zu Fehlern und unerwartetem Verhalten führen.

Parallelisierung

Parameter

RegionRegionRegionRegionRegionregion (output_object)  region objectHRegionHRegionHRegionHRegionXHobject *

Erzeugte Region.

RowRowRowRowRowrow (input_control)  chord.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilen der Sehnen.

Defaultwert: 100

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

Typischer Wertebereich: Row Row Row Row Row row (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 10

ColumnBeginColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin (input_control)  chord.x1(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (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 columnBegin (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 10

ColumnEndColumnEndColumnEndColumnEndColumnEndcolumnEnd (input_control)  chord.x2(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (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 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_runsGenRegionRunsgen_region_runsGenRegionRunsGenRegionRuns 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">)set_system("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">)set_system("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_runsGetRegionRunsget_region_runsGetRegionRunsGetRegionRuns

Alternativen

gen_region_pointsgen_region_pointsGenRegionPointsgen_region_pointsGenRegionPointsGenRegionPoints, gen_region_polygongen_region_polygonGenRegionPolygongen_region_polygonGenRegionPolygonGenRegionPolygon, gen_region_linegen_region_lineGenRegionLinegen_region_lineGenRegionLineGenRegionLine, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilled

Siehe auch

reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren