在C#中建立基于过滤器的图框架

本文关键字:过滤器 框架 建立 | 更新日期: 2023-09-27 17:57:39

我需要朝着正确的方向推动一下。

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

该框架应该像处理视频的DirectShow框架一样处理数据。一些组件产生数据(例如文件读取器或传感器),一些组件处理数据(例如加法、平均值),而一些组件呈现数据(例如,文件编写器或图表绘制控件)。组件/节点使用边/线进行连接。

节点可以有多个输入(汇点)和输出(源点)。该框架应该包含允许构建过滤图的基类。使用该框架的应用程序必须子类化才能实现实际的源、转换和渲染组件。

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

我正在寻找提示,参考资料和示例代码,使我能够编码的框架。谢谢

更新:Pipes.NET看起来很有前景。

更新:数据流是一个相关的术语。

在C#中建立基于过滤器的图框架

我想您可以使用QuickGraph来满足所有图形需求。如果没有任何内置算法可用,那么始终可以简单地在树上进行迭代,并在此过程中调用您想要的任何自定义逻辑。