4

何かのためにワークフロー/フローチャート スタイル デザイナーを作成しました。現時点では、比較的単純なベジエ曲線を使用して、ワークフローの「ブロック」のさまざまな終点を接続しています。

ただし、ユーザーにとってもう少し直感的なものが欲しいです。線が他のブロック (長方形) や、場合によっては他の線のような障害物を回避するようにします。

私はポリラインよりもベジエ スプラインを好みます。ベジエ スプラインの方がきれいで、一般的にデザイナーにより適しているように思われるからです。しかし、達成するのがはるかに難しい場合は、喜んで妥協します。

私は、この背後にたくさんの科学があることを知っています。Graphviz、Microsoft の GLEE、および商用の AGL (自動グラフ レイアウト) ライブラリなどを調査しました。

GLEEは生産に値するものではないようです。そして、彼らの商業的な代替手段は、まあ、商業的な代替手段です...それはかなり高価です.

Graphviz は .NET に移植されていないようです。

Windows Workflow Foundation が「フリーフォーム デザイナー」に使用するポリラインの実装を見てきました。これは機能しますが、製品グレードの外観ではありません。

この種のプラグアンドプレイ .NET ライブラリがないことに驚いていますか? 何かのようなもの:

Point[] RoutePolyline(Point begin, Point end, Rectangle[] rectObstacles, Point[] lineObstacles);

4

3 に答える 3

1

私はまだ試していませんが ( Gantt製品には満足しています)、ILOG にも同様のツールがあります

引用するには:

.NET アルゴリズムの ILOG ダイアグラムは、次のような一般的な目標を共有しています。

  • オーバーラップするノードの数を最小限に抑える
  • リンク交差数の最小化
  • 図面の総面積の最小化
  • 曲げの数を最小限に抑える (直交図面で)
  • 連続する入射リンクによって形成される最小角度を最大化する
  • 対称性の表示を最大化する
  • インクリメンタル レイアウト、部分レイアウト、サブグラフ、グラフ間リンク、ネストされたレイアウトのサポート

少なくとも一見の価値はあります。

于 2008-11-26T09:49:46.273 に答える
1

Diagram.NET は、C# で記述された無料のオープン ソース ダイアグラム ライブラリです。かなり長い間更新されていませんが、一見の価値はあります。再利用できるものがあるかもしれません。

http://www.dalssoft.com/diagram/

于 2008-11-26T10:09:47.810 に答える
1

マネージド コードのみに制限されていますか?

私にはこの制限がなく、GraphViz と .Net を効果的に統合しました。私たちが行ったことは、ネイティブにコンパイルされた「ドット」を含む外部プロセスを呼び出し、結果を .Net オブジェクト モデルで解析することでした。それは完璧に機能し、私たちのニーズを満たすのに十分な速さでした.

今日の C++/CLI を使えば、もっとうまく簡単にできるはずです。

于 2008-11-27T19:24:51.153 に答える