GL の特定パラメーター

順序パラメーター (GL)

順序パラメーターは、ノードの配置方法を指定します。
ノード配置の反復および許容時間の指定例 (GL アルゴリズム)
ノードの順序オプションを指定するには、以下のようにします。
以下のメソッドを使用します。
gridLayout.setNodeComparator(ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_HEIGHT); 
順序パラメーターは、ノードの配置方法を指定します。
comparator の有効な値は、次のとおりです。
  • ibm_ilog.graphlayout.grid.GridLayout.AUTOMATIC_ORDERING
    アルゴリズムは、レイアウトによって占有される合計面積を減らすように順序を自由に選択できます。
  • ibm_ilog.graphlayout.grid.GridLayout.NO_ORDERING
    順序付けは実行されません。
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_HEIGHT
    ノードは、高さの降順で順序付けられます。
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_HEIGHT
    ノードは、高さの昇順で順序付けられます。
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_WIDTH
    ノードは、幅の降順で順序付けられます。
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_WIDTH
    ノードは、幅の昇順で順序付けられます。
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_AREA
    ノードは、面積の降順で順序付けられます。
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_AREA
    ノードは、面積の昇順で順序付けられます。
  • ibm_ilog.graphlayout.grid.GridLayout.ASCENDING_INDEX
    ノードは、そのインデックスの昇順で順序付けられます (setIndex を参照)。
  • ibm_ilog.graphlayout.grid.GridLayout.DESCENDING_INDEX
    ノードは、そのインデックスの降順で順序付けられます (setIndex を参照)。
  • null
    ノードは、任意に順序付けられます。
  • 値が関数である必要がある compare プロパティーを持つ任意のオブジェクト。
    ノードは、このカスタム・コンパレーターに従って順序付けられます。
  • compare 関数には、以下のシグニチャーを設定する必要があります。
    compareFunction (A, B)
    比較関数は、2 つの引数を比較します。例えば、2 つのエレメント A および B の場合、 compareFunction により、以下のいずれかの値が返されます。
    • -1
      関数は、ソート・シーケンスで B より前に A を返します。
    • 0
      A と B は同じです。
    • 1
      関数は、ソート・シーケンスで B より後に A を返します。
デフォルトは ibm_ilog.graphlayout.grid.GridLayout.AUTOMATIC_ORDERING です。
インクリメンタル・モード ( setIncrementalMode を参照) および固定ノード ( setFixed を参照) では、ノードの順序は完全には保持されません。
レイアウト・モードが TILE_TO_GRID_FIXED_WIDTH または TILE_TO_GRID_FIXED_HEIGHT の場合、 順序オプションは、サイズ (マージンも含む) がグリッド・セル・サイズ (setHorizontalGridOffset および setVerticalGridOffset を参照) より小さいノードのみに適用されます。

レイアウト・モード (GL)

グリッド・レイアウト・アルゴリズムには、4 つのレイアウト・モードがあります。
レイアウト・モードの選択例 (GL アルゴリズム)
レイアウト・モードを選択するには、以下のようにします。
以下のメソッドを使用します。
gridLayout.setLayoutMode(ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_HEIGHT);  
mode の有効な値は、次のとおりです。
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_WIDTH (デフォルト)
    ノードは、固定最大列数を持つグリッド (マトリックス) のセルに配置されます。 この数は、レイアウト領域パラメーターの幅を水平グリッド・オフセットによって除算したものです。
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_HEIGHT
    ノードは、固定最大行数を持つグリッド (マトリックス) のセルに配置されます。 この数は、レイアウト領域パラメーターの高さを垂直グリッド・オフセットによって除算したものです。
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_ROWS
    ノードは行内に配置されます。行の最大幅は、レイアウト領域パラメーターの幅と同じです。 行の高さは、行に含まれるノードの最大高さ (+ マージン) です。
  • ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_COLUMNS
    ノードは列内に配置されます。列の最大高さは、レイアウト領域パラメーターの高さと同じです。 列の幅は、列に含まれるノードの最大幅 (+ マージン) です。

