- La zone de recherche peut être limitée à un rectangle (variable
Rect), à une région (c’est-à-dire un ensemble continu de rectangles — variableRegion), ou à un tableau de rectangles qui, en général, n’a pas besoin d’être continu (variableRectArray). Ce type de contrainte est défini à l’aide de la fonctionRestrictSearchAreaen spécifiant un paramètre du type correspondant. Toute expression renvoyant une valeur du type requis peut être indiquée comme paramètre. - La zone de recherche peut être limitée à un demi-plan situé à gauche, à droite, au-dessus ou au-dessous d’un point donné. De telles contraintes sont définies à l’aide des fonctions Leftof, Rightof, Above et Below.
- Il peut être utile de définir des contraintes sur une limite d’élément. Par exemple, on peut savoir à l’avance que la limite gauche d’un élément se situe toujours dans la partie gauche de l’image, tandis que la limite droite peut s’étendre indéfiniment vers la droite. Le langage FlexiLayout permet de définir de telles contraintes lors du calcul de la zone de recherche, réduisant ainsi l’éventail des hypothèses possibles pour un élément. Ces contraintes sont définies à l’aide des fonctions
LeftBound,RightBound,topBoundetBottomBoundet des opérateurs>et<. Les fonctionsLeftBoundetRightBoundservent à accéder aux limites gauche et droite de la zone de recherche, et les fonctionstopBoundetBottomBoundaux limites supérieure et inférieure respectivement. - Vous pouvez définir des contraintes de recherche en excluant de la zone de recherche un rectangle, un ensemble de rectangles, une hypothèse, etc. Pour cela, utilisez les fonctions
Exclude,ExcludeRectetExcludeSet.
