> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 検索領域のジオメトリ

> FlexiLayout において、境界制約と座標範囲を使用して検索領域のジオメトリがどのように計算されるかを説明します。

便宜上、要素 (およびその親の Group 要素) の Properties パネルで検索領域の制約が設定されていないものとします。この場合、プログラムが **Search Conditions** セクションの制約を適用する前は、要素の検索領域はページの矩形と一致します。セクションに追加の制約がない場合、プログラムはページ全体で要素を探します。

上記の[Search Constraints](/ja/vantage/documentation/advanced-designer/activities/flexilayout/search-conditions/search-constraints)で説明されているタイプ 1、2、4 の制約を適用すると、矩形の配列からなる検索領域が作成されます。プログラムは、配列全体を外接する 1 つの矩形から、指定された矩形集合 (除外矩形) を除外したものを検索領域とみなします。

上記の Search Constraints で説明されているタイプ 3 の検索制約を適用すると、仮説の各境界 (左、右、上、下) に対して許容される座標の範囲が作成されます。各境界は対応する軸上の座標範囲、すなわち \[x1, x2] または \[y1, y2] によって特徴づけられます。ここで x1 と x2 は `XCoordinate` 型、y1 と y2 は `YCoordinate` 型です。軸の区間は次の条件を満たす必要があります：X 座標では `x1 <= x2`、Y 座標では `y1 <= y2`。

複数の制約が連続して境界に適用される場合、各制約によってその境界の許容座標範囲が変更されます。

Search Condition セクションに次の制約が含まれているとします:

* `LeftBound > 5mm`,
* `LeftBound < 15mm`,
* `LeftBound < 10mm`.

上記の制約を適用する前に、検索領域がページの矩形、すなわち `[PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]` と一致しているとします。このとき要素の境界の座標範囲は次のようになります:

これらの制約を実行する前に検索領域が指定されていないとします。この場合、1 ページの FlexiLayout (ドキュメントの最小および最大許容ページ数が 1) のとき、検索領域はページの矩形 `[PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]` と一致します。複数ページの FlexiLayout の場合、検索領域の最大サイズは `[-INF, -INF, INF, INF]` となります。要素境界の座標範囲は次のとおりです:

| Boundary      | Range for one-page FlexiLayout    | Range 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]`                    |

`LeftBound > 5mm` の制約が実行されると、変更されるのは左境界のみです。その可能な値の範囲は、1 ページの FlexiLayout では区間 `[5mm, PageRect.Right]`、複数ページの FlexiLayout では区間 `[5mm, INF]` になります。

`LeftBound > 5mm` の制約が適用された後、変更されるのは左境界のみで、その許容座標は `[5mm, PageRect.Right]` になります。

`LeftBound < 15mm` の制約が適用された後、左境界の許容座標範囲は `[5mm, 15mm]` になります。

`LeftBound < 10mm` の制約が適用された後、左境界の許容座標範囲は `[5mm, 10mm]` になります。

同様に、要素の他の境界についても制約を設定できます。

指定された検索領域の境界は、いわゆる [fuzzy rectangle](/ja/vantage/documentation/advanced-designer/activities/flexilayout/search-conditions/fuzzy-rect) を形成します。
