Zum Hauptinhalt springen
Nehmen wir der Einfachheit halber an, dass im Eigenschaftenbereich des Elements (und etwaiger übergeordneter Gruppenelemente) keine Beschränkungen für den Suchbereich festgelegt sind. In diesem Fall fällt der Suchbereich des Elements, bevor das Programm die Beschränkungen aus dem Abschnitt Search Conditions anwendet, mit dem Seitenrechteck zusammen. Wenn in diesem Abschnitt keine zusätzlichen Beschränkungen vorhanden sind, sucht das Programm nach dem Element auf der gesamten Seite. Das Anwenden der oben in Search Constraints beschriebenen Beschränkungen der Typen 1, 2 und 4 erzeugt einen Suchbereich, der aus einem Array von Rechtecken besteht. Das Programm betrachtet den Suchbereich dann als ein Rechteck, das das gesamte Array umschreibt, aus dem eine angegebene Menge von Rechtecken (auszuschließende Rechtecke) ausgeschlossen werden muss. Das Anwenden der oben in Search Constraints beschriebenen Suchbeschränkungen des Typs 3 erzeugt für jede Begrenzung der Hypothesen – links, rechts, oben und unten – einen Bereich zulässiger Koordinaten. Jede Begrenzung ist durch einen Koordinatenbereich auf der entsprechenden Achse charakterisiert, z. B. [x1, x2] oder [y1, y2]. Dabei sind x1 und x2 vom Typ XCoordinate und y1 und y2 vom Typ YCoordinate. Der Abschnitt der Achse muss die folgende Bedingung erfüllen: x1 <= x2 für die X-Koordinaten und y1 <= y2 für die Y-Koordinaten. Wenn mehrere Beschränkungen nacheinander auf eine Begrenzung angewendet werden, ändert jede Beschränkung den Bereich der zulässigen Koordinaten für diese Begrenzung. Angenommen, der Abschnitt Search Condition enthält die folgenden Beschränkungen:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
Angenommen, der Suchbereich fällt mit dem Rechteck der Seite zusammen, d. h. [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom], bevor die oben genannten Beschränkungen angewendet werden. Dann ergeben sich für die Bereiche der Koordinaten der Elementbegrenzungen: Angenommen, der Suchbereich ist vor der Ausführung dieser Beschränkungen nicht festgelegt. Dann fällt bei einem einseitigen FlexiLayout (die minimal und maximal zulässige Seitenanzahl in einem Dokument ist 1) der Suchbereich mit dem Rechteck der Seite [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom] zusammen. Bei einem mehrseitigen FlexiLayout hat der Suchbereich die maximale Größe [-INF, -INF, INF, INF]. Die Koordinatenbereiche der Elementbegrenzungen lauten wie folgt:
BegrenzungBereich für einseitiges FlexiLayoutBereich für mehrseitiges FlexiLayout
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
Wenn die Beschränkung LeftBound > 5mm ausgeführt wird, ändert sich nur die linke Begrenzung. Der Bereich ihrer möglichen Werte wird zum Abschnitt [5mm, PageRect.Right] für einseitige FlexiLayouts und zum Abschnitt [5mm, INF] für mehrseitige FlexiLayouts. Nachdem die Beschränkung LeftBound > 5mm angewendet wurde, ändert sich nur die linke Begrenzung – ihre zulässigen Koordinaten sind [5mm, PageRect.Right]. Nachdem die Beschränkung LeftBound < 15mm angewendet wurde, lautet der Bereich der zulässigen Koordinaten der linken Begrenzung [5mm, 15mm]. Nachdem die Beschränkung LeftBound < 10mm angewendet wurde, lautet der Bereich der zulässigen Koordinaten der linken Begrenzung [5mm, 10mm]. Analog können Sie Beschränkungen für andere Begrenzungen des Elements festlegen. Die angegebenen Begrenzungen des Suchbereichs bilden ein sogenanntes fuzzy rectangle.