AddFlow for WinForms Professional について

インタラクティブなフローチャートとワークフロー図を作成、グラフの描画アルゴリズムを搭載

AddFlow Suite for .NETはAddFlow for .NETとLayoutFlow for .NETを含むコンポーネントスイートです。また、4つのレイアウトコンポーネントのコレクションとして、HFlow for .NET(階層的)、SFlow for .NET(対称)、TFlow for .NET(ツリー)、OFlow for .NET(直交)を含みます。

AddFlow Suite for .NETは、AddFlow for .NETとLayoutFlow for .NETの双方を含みます。

AddFlow for .NETの概要

主な特徴

  • インターネット上でのディプロイメントに適した小さなアセンブリ。わずか252KBの Lassalle.Flow.dll
  • コンパクトなプログラミングインターフェイス: 量より質を優先し、クラスとプロパティの増殖を抑制
  • .NET環境との完全な統合
  • 卓越した柔軟性(クラス導出や、OwnerDrawプロパティ、アンチエイリアス処理、カスタムシェイプ)の実現
  • ロイヤルティフリーのランタイムライセンス

全般

  • プログラムを用いてインタラクティブに行われる、作図における描画
  • ノードやリンクなどの基本アイテムに対して、またコントロールのディフォルトとして提供される、個別の定義が可能なshapeやstyle、color、fontなどのプロパティ
  • いくつかのコレクションにおいてサポートされる、複数の方式によるグラフの連携
  • 多数のプロパティにより実現されるコントロール(CanDrawNode、CanMoveNode、CanMultiLinkなど)と、アイテム(XSizeable、YSizeable、XMoveable、YMoveable、Selectable、Stretchableなど)におけるカスタマイズの実現

インタラクティブ性と表示のための機能

  • 複数アイテムに対するマルセレクション
  • マルチレベルにおけるアンドゥ/リドゥ
  • グリッドのサポート
  • アイテムの移動や、サイズの変更時におけるノード接続の維持
  • ズーミングへの対応
  • スクロールとドラッグスクロールの処理
  • アンチエイリアス処理の実現
  • OwnerDrawプロパティによる、単一のアイテムもしくはAddFlowコントロール全体に対するカスタムドローの提供

入出力

  • フリーで提供される拡張版PrnFlowによる、印刷と印刷プレビュー。PrnFlowのC#ソースコードの提供
  • フリーで提供される拡張版XMLFlowによる、シリアライゼーション。XMLFlowのC#ソースコードの提供
  • メタファイルのエクスポート

ノード

  • 43種類の定義済みシェイプ
  • カスタムシェイプ
  • イメージとノードを結合する能力
  • シャドウ
  • インプレイスでの編集
  • サイズの自動化オプション
  • ノードの隠蔽
  • テキスト位置の調節オプション
  • イメージ位置の調節オプション

リンク

  • 15種類の定義済み矢印シェイプ
  • カスタム可能な矢印スタイル
  • 複数のセグメントにより構成される、伸縮可能なリンク。ユーザーによるセグメントの追加と削除が可能
  • 曲線を用いたリンク(ベジエとスプライン)
  • リンク同士の交差点における立体的な表現
  • 再帰的なリンク
  • 固定したリンク
  • 隠蔽されたリンク
  • オリジナルとディスティネーションのリンクノードに対する、インタラクティブな変更を実現

LayoutFlow for .NETの概要

LayoutFlow for .NETは、グラフレイアウトに関する4種類の.NETコンポーネントのセットです。

HFlow
HFlowレイアウトアルゴリズムは、水平な階層で頂点(ノードとも呼ばれる)を調整するためのものです。その頂点の並びは、交差点の数が小さくなるように選択されます。HFlowによるソリューションは、最適を目指すものではなく、まさに合理性を考えたものとなります。

OFlow
OFlowレイアウトアルゴリズムは、グラフ上で直交するレイアウトを実現します。このレイアウトが直交となる理由は、それぞれのエッジが水平と垂直に交互に接続する多角形として描画する場合に、直交の描画が生成されるためです。OFlowは、グラフ間の接続の有無にかかわらず機能します。描画の結果として、最大で4度以内のグラフになる場合には、それぞれのノードが同じ大きさを持つことになります。もしノードの角度が4度以上なら、ノードの高さが拡大されることになります。

SFlow
SFlowレイアウトアルゴリズムは、グラフ上で対称的なレイアウトを実現します。対称的なレイアウトは、正確な対称を生み出しますが、特に、エッジの方向が重要ではない無向性のグラフにとって有効なものとなります。多くの場合において、結果として生じるレイアウトは良好です。しかし、膨大な計算上のリソースが必要とされるため、小さいグラフ(300以下のノード数)に対して使用すべきです。アニメーションモードを使うことで、SFlowの機能する様子を確認することが可能です。

TFlow
TFlowレイアウトのアルゴリズムは、グラフ上でのツリーレイアウトを実現します。ツリーレイアウトは、ルーティングされたツリーである、グラフ内の特定のサブセットだけに適用されます。このようなグラフにおいて、複数の親を持つ頂点は存在しません。ツリーの描画は、一定の美観を満たす一方で、ごく限られた領域だけしか占有しません。

DrawingStyleプロパティの値が「Layered」なら:

  • ツリー上の同じレベルの頂点、同一線上に配置
  • 親ノードは、その子供たちの中心に配置

DrawingStyleプロパティの値が「Radial」なら:

  • ルートは、もとの位置に配置
  • 階層は、元の位置を中心とした同心円で配置

LayoutFlow for .NETの使用に際しては、AddFlow for .NETが必要となる点に注意してください。双方の製品は、共通のインストレーションプログラムによりインストールされます。