test_region_point — Testen, ob eine Region einen gegebenen Punkt enthält.
Ist ein Array von Regionen und ein einzelner Testpunkt gegeben, so
prüft test_region_point, ob mindestens eine Eingaberegion aus
Regions den Testpunkt (Row,Column) enthält.
Ist dies der Fall, so wird IsInside auf TRUE gesetzt,
andernfalls auf FALSE. Falls andererseits eine einzelne Region und mehrere
Testpunkte gegeben sind, prüft test_region_point ob mindestens
einer der Testpunkte (aus Row,Column) in der
Region Regions enthalten ist. Ist dies der Fall, so wird
IsInside auf TRUE gesetzt, andernfalls auf FALSE.
Falls (Row,Column) reellwertig sind, wird intern
auf ganze Pixel gerundet.
Der Testpunkt ist nicht in einer leeren Region enthalten
(kein Punkt der Region stimmt mit dem Punkt überein).
Sind alle Regionen leer, wird IsInside auf FALSE gesetzt.
Bei einem leeren Eingabeobjekt wird im Fall
set_system('no_object_result','true') ein leeres Tupel in
IsInside zurückgegeben.
Regions (input_object) region(-array) → object
Zu untersuchende Region.
Row (input_control) point.y(-array) → (integer / real)
Zeilenindex des Testpunktes.
Defaultwert: 100
Column (input_control) point.x(-array) → (integer / real)
Spaltenindex des Testpunktes.
Parameteranzahl: Row == Column
Defaultwert: 100
IsInside (output_control) integer → (integer)
Boolscher Ergebniswert.
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).
test_region_point liefert den Wert 2 (H_MSG_TRUE), falls eine Region
den Testpunkt enthält. Ist dies nicht der Fall, gibt
test_region_point 3 (H_MSG_FALSE) aus. Das Verhalten bei leerem Eingabeobjekt
lässt sich mittels set_system('no_object_result',<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
threshold,
regiongrowing,
connection
union1,
intersection,
area_center
Foundation