- 検索領域は、矩形 (
Rect変数) 、領域 (つまり連続した矩形の配列 ―Region変数) 、または通常は連続している必要のない矩形の配列 (RectArray変数) に制限できます。この種類の制約は、RestrictSearchAreafunction を使用し、対応する型のパラメーターを指定して設定します。 必要な型の値を返すすべての expression をパラメーターとして指定できます。 - 検索領域は、特定の点の左側、右側、上側、または下側にある半平面に制限できます。このような制約は、
Leftof、Rightof、Above、Belowの各 function を使用して設定します。 - 場合によっては、element の boundary に対して制約を設定したいことがあります。たとえば、element の左 boundary は常に画像の左側部分にあり、一方、右 boundary は右方向へ無制限に広がる可能性があることが、あらかじめ分かっている場合です。
FlexiLayout language では、検索領域を計算する段階でこのような制約を設定できるため、element に対して考えられる仮説の範囲を絞り込めます。このような制約は、
LeftBound、RightBound、topBound、BottomBoundの各 function と、演算子>および<を使用して設定します。LeftBoundとRightBoundの各 function は検索領域の左 boundary と右 boundary へのアクセスに使用し、topBoundとBottomBoundの各 function はそれぞれ上 boundary と下 boundary へのアクセスに使用します。 - 矩形、矩形の配列、仮説などを検索領域から除外することで、検索制約を設定できます。これは
Exclude、ExcludeRect、ExcludeSetの各 function を使用して行えます。
Specifying the search area
検索制約
Advanced pre-search relations セクションで、RestrictSearchArea、半平面関数、boundary の制限、除外を使用して検索制約を設定します。
検索領域の制約は、Properties ダイアログの Search Constraints タブと Relations タブ、および Advanced pre-search relations セクションで設定します。制約が適用される前は、検索領域はページの矩形と一致しています。まず、プログラムは Search Constraints タブと Relations タブで設定された制約を適用します。次に、Advanced pre-search relations セクションで設定された追加の制約を適用します。
Advanced pre-search relations セクションでは、次の種類の制約を設定できます。
