> ## 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 における検索領域のジオメトリの形成方法: 境界 の座標範囲、LeftBound 制約の適用、1 ページと複数ページの動作の違い。

要素およびその親 **Group** 要素について、**Search Constraints** タブと **Relations** タブで検索制約が指定されていないとします。この場合、FlexiLayout Studio が **Advanced pre-search relations** セクションの制約を適用する前は、その要素の検索領域はページの矩形と一致します。**Advanced** タブにも追加の制約がなければ、FlexiLayout Studio はページ全体でその要素を検索します。

<div id="how-constraints-shape-the-search-area">
  ## 制約が検索領域をどのように決定するか
</div>

[検索制約](/ja/flexi-capture/fls/language/search-conditions)で説明されている型1、2、および4の制約を適用すると、矩形の配列からなる検索領域が作成されます。FlexiLayout Studio では、検索領域は、配列全体を囲む1つの矩形から、指定された矩形の集合 (除外矩形) を除いたものとして扱われます。

[検索制約](/ja/flexi-capture/fls/language/search-conditions)で説明されている型3の検索制約を適用すると、仮説の各境界、つまり left、right、top、bottom ごとに、許容される座標の範囲が作成されます。各境界は、対応する軸上の座標範囲で表されます。たとえば、`[x1, x2]` または `[y1, y2]` です。ここで `x1` と `x2` は `XCoordinate` 型、`y1` と `y2` は `YCoordinate` 型です。各軸上の区間は、次の条件を満たす必要があります。X座標では `x1 <= x2`、Y座標では `y1 <= y2` です。

複数の制約が1つの境界に連続して適用されると、それぞれの制約によってその境界の許容座標範囲が変化します。

<div id="example-of-leftbound-constraints">
  ## LeftBound 制約の例
</div>

**Advanced pre-search relations** セクションに次の制約が含まれているとします。

```text theme={null}
LeftBound > 5mm;
LeftBound < 15mm;
LeftBound < 10mm;
```

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

| **Boundary**  | **1 ページ FlexiLayout の範囲**         | **複数ページ 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` が実行されると、変化するのは left 境界 だけです。その取り得る値の範囲は、1 ページ FlexiLayout では `[5mm, PageRect.Right]`、複数ページ FlexiLayout では `[5mm, INF]` という区間になります。

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

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

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

検索領域の指定された境界によって [fuzzy rectangle](/ja/flexi-capture/fls/language/fuzzy-rect) が形成されます。
