2011-05-26 27 views
2

我需要在正確的方向上進行一點推動。在C#中設置基於過濾器的圖形框架

我想在C#中編寫一個框架,使我可以創建處理(主要是數字)數據的圖形。我一直在尋找正確的命名方式,以及其他具有相同目標的項目,但沒有找到令人滿意的結果。我很確定這樣的代碼已經存在,我不想完全重新發明輪子。此外,更有經驗的程序員可能會使用技術(模板,接口,...),我很樂意通過檢查他們的代碼來學習。

該框架應該處理數據非常類似於DirectShow框架處理視頻。一些組件產生數據(例如文件讀取器或傳感器),一些組件處理數據(例如,添加,平均)以及一些組件呈現數據(例如文件寫入器或圖表繪製控制)。組件/節點使用邊/線連接。

節點可以有多個輸入(接收器)和輸出(源)。框架應該包含允許構建過濾器圖的基類。使用該框架的應用程序必須繼承以實現實際的源代碼,轉換和呈現組件。

舉例:GPS設備產生經度和緯度值(2個輸出引腳)。計算器將這些值轉換爲笛卡爾座標。下一個組件需要兩個連續的座標並計算距離。

我在尋找使我能夠編寫框架的技巧,參考資料和示例代碼。謝謝!

更新:Pipes.NET看起來很有希望。

更新:Dataflow是一個相關術語。

回答

0

我想你可以使用QuickGraph來滿足你所有的圖形需求。如果沒有使用任何內置算法,則始終可以遍歷該樹並調用所需的任何自定義邏輯。

+0

謝謝Morten。我會檢查QuickGraph。我是「圖表」的新手,並且我的印象是大多數圖形庫和工具並不打算構建數據處理網絡。希望我錯了! – 2011-05-26 10:41:35