-
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, de manière générale, n’ont pas besoin d’être contigus (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 fournie en paramètre. -
La zone de recherche peut être limitée à un demi-plan situé à gauche, à droite, au-dessus ou en dessous d’un point particulier. De telles contraintes sont définies à l’aide des fonctions
Leftof,Rightof,AboveetBelow. -
Il peut être utile de définir des contraintes sur une frontière d’élément. Par exemple, on peut savoir à l’avance que la frontière gauche d’un élément se situe toujours dans la partie gauche de l’image, tandis que la frontière droite peut s’étendre indéfiniment vers la droite. Le langage FlexiLayout permet de définir ces contraintes au moment 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 fonctionsLeftBoundetRightBoundpermettent d’accéder respectivement aux frontières gauche et droite de la zone de recherche, et les fonctionsTopBoundetBottomBoundaux frontières supérieure et inférieure. -
Vous pouvez définir des contraintes de recherche en excluant un rectangle, un tableau de rectangles, une hypothèse, etc., de la zone de recherche. Cela peut être fait à l’aide des fonctions
Exclude,ExcludeRectetExcludeSet.
