> ## 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.

# Géométrie de la zone de recherche

> Comment se forme la géométrie de la zone de recherche dans les FlexiLayouts : plages de coordonnées des limites, application des contraintes LeftBound et comportement en mode une page ou multipage.

Supposons qu’aucune contrainte de recherche ne soit définie dans les onglets **Contraintes de recherche** et **Relations** pour l’élément et les éléments Group parents. Dans ce cas, avant que FlexiLayout Studio n’applique les contraintes de la section **Relations avancées de pré-recherche**, la zone de recherche de l’élément coïncide avec le rectangle de la page. S’il n’y a pas d’autres contraintes dans l’onglet **Avancé**, FlexiLayout Studio recherchera l’élément sur toute la page.

<div id="how-constraints-shape-the-search-area">
  ## Comment les contraintes définissent la zone de recherche
</div>

L’application des contraintes de type 1, 2 et 4 décrites dans [Contraintes de recherche](/fr/flexi-capture/fls/language/search-conditions) crée une zone de recherche constituée d’un tableau de rectangles. FlexiLayout Studio considère que la zone de recherche se compose d’un rectangle qui circonscrit l’ensemble du tableau et dont un ensemble spécifié de rectangles (rectangles exclus) doit être exclu.

L’application des contraintes de recherche de type 3 décrites dans [Contraintes de recherche](/fr/flexi-capture/fls/language/search-conditions) crée une plage de coordonnées autorisées pour chaque limite des hypothèses : left, right, top et bottom. Chaque limite est caractérisée par une plage de coordonnées sur l’axe correspondant, par exemple `[x1, x2]` ou `[y1, y2]`. Ici, `x1` et `x2` sont de type `XCoordinate`, et `y1` et `y2` sont de type `YCoordinate`. L’intervalle sur l’axe doit respecter la condition suivante : `x1 <= x2` pour les coordonnées X, et `y1 <= y2` pour les coordonnées Y.

Si plusieurs contraintes sont appliquées successivement à une limite, chacune modifie la plage de coordonnées autorisées pour cette limite.

<div id="example-of-leftbound-constraints">
  ## Exemple de contraintes LeftBound
</div>

Supposons que la section **Relations avancées de pré-recherche** contienne les contraintes suivantes :

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

Supposons que la zone de recherche ne soit pas spécifiée avant l’exécution de ces contraintes. Pour un FlexiLayout à une page (où le nombre minimal et maximal de pages autorisé dans un document est de 1), la zone de recherche coïncide avec le rectangle de la page `[PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]`. Pour un FlexiLayout multipage, la zone de recherche a la taille maximale de `[-INF, -INF, INF, INF]`.

Les plages de coordonnées des limites de l’élément sont les suivantes :

| **Limite**    | **Plage pour un FlexiLayout à une page** | **Plage pour un FlexiLayout multipage** |
| ------------- | ---------------------------------------- | --------------------------------------- |
| `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]`                           |

Lorsque la contrainte `LeftBound > 5mm` est exécutée, seule la limite gauche change. La plage de ses valeurs possibles devient le segment `[5mm, PageRect.Right]` pour les FlexiLayout à une page et le segment `[5mm, INF]` pour les FlexiLayout multipages.

Après l’application de la contrainte `LeftBound < 15mm`, la plage des coordonnées autorisées de la limite gauche sera `[5mm, 15mm]`.

Après l’application de la contrainte `LeftBound < 10mm`, la plage des coordonnées autorisées de la limite gauche sera `[5mm, 10mm]`.

De la même manière, vous pouvez définir des contraintes pour les autres limites de l’élément.

Les limites spécifiées de la zone de recherche forment un [fuzzy rectangle](/fr/flexi-capture/fls/language/fuzzy-rect).