整列パラメーター (GL)

グローバル整列パラメーター

整列オプションは、ノードが (レイアウト・モードに応じて) グリッド・セル、あるいは行または列にどのように配置されるのかを制御します。 整列は、グローバルに設定できます。この場合、すべてのノードは同じように整列されます。 また、ノードごとにローカルに設定することもでき、その場合、同じ描画で異なる整列が生じます。
グローバル整列の設定例 (GL アルゴリズム)
グローバル整列を設定するには、以下のようにします。
以下のメソッドを使用します。
gridLayout.setGlobalHorizontalAlignment(ibm_ilog.graphlayout.grid.GridLayout.LEFT);
gridLayout.setGlobalVerticalAlignment(ibm_ilog.graphlayout.grid.GridLayout.TOP);
整列パラメーターの有効値は、以下のとおりです。
  • ibm_ilog.graphlayout.grid.GridLayout.CENTER (デフォルト)
    ノードは、グリッド・セルあるいは行または列に、水平および垂直に中央揃えされます。
  • ibm_ilog.graphlayout.grid.GridLayout.TOP
    ノードは、セルまたは行の上部に垂直に整列されます。レイアウト・モードが TILE_TO_COLUMNS の場合は使用されません。
  • ibm_ilog.graphlayout.grid.GridLayout.BOTTOM
    ノードは、グリッド・セルまたは行の下部に垂直に整列されます。レイアウト・モードが TILE_TO_COLUMNS の場合は使用されません。
  • ibm_ilog.graphlayout.grid.GridLayout.LEFT
    ノードは、グリッド・セルまたは列の左方に水平に整列されます。レイアウト・モードが TILE_TO_ROWS の場合は使用されません。
  • ibm_ilog.graphlayout.grid.GridLayout.RIGHT
    ノードは、グリッド・セルまたは列の右方に水平に整列されます。レイアウト・モードが TILE_TO_ROWS の場合は使用されません。
  • ibm_ilog.graphlayout.grid.GridLayout.MIXED
    各ノードに異なる整列を設定できます。 個別ノードの整列を設定することができますが、 その結果、同じグラフ内で異なる整列が実行される場合があります。

個別ノードの整列

グローバル整列が ibm_ilog.graphlayout.grid.GridLayout.MIXED に設定されていない限り、すべてのノードの整列は同じになります。 グローバル整列が mixed に設定されている場合のみ、各ノードに個別の整列スタイルを設定できます。
個別ノードの整列の設定例 (GL アルゴリズム)
個別ノードの整列を設定および取得するには、以下のようにします。
以下のメソッドを使用します。
setHorizontalAlignment(node, alignment);  
setVerticalAlignment(node, alignment);   
getHorizontalAlignment(node);   
getVerticalAlignment(node);   
整列パラメーターの有効値は、以下のとおりです。
  • ibm_ilog.graphlayout.grid.GridLayout.CENTER (デフォルト)
  • ibm_ilog.graphlayout.grid.GridLayout.TOP
  • ibm_ilog.graphlayout.grid.GridLayout.BOTTOM
  • ibm_ilog.graphlayout.grid.GridLayout.LEFT
  • ibm_ilog.graphlayout.grid.GridLayout.RIGHT

各行または列の最大ノード数 (GL)

ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_ROWS または ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_COLUMNS モードのデフォルトでは、 レイアウトで、ノードのサイズとディメンション・パラメーター (レイアウト領域およびマージン) の許す限り最大数のノードを各行または列に配置します。 必要に応じて、レイアウトで、各行または列の指定最大ノード数を使用することもできます。
各行または列の最大ノード数の指定例 (GL アルゴリズム)
各行または列の最大ノード数を設定するには、以下のようにします。
以下のメソッドを使用します。
gridLayout.setMaxNumberOfNodesPerRowOrColumn(5);  
デフォルト値は int.MAX_VALUE です (各行または列に配置されるノード数は、ノードのサイズおよびディメンション・パラメーターによってのみ制限されます)。 指定値は、少なくとも 1 である必要があります。このパラメーターは、レイアウト・モードが ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_WIDTH または ibm_ilog.graphlayout.grid.GridLayout.TILE_TO_GRID_FIXED_HEIGHT の場合には無効です。

インクリメンタル・モード (GL)

グリッド・レイアウト・アルゴリズムは通常、すべてのノードを最初から配置します。 ノードを追加、削除、またはサイズ変更したためにグラフがインクリメンタルに変更された場合、その後のレイアウトは前のレイアウトとかなり異なるものになる場合があります。 この影響を回避して、ユーザーがグラフのメンタル・マップを保持できるようにするために、アルゴリズムにインクリメンタル・モードが用意されています。 インクリメンタル・モードでは、レイアウトは、可能な限り、前のレイアウトと同じ位置または同じ順序でノードを配置しようとします。
インクリメンタル・モードの使用可能化の例 (GL アルゴリズム)
インクリメンタル・モードを有効にするには、以下のようにします。
メソッド setIncrementalMode を以下のように呼び出します。
gridLayout.setIncrementalMode(true); 
メモ
安定度を保持するために、インクリメンタル・モードでは、一部の領域を空いたままにする場合があります。 そのため、レイアウトの合計面積は、インクリメンタル・モード以外の場合よりも大きくなる可能性があります。 また、一般的に、インクリメンタル・モード以外の場合よりもレイアウトの外観が劣る可能性があります。

ディメンション・パラメーター (GL)

グリッド・レイアウト・アルゴリズムのグリッド・モードのディメンション・パラメーター および グリッド・レイアウト・アルゴリズムの行および列モードのディメンション・パラメーター で、 グリッド・レイアウト・アルゴリズムで使用されるディメンション・パラメーターを示します。 このタイプのパラメーターについては、後続の各セクションで説明します。
グリッド・レイアウトのグリッド・モードでのマージンとグリッド・オフセットのパラメーターを説明する図
グリッド・レイアウト・アルゴリズムのグリッド・モードのディメンション・パラメーター
グリッド・レイアウトの行および列モードでのマージンとレイアウト領域パラメーターを説明する図
グリッド・レイアウト・アルゴリズムの行および列モードのディメンション・パラメーター

グリッド・オフセット (GL)

グリッド・オフセット・パラメーターは、グリッド・ライン間の間隔を制御します。 これは、グリッド・モード (レイアウト・モード TILE_TO_GRID_FIXED_WIDTH および TILE_TO_GRID_FIXED_HEIGHT) によってのみ考慮されます。
グリッド・オフセットの設定例 (GL アルゴリズム)
水平および垂直グリッド・オフセットを設定するには、以下のようにします。
以下のメソッドを使用します。
gridLayout.setHorizontalGridOffset(50);
gridLayout.setVerticalGridOffset(50);  
グリッド・オフセットは、グリッド・モードの重要なパラメーターです。 グリッド・オフセットがノードのサイズ (+ マージン) よりも大きい場合、空のスペースがノードのまわりに残ります。 グリッド・オフセットがノードのサイズ (+ マージン) よりも小さい場合、ノードを複数のグリッド・セルに配置する必要が生じます。グリッド・オフセットの最適な選択は、アプリケーションに依存します。 これは、ノードの最大サイズ (+ マージン) かミディアム・サイズかなどによって計算できます。 すべてのノードが同じようなサイズであれば、選択は単純明快です。

マージン (GL)

マージンは、レイアウト・アルゴリズムが空のままにする、各ノードのまわりのスペースを制御します。
マージンの指定例 (GL アルゴリズム)
マージンを設定するには、以下のようにします。
以下のメソッドを使用します。
gridLayout.setTopMargin(10);
gridLayout.setBottomMargin(10);
gridLayout.setLeftMargin(5);
gridLayout.setRightMargin(5);  
マージン・パラメーターの意味は、以下のように、グリッド・モードと行/列モードとでは異なります。
すべてのマージン・パラメーターのデフォルト値は 5 です。