- Der Suchbereich kann auf ein Rechteck (Variable
Rect), auf eine Region (d. h. ein zusammenhängendes Array von Rechtecken – VariableRegion) oder auf ein Array von Rechtecken, das im Allgemeinen nicht zusammenhängend sein muss (VariableRectArray), begrenzt werden. Dieser Beschränkungstyp wird mit der FunktionRestrictSearchAreadurch Angabe eines Parameters des entsprechenden Typs festgelegt. Beliebige Ausdrücke, die einen Wert des erforderlichen Typs zurückgeben, können als Parameter angegeben werden. - Der Suchbereich kann auf eine Halbebene begrenzt werden, die links, rechts, oberhalb oder unterhalb eines bestimmten Punkts liegt. Solche Beschränkungen werden mit den Funktionen Leftof, Rightof, Above und Below festgelegt.
- Mitunter möchten Sie Grenzen für ein Element festlegen. So kann beispielsweise im Voraus bekannt sein, dass die linke Begrenzung eines Elements stets im linken Bereich des Bildes liegt, während sich die rechte Begrenzung nach rechts unbegrenzt erstrecken kann. Die FlexiLayout-Sprache ermöglicht es, solche Beschränkungen bereits bei der Berechnung des Suchbereichs festzulegen und dadurch den Bereich möglicher Hypothesen für ein Element einzugrenzen. Solche Beschränkungen werden mithilfe der Funktionen
LeftBound,RightBound,topBoundundBottomBoundsowie der Operatoren>und<festgelegt. Die FunktionenLeftBoundundRightBounddienen dem Zugriff auf die linken bzw. rechten Grenzen des Suchbereichs, und die FunktionentopBoundundBottomBounddem Zugriff auf die oberen bzw. unteren Grenzen. - Sie können den Suchbereich einschränken, indem Sie ein Rechteck, ein Array von Rechtecken, eine Hypothese usw. daraus ausschließen. Dies kann mit den Funktionen
Exclude,ExcludeRectundExcludeSeterfolgen.
