CL アルゴリズム

リング・トポロジーおよびスター型トポロジーは、いくつかの点で似ています。 リング・トポロジー および スター型トポロジー を参照して、その類似点について理解してください。
単純なスター型トポロジーと比較した単純なリング・トポロジー
リング・トポロジー
単純なリング・トポロジーと比較した単純なスター型トポロジー
スター型トポロジー
両方のトポロジーは、円に描画されたノードで構成されます。 環状レイアウト・アルゴリズムの場合、リング・トポロジーとスター型トポロジーの唯一の差異は、 スター型には、円の中央に描画される、スター・センターと呼ばれる特殊ノードがある点です。
クラスター・モード (クラスター・モード (CL) を参照) に応じて、レイアウトで、円に描画されるノードの順序を指定することもできますし (クラスター・メンバーシップおよびクラスター (CL) 内のノードの順序 を参照)、 リンク交差の数が小さくなるようにノードの描画の順序が自動的に計算される場合もあります。
ネットワーク・トポロジーは、複数のリングまたはスター型で構成できます。 これらのリングおよびスター型は部分的に相互接続可能です。 すなわち、図 共通ノードによって相互接続されたリング のように、2 つ以上のクラスターで共通のノードを持つことができます。 また、図 リンクによって相互接続されたリング のように、2 つの異なるクラスターのノード間のリンクで相互接続することもできます。
共通ノードによって相互接続された 3 つのリング
共通ノードによって相互接続されたリング
リンクによって相互接続された 3 つのリング
リンクによって相互接続されたリング
環状レイアウト・アルゴリズムは、各クラスターの視覚的識別が保持され、ノードおよびクラスターのオーバーラップが回避されるように、リング・トポロジーおよびスター型トポロジーをレイアウトします。 CL サンプル のサンプル描画を参照してください。
クラスター・モード AUTOMATIC および BY_CLUSTER_IDS でレイアウトがどのように実行されるのかを理解するには、 各ノードがネットワーク・トポロジーの単一のリング・クラスターまたはスター型クラスターを表すグラフを考えます。 対応するクラスター間に相互接続が存在するたびに 2 つのノード間にリンクを追加します。 環状レイアウト・アルゴリズムは、このようにして得られたグラフがツリーの場合 (すなわち、循環のないグラフ) 用に設計されています。 循環が存在する場合は、レイアウトは、グラフの スパンニング・ツリー を使用して実行されます。
ルート・クラスター (リングまたはスター型) から始めて、ルート・クラスターに接続されるクラスターが、ルート・クラスターの同心円内に描画されます。 円の半径は、クラスターのオーバーラップが回避されるように計算されます。 次に、アルゴリズムは、最後のクラスターに接続されるクラスターを、より大きな円上にレイアウトし、このプロセスを繰り返します。 各円はレベルと呼ばれます。
接続されない (すなわち、非接続のクラスター・グループがグラフに存在する) ネットワークについては、複数のスパンニング・ツリーが存在します。 各スパンニング・ツリーは別個にレイアウトされ、その他のスパンニング・ツリーの近くに配置されます。 CL サンプル のサンプル描画でこれを確認できます。
クラスター・モード BY_SUBGRAPHS では、各サブグラフ (クラスター) は初期位置を保持します。 サブグラフは、別のアルゴリズムによって、または対話式に配置できます。
CL の例
以下のコード・サンプルは、ibm_ilog.graphlayout.circular.CircularLayout クラスを使用しています。このコード・サンプルは、環状レイアウトの実行方法を示します。
dojo.require("ibm_ilog.graphlayout.circular.CircularLayout");

var layout = new ibm_ilog.graphlayout.circular.CircularLayout();
graph.setNodeLayout(layout);
graph.performGraphLayout();