-
Der Suchbereich kann auf ein Rechteck (Variable
Rect), auf eine Region (d. h. ein zusammenhängendes Feld von Rechtecken – VariableRegion) oder auf ein Feld von Rechtecken beschränkt werden, das im Allgemeinen nicht zusammenhängend sein muss (VariableRectArray). Diese Art von Einschränkung wird mit der FunktionRestrictSearchAreafestgelegt, indem ein Parameter des entsprechenden Typs angegeben wird. Beliebige Ausdrücke, die Werte des benötigten Typs zurückgeben, können als Parameter verwendet werden. -
Der Suchbereich kann auf eine Halbebene beschränkt werden, die sich links, rechts, oberhalb oder unterhalb eines bestimmten Punkts befindet. Solche Einschränkungen werden mit den Funktionen
Leftof,Rightof,AboveundBelowfestgelegt. -
Manchmal sollen Grenzen eines Elements eingeschränkt werden. Beispielsweise kann im Voraus bekannt sein, dass die linke Grenze eines Elements stets im linken Teil des Bildes liegt, während sich die rechte Grenze unbegrenzt nach rechts erstrecken kann. Die FlexiLayout-Sprache ermöglicht es, solche Einschränkungen bereits bei der Berechnung des Suchbereichs festzulegen und damit den Bereich der möglichen Hypothesen für ein Element einzuengen. Solche Einschränkungen werden mit den Funktionen
LeftBound,RightBound,TopBoundundBottomBoundsowie den Operatoren>und<festgelegt. Mit den FunktionenLeftBoundundRightBoundwird auf die linke bzw. rechte Grenze des Suchbereichs zugegriffen, und mit den FunktionenTopBoundundBottomBoundauf die obere bzw. untere Grenze. -
Sie können Suchbeschränkungen festlegen, indem Sie ein Rechteck, ein Feld von Rechtecken, eine Hypothese usw. aus dem Suchbereich ausschließen. Dies kann mit den Funktionen
Exclude,ExcludeRectundExcludeSeterfolgen.
