[モデリング]オプション への移動
ツール > オプション... > モデリング > (レベル) > ダイアグラム > レイアウト
- ここでの (レベル) は、[ダイアグラム|レイアウト] オプション ページが、モデリング オプション ツリーでの、ダイアグラム、プロジェクト、プロジェクト グループ、および デフォルト のどのレベル(枝)に対して選択されるのかを、指定するために使用されます。 (さらなる情報については、「[モデリング オプション]ダイアログボックス」の「モデリング オプションの階層レベル」を参照してください。)
[ダイアグラム|レイアウト]オプションでは、ダイアグラム要素の配置と位置を設定します。
[ダイアグラム|レイアウト]オプションを次の表に示します。
[全般] オプション
オプション
|
説明とデフォルト値
|
[レイアウト アルゴリズム]
|
UML のダイアグラムは、グラフ(頂点と辺)と考えることができます。 したがって、グラフのレイアウト アルゴリズムを UML のダイアグラムのレイアウトにも適用できます。 モデリング は、ダイアグラムのコンテキスト メニューから [レイアウト|レイアウトの実行]コマンドを選択した際に、選択されたアルゴリズムを実装します。 次のアルゴリズムが利用できます:
[標準] - すべての種類のダイアグラムに適用できる単純なアルゴリズムです。
[階層] - このアルゴリズムでは、選択したオプションに従って UML のダイアグラムが階層的に描画されます。 このアルゴリズムは、継承関係などの階層構造を分析するのに最適です。 階層アルゴリズムは "杉山アルゴリズム" を基にしたものです。
[直交] - 3 つの単純なヒューリスティック([スマート] 、[ツリー] 、[平衡] )のいずれかを使用して、ダイアグラム ノードを格子上に配置します。 階層が重要でない場合にこのアルゴリズムを使用します。
[Spring Embedder] - Spring Embedder は力指向(force-directed)レイアウト アルゴリズムで、入力グラフを力の系としてモデリングし、その系の最小エネルギー配置を求めるものです。
- Spring Embedder のアルゴリズムでは、ノードが平面上の小さな金属のリングであると考えます。 リングはばねで接続され(辺はすべて直線で描画)、互いを押したり引いたりします。 すべての力が合計されると、リングは加わった力に応じて平面上を移動し、平衡状態(各リングに加わる力が 0)になると止まります。
- このタイプのレイアウトは特に、大量のソース コードに基づく多数のダイアグラム要素があるプロジェクトに適しています。 Spring Embedder レイアウト アルゴリズムに従ってグラフをレイアウトすると、そのグラフは物理モデル(質点とばねから成る系)としてシミュレートされ、物理力の釣り合いで配置が決まります。 辺が不必要に長いと、その部分の張力が最大になり、最も縮まろうとします。 ノードと辺の釣り合いが取れたとき、グラフの幾何学的表現が得られます。
[ツリー] - ダイアグラムはその最大全域木に従ってツリー レイアウトで描画されます。
<自動選択> - ダイアグラムの種類ごとに、使用可能なアルゴリズムがいくつかあります。 各レイアウト アルゴリズムには、適用対象となるダイアグラムの種類と、そのそれぞれの種類のダイアグラムにアルゴリズムを適用したときに生成されるレイアウトの最終品質を示す数値特性について、内部情報が含まれています。 このオプションでは、こうした内部情報を用いて、現在のダイアグラムの種類に最適なアルゴリズムを選択します。
各アルゴリズムのオプションについては、この後、アルゴリズムごとの表で説明します。
デフォルト値は[標準] です。
|
[再帰的レイアウト]
|
[はい] - ダイアグラムのノードをレイアウトする際に、コンテナ内のサブ要素もすべてレイアウトされます。 このオプションは、コンポジット状態やコンポーネントで使用すると便利です。 このオプションは、すべてのレイアウト アルゴリズムで使用できます。 デフォルト値は[はい] です。
|
[標準アルゴリズム] オプション
オプション
|
説明とデフォルト値
|
[継承]
|
継承リンクで接続されたノードの並べ方を定義します。 次のいずれかを選択します:
[左から右] - 左から右に水平方向に配置されます。
[右から左] - 右から左に水平方向に配置されます。
[上から下] - 上から下に垂直方向に配置されます。
[下から上] - 下から上に垂直方向に配置されます。
デフォルト値は[上から下] です。
|
[配置]
|
ノードの配置方法を指定します。 [配置]の解釈は[継承]オプションによって異なります。 指定可能な値は以下のとおりです: [上揃え] 、[中央揃え] 、[下揃え] 。 デフォルト値は[中央揃え] です。 要素の配置方法は、次の表のとおりです:
[継承] / [配置]
|
[上揃え]
|
[中央揃え]
|
[下揃え]
|
[左から右]
|
行の上揃え
|
行の中央揃え
|
行の下揃え
|
[右から左]
|
行の下揃え
|
行の中央揃え
|
行の上揃え
|
[上から下]
|
列の左揃え
|
列の中央揃え
|
列の右揃え
|
[下から上]
|
列の右揃え
|
列の中央揃え
|
列の左揃え
|
|
[階層アルゴリズム] オプション
オプション
|
説明とデフォルト値
|
[ハイブリッド比率パラメータ]
|
[階層順序付けヒューリスティック] で選択した[ハイブリッド]ヒューリスティックと一緒に使用します。 このオプションの最適な値は 0.7 です。
|
[継承]
|
継承リンクで接続されたノードの並べ方を定義します。
[水平方向] - 継承リンクで連結されているノードを横に並べます。
[垂直方向] - 継承リンクで連結されているノードを縦に並べます。
デフォルト値は[垂直方向] です。
|
[配置]
|
このオプションではノードの配置を定義します。 [配置]の解釈は[継承]オプションの設定によって異なります。 デフォルト値は[中央揃え] です。 次の中から選択します。
[上揃え] - [継承]が[垂直方向] に設定されている場合は、列内のすべてのノードを列の左に合わせて配置します。
- - [継承]が
[水平方向] に設定されている場合は、行内のすべてのノードを行の上に合わせて配置します。
[中央揃え] - [継承]が[垂直方向] に設定されている場合は、列内のすべてのノードを列の中央に合わせて配置します。
- - [継承]が
[水平方向] に設定されている場合は、行内のすべてのノードを行の中央に合わせて配置します。
[下揃え] - [継承]が[垂直方向] に設定されている場合は、列内のすべてのノードを列の右に合わせて配置します。
- - [継承]が
[水平方向] に設定されている場合は、行内のすべてのノードを行の下に合わせて配置します。
|
[階層順序付けヒューリスティック]
|
このヒューリスティックは、できる限り辺が交差しないように、各レイヤのノードを並べ替えるために使用されます。
[重心] - 重心加重に基づいて、ノードを並べ替えます。 ノード N の加重は、すべての親ノード(または子ノード)の相対座標の単純平均として計算されます。
[中央値] - 中央値加重に基づいて、ノードを並べ替えます。 ノード N の加重は、2 つの中心の親ノード(または子ノード)の座標だけを使用して、このノードの相対位置の単純平均として計算されます。
[ハイブリッド] - [中央値] ヒューリスティックと[重心] ヒューリスティックを組み合わせたものです。 比率は、[ハイブリッド比率パラメータ]で定義されます。
デフォルト値は[重心] です。
|
[最小水平距離]
|
ダイアグラム要素間の最小の水平距離をピクセル単位で指定します。 デフォルト値は 60 です。
|
[最小垂直距離]
|
ダイアグラム要素間の最小の垂直距離をピクセル単位で指定します。 デフォルト値は 60 です。
|
[直交アルゴリズム] オプション
オプション
|
説明とデフォルト値
|
[要素間の距離]
|
ダイアグラム要素間の最小の距離をピクセル単位で指定します。 デフォルト値は 30 です。
|
[ノード配置方法]
|
[ノード配置方法]には次の 3 つの方法があります: [ツリー] 、[平衡] 、 [スマート] 。
[ツリー] — スパニング ツリーのダイアグラム レイアウトを作成します。指定したグラフのスパニング ツリーが計算され、ツリーの辺の長さが最小になるように格子上にダイアグラム ノードが配置されます。 これにより、ツリーの辺でリンクされたノード間の距離が最小になります。
[平衡] — グラフの頂点がバランスよく並ぶ順番を出発点として使用します。「バランスよく([平衡] )」とは、各頂点 V の周囲の要素をできる限り V の左右に均等に分けて配置するという意味です。
[スマート] - 各頂点の入出ライン数に基づいてすべての頂点を並べ替え、最大のライン数の頂点を中心として順に格子を埋めていきます。
デフォルト値は[ツリー] です。
|
[Spring Embedder アルゴリズム] オプション
オプション
|
説明とデフォルト値
|
[ばねの力]
|
ばねの剛性を指定します。 指定する値が大きいほど、最終的なグラフでの枝の長さが短くなります。
|
[ばねの変動係数]
|
ノードの移動係数を指定します。 指定する値が大きければ大きいほど、最終的なグラフでのノード間の距離は大きくなります。 移動係数として 0 を指定すると、ノードのレイアウトはランダムになります。
|
[ツリー アルゴリズム] オプション
オプション
|
説明とデフォルト値
|
[階層]
|
要素の階層方向を定義します。
[水平方向] - 要素を水平に配置します。
[垂直方向] - 要素を垂直に配置します。
|
[配置]
|
要素の配置方法を指定します。 [配置]の解釈は[階層]方向の設定によって異なります。
[上揃え] - [階層]が[垂直方向] に設定されている場合は、列内のすべてのノードを列の左に合わせて配置します。
- - [階層]が
[水平方向] に設定されている場合は、行内のすべてのノードを行の下に合わせて配置します。
[中央揃え] - [階層]が[垂直方向] に設定されている場合は、列内のすべてのノードを列の中央に合わせて配置します。
- - [階層]が
[水平方向] に設定されている場合は、行内のすべてのノードを行の中央に合わせて配置します。
[下揃え] - [階層]が[垂直方向] に設定されている場合は、列内のすべてのノードを列の右に合わせて配置します。
- - [階層]が
[水平方向] に設定されている場合は、行内のすべてのノードを行の下に合わせて配置します。
|
[最小水平距離]
|
ダイアグラム要素間の最小の水平距離をピクセル単位で指定します。
|
[最小垂直距離]
|
ダイアグラム要素間の最小の垂直距離をピクセル単位で指定します。
|
[ツリーでないエッジを処理]
|
[はい] - ツリーではない辺がダイアグラムのレイアウトに合わせて折り曲げられます。
|
[階層を逆転]
|
[はい] - 最後の階層要素をダイアグラムの最初に配置します。
|
関連項目