2011-05-26 55 views
2

我需要在正确的方向上进行一点推动。在C#中设置基于过滤器的图形框架

我想在C#中编写一个框架,使我可以创建处理(主要是数字)数据的图形。我一直在寻找正确的命名方式,以及其他具有相同目标的项目,但没有找到令人满意的结果。我很确定这样的代码已经存在,我不想完全重新发明轮子。此外,更有经验的程序员可能会使用技术(模板,接口,...),我很乐意通过检查他们的代码来学习。

该框架应该处理数据非常类似于DirectShow框架处理视频。一些组件产生数据(例如文件读取器或传感器),一些组件处理数据(例如,添加,平均)以及一些组件呈现数据(例如文件写入器或图表绘制控制)。组件/节点使用边/线连接。

节点可以有多个输入(接收器)和输出(源)。框架应该包含允许构建过滤器图的基类。使用该框架的应用程序必须继承以实现实际的源代码,转换和呈现组件。

举例:GPS设备产生经度和纬度值(2个输出引脚)。计算器将这些值转换为笛卡尔坐标。下一个组件需要两个连续的坐标并计算距离。

我在寻找使我能够编写框架的技巧,参考资料和示例代码。谢谢!

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

更新:Dataflow是一个相关术语。

回答

0

我想你可以使用QuickGraph来满足你所有的图形需求。如果没有使用任何内置算法,则始终可以遍历该树并调用所需的任何自定义逻辑。

+0

谢谢Morten。我会检查QuickGraph。我是“图表”的新手,并且我的印象是大多数图形库和工具并不打算构建数据处理网络。希望我错了! – 2011-05-26 10:41:35