Zum Hauptinhalt springen
Die Einschränkungen des Suchbereichs werden auf den Registerkarten Search Constraints und Relations im Dialogfeld Properties sowie im Abschnitt Advanced pre-search relations festgelegt. Bevor die Einschränkungen angewendet werden, entspricht der Suchbereich dem Rechteck der Seite. Zuerst wendet das Programm die auf den Registerkarten Search Constraints und Relations festgelegten Einschränkungen an. Anschließend wendet das Programm die zusätzlichen Einschränkungen an, die im Abschnitt Advanced pre-search relations festgelegt sind. Im Abschnitt Advanced pre-search relations können die folgenden Arten von Einschränkungen festgelegt werden:
  1. Der Suchbereich kann auf ein Rechteck (Variable Rect), auf eine Region (d. h. ein zusammenhängendes Array von Rechtecken – Variable Region) oder auf ein Array von Rechtecken beschränkt werden, das im allgemeinen Fall nicht zusammenhängend sein muss (Variable RectArray). Diese Art von Einschränkung wird mit der Funktion RestrictSearchArea festgelegt, indem ein Parameter des entsprechenden Typs angegeben wird. Als Parameter können beliebige Ausdrücke angegeben werden, die Werte des erforderlichen Typs zurückgeben.
  2. Der Suchbereich kann auf eine Halbebene beschränkt werden, die links, rechts, oberhalb oder unterhalb eines bestimmten Punkts liegt. Solche Einschränkungen werden mit den Funktionen Leftof, Rightof, Above und Below festgelegt.
  3. Manchmal möchten Sie möglicherweise Einschränkungen für eine Elementgrenze festlegen. Beispielsweise kann im Voraus bekannt sein, dass sich die linke Begrenzung eines Elements immer im linken Teil des Bildes befindet, während sich die rechte Begrenzung unbegrenzt nach rechts erstrecken kann. Die FlexiLayout-Sprache ermöglicht es Ihnen, solche Einschränkungen bereits bei der Berechnung des Suchbereichs festzulegen und dadurch den Bereich möglicher Hypothesen für ein Element einzugrenzen. Solche Einschränkungen werden mit den Funktionen LeftBound, RightBound, topBound und BottomBound sowie den Operatoren ”>” und ”<” festgelegt. Die Funktionen LeftBound und RightBound werden verwendet, um auf die linke bzw. rechte Begrenzung des Suchbereichs zuzugreifen, und die Funktionen topBound und BottomBound werden verwendet, um auf die obere bzw. untere Begrenzung zuzugreifen.
  4. Sie können Sucheinschränkungen festlegen, indem Sie ein Rechteck, ein Array von Rechtecken, eine Hypothese usw. aus dem Suchbereich ausschließen. Dies kann mit den Funktionen Exclude, ExcludeRect und ExcludeSet erfolgen.
Sie können im Abschnitt Advanced pre-search relations eine beliebige Anzahl von Sucheinschränkungen der oben genannten Typen angeben. Jede Einschränkung erzeugt eine Region auf dem Bild. Alle durch die Einschränkungen erzeugten Regionen werden miteinander geschnitten. Zusätzlich bildet der für das Element berechnete Suchbereich die Schnittmenge mit dem Suchbereich des Gruppenelements, zu dem dieses Element gehört.