方向選択が下向きの場合は、レベル
0 は描画の最上部になります。
このレイアウトでは、相対レベル制約によって、ノードが別のノードの上または下になるように指定できます。
方向選択が右向きの場合は、レベル
0 は描画の左端になります。
この場合、相対レベル制約によって、ノードを別のノードの左または右になるように指定できます。
以下を呼び出します。
layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativeLevelConstraint(nodeA, nodeB, priority));
これは、
nodeA
を nodeB
より小さなインデックスを持つレベルに配置するように強制します。
相対レベル制約は互いに競合するため、制約の優先度を指定する必要があります。
実際、リンクもシステムに制約を課すため、リンク優先度は制約優先度と同じ影響を与えます。
優先度が 10 のリンクは、(通常は)
ソース・ノード (ポートが指定されていない限り)
をターゲット・ノードよりも低いレベルに強制します。
ソース・ノードがターゲット・ノードよりも高いレベルになるように強制するには、リンクよりも高い優先度の制約を作成する必要があります。
例えば、多数のリンクがある場合でも制約が確実に満たされるようにするために、
0 から 10 のリンク優先度と
1000 から 10,000 の制約優先度を使用できます。また、ノードのグループ間の相対レベル制約を作成することもできます。
以下を呼び出します。
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativeLevelConstraint(nodeGroup1, nodeGroup2, priority));