Zum Hauptinhalt springen
Angenommen, der Einfachheit halber sind im Eigenschaftenbereich des Elements (und seiner übergeordneten Gruppenelemente) keine Suchbereichsbeschränkungen festgelegt. In diesem Fall fällt der Suchbereich des Elements vor dem Anwenden der Beschränkungen aus dem Abschnitt Search Conditions 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 Beschränkungen der Typen 1, 2 und 4, wie oben in Search Constraints beschrieben, erzeugt einen Suchbereich, der aus einem Array von Rechtecken besteht. Das Programm betrachtet den Suchbereich als ein Rechteck, das das gesamte Array umschreibt, aus dem eine festgelegte Menge von Rechtecken (ausgeschlossene Rechtecke) ausgeschlossen werden muss. Das Anwenden der Suchbeschränkungen des Typs 3, wie oben in Search Constraints beschrieben, erzeugt einen Bereich zulässiger Koordinaten für jede Grenze der Hypothesen – links, rechts, oben und unten. Jede der Grenzen wird 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 nacheinander mehrere Beschränkungen auf eine Grenze angewendet werden, ändert jede Beschränkung den Bereich der zulässigen Koordinaten für diese Grenze. Angenommen, der Abschnitt Search Condition enthält die folgenden Beschränkungen:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 5mm.
Angenommen, der Suchbereich fällt vor dem Anwenden der oben genannten Beschränkungen mit dem Rechteck der Seite zusammen, d. h. [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]. Dann ergeben sich für die Koordinatenbereiche der Elementgrenzen: 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 Elementgrenzen lauten wie folgt:
BoundaryRange for one-page FlexiLayoutRange for multi-page 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 Grenze. 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 Grenze – ihre zulässigen Koordinaten lauten [5mm, PageRect.Right]. Nachdem die Beschränkung LeftBound < 15mm angewendet wurde, beträgt der Bereich der zulässigen Koordinaten der linken Grenze [5mm, 15mm]. Nachdem die Beschränkung LeftBound < 5mm angewendet wurde, beträgt der Bereich der zulässigen Koordinaten der linken Grenze [5mm, 5mm]. Ebenso können Sie Beschränkungen für andere Grenzen des Elements festlegen. Die angegebenen Grenzen des Suchbereichs ergeben ein sogenanntes fuzzy rectangle.