LayoutFlow for .NET について

グラフ描画アルゴリズム一式

LayoutFlow for .NETは、4つのレイアウトコンポーネントのコレクションであり、概観を定めるいくつかのルールに従って、グラフあるいはフローチャートを自動的に表示します。そこに組み込まれるコンポーネントは、HFlow(階層)、SFlow(対称)、TFlow(ツリー)、OFlow(直交)となります。これらのコントロールは、AddFlowの拡張版です。 それぞれのコントロールが、AddFlowコントロールを含むフォーム上で、その頂点(ノードとも呼ばれる)とエッジ(リンクとも呼ばれる)の、自動的なグラフレイアウトを実現します。

LayoutFlow for .NETは、以下の4つの.NETコンポーネントのセットになります。

  • HFlow(階層的なレイアウト)
  • OFlow(直交的なレイアウト)
  • SFlow(symmetric force directed layout)
  • TFlow(ツリーおよび放射状のレイアウト)

それぞれの製品に関するデモンストレーションは、AddFlow for .NETを用いて実現されるLayoutDemoサンプルで提供されています。

HFlowおよび、OFlow、SFlowとTFlowは、AddFlowの拡張版であり、使用するためにはAddFlowが必要となります。一般的には、それぞれのノードに対して最初に、任意あるいは(0,0)ポジションを与え、また、AddFlowAPIを用いることでAddFlow内にノードとリンクが作成されます。続いて、選択したグラフレイアウトコントロールの、レイアウトメソッドをコールします。このメソッドは、選択されたコントロール(HFlowによる階層や、SFlowによる対称、OFlowによる直交など)に依存する一定の外観に従うことで、AddFlowコントロール内のノードとリンクを合理的な手法により配置します。

AddFlowコントロールの頂点とエッジだけが、このレイアウトに関係しています。それにより、ユーザーは重要な頂点に対してのみ、レイアウトを適用することが可能になります。たとえば、そのLogicalプロパティをfalseに設定することで、ラベルを表示するために使われるノードを除外することが可能になります。

LayoutFlow for .NETはグラフ描画のためのアルゴリズムであり、以下を含みます。