KlassenKlassenKlassenKlassen | | | | Operatoren

test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint (Operator)

Name

test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint — Testen, ob eine Region einen gegebenen Punkt enthält.

Signatur

test_region_point(Regions : : Row, Column : IsInside)

Herror test_region_point(const Hobject Regions, const Hlong Row, const Hlong Column, Hlong* IsInside)

Herror T_test_region_point(const Hobject Regions, const Htuple Row, const Htuple Column, Htuple* IsInside)

Herror test_region_point(Hobject Regions, const HTuple& Row, const HTuple& Column, Hlong* IsInside)

Hlong HRegion::TestRegionPoint(const HTuple& Row, const HTuple& Column) const

Hlong HRegionArray::TestRegionPoint(const HTuple& Row, const HTuple& Column) const

void TestRegionPoint(const HObject& Regions, const HTuple& Row, const HTuple& Column, HTuple* IsInside)

Hlong HRegion::TestRegionPoint(const HTuple& Row, const HTuple& Column) const

Hlong HRegion::TestRegionPoint(Hlong Row, Hlong Column) const

void HOperatorSetX.TestRegionPoint(
[in] IHUntypedObjectX* Regions, [in] VARIANT Row, [in] VARIANT Column, [out] VARIANT* IsInside)

Hlong HRegionX.TestRegionPoint(
[in] VARIANT Row, [in] VARIANT Column)

static void HOperatorSet.TestRegionPoint(HObject regions, HTuple row, HTuple column, out HTuple isInside)

int HRegion.TestRegionPoint(HTuple row, HTuple column)

int HRegion.TestRegionPoint(int row, int column)

Beschreibung

Ist ein Array von Regionen und ein einzelner Testpunkt gegeben, so prüft test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint, ob mindestens eine Eingaberegion aus RegionsRegionsRegionsRegionsRegionsregions den Testpunkt (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn) enthält. Ist dies der Fall, so wird IsInsideIsInsideIsInsideIsInsideIsInsideisInside auf TRUE gesetzt, andernfalls auf FALSE. Falls andererseits eine einzelne Region und mehrere Testpunkte gegeben sind, prüft test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint ob mindestens einer der Testpunkte (aus RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn) in der Region RegionsRegionsRegionsRegionsRegionsregions enthalten ist. Ist dies der Fall, so wird IsInsideIsInsideIsInsideIsInsideIsInsideisInside auf TRUE gesetzt, andernfalls auf FALSE. Falls (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn) reellwertig sind, wird intern auf ganze Pixel gerundet.

Achtung

Der Testpunkt ist nicht in einer leeren Region enthalten (kein Punkt der Region stimmt mit dem Punkt überein). Sind alle Regionen leer, wird IsInsideIsInsideIsInsideIsInsideIsInsideisInside auf FALSE gesetzt.

Bei einem leeren Eingabeobjekt wird im Fall set_system('no_object_result','true')set_system("no_object_result","true")SetSystem("no_object_result","true")set_system("no_object_result","true")SetSystem("no_object_result","true")SetSystem("no_object_result","true") ein leeres Tupel in IsInsideIsInsideIsInsideIsInsideIsInsideisInside zurückgegeben.

Parallelisierung

Parameter

RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Zu untersuchende Region.

RowRowRowRowRowrow (input_control)  point.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double) (Hlong / double) (Hlong / double)

Zeilenindex des Testpunktes.

Defaultwert: 100

ColumnColumnColumnColumnColumncolumn (input_control)  point.x(-array) HTupleHTupleHTupleVARIANTHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double) (Hlong / double) (Hlong / double)

Spaltenindex des Testpunktes.

Parameteranzahl: Row == Column

Defaultwert: 100

IsInsideIsInsideIsInsideIsInsideIsInsideisInside (output_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Boolscher Ergebniswert.

Komplexität

Sei F die Fläche einer Region, N die Anzahl der Regionen und M die Anzahl der Testpunkte. Bei mehreren Regionen und einem Testpunkt beträgt die mittlere Laufzeitkomplexität O(ln(sqrt(F)) * N). Bei einer Region und mehreren Testpunkten beträgt die mittlere Laufzeitkomplexität O(ln(sqrt(F)) * M).

Ergebnis

test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint liefert den Wert 2 (H_MSG_TRUE), falls eine Region den Testpunkt enthält. Ist dies nicht der Fall, gibt test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint 3 (H_MSG_FALSE) aus. Das Verhalten bei leerem Eingabeobjekt 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

thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionconnectionConnectionConnection

Alternativen

union1union1Union1union1Union1Union1, intersectionintersectionIntersectionintersectionIntersectionIntersection, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter

Siehe auch

select_region_pointselect_region_pointSelectRegionPointselect_region_pointSelectRegionPointSelectRegionPoint

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren