test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point (Operator)
Name
test_region_pointtest_region_pointTestRegionPointTestRegionPointtest_region_point — Testen, ob eine Region einen gegebenen Punkt enthält.
Signatur
def test_region_point(regions: HObject, row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]]) -> int
Beschreibung
Ist ein Array von Regionen und ein einzelner Testpunkt gegeben, so
prüft test_region_pointtest_region_pointTestRegionPointTestRegionPointTestRegionPointtest_region_point, ob mindestens eine Eingaberegion aus
RegionsRegionsRegionsRegionsregionsregions den Testpunkt (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) enthält.
Ist dies der Fall, so wird IsInsideIsInsideIsInsideIsInsideisInsideis_inside auf TRUE gesetzt,
andernfalls auf FALSE. Falls andererseits eine einzelne Region und mehrere
Testpunkte gegeben sind, prüft test_region_pointtest_region_pointTestRegionPointTestRegionPointTestRegionPointtest_region_point ob mindestens
einer der Testpunkte (aus RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) in der
Region RegionsRegionsRegionsRegionsregionsregions enthalten ist. Ist dies der Fall, so wird
IsInsideIsInsideIsInsideIsInsideisInsideis_inside 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 IsInsideIsInsideIsInsideIsInsideisInsideis_inside 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")SetSystem("no_object_result","true")SetSystem("no_object_result","true")set_system("no_object_result","true") ein leeres Tupel in
IsInsideIsInsideIsInsideIsInsideisInsideis_inside zurückgegeben.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RegionsRegionsRegionsRegionsregionsregions (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Zu untersuchende Region.
RowRowRowRowrowrow (input_control) point.y(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Zeilenindex des Testpunktes.
Defaultwert: 100
ColumnColumnColumnColumncolumncolumn (input_control) point.x(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Spaltenindex des Testpunktes.
Parameteranzahl: Row == Column
Defaultwert: 100
IsInsideIsInsideIsInsideIsInsideisInsideis_inside (output_control) integer → HTupleintHTupleHtuple (integer) (int / long) (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_pointTestRegionPointTestRegionPointTestRegionPointtest_region_point liefert den Wert 2 (H_MSG_TRUE), falls eine Region
den Testpunkt enthält. Ist dies nicht der Fall, gibt
test_region_pointtest_region_pointTestRegionPointTestRegionPointTestRegionPointtest_region_point 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
thresholdthresholdThresholdThresholdThresholdthreshold,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing,
connectionconnectionConnectionConnectionConnectionconnection
Alternativen
union1union1Union1Union1Union1union1,
intersectionintersectionIntersectionIntersectionIntersectionintersection,
area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center
Siehe auch
select_region_pointselect_region_pointSelectRegionPointSelectRegionPointSelectRegionPointselect_region_point
Modul
Foundation