Настройка основанного на фильтре графического фреймворка в C # - PullRequest
2 голосов
/ 26 мая 2011

Мне нужно немного подтолкнуть в правильном направлении.

Я хочу кодировать фреймворк на C #, который позволяет мне создавать графики, которые обрабатывают (в основном числовые) данные. Я искал правильную номенклатуру и другие проекты с той же целью, но не нашел удовлетворительных результатов. Я почти уверен, что такой код уже существует, и я не хочу полностью изобретать велосипед. Кроме того, более опытные программисты, вероятно, будут использовать методы (шаблоны, интерфейсы, ...), которые я хотел бы изучить, изучая их код.

Фреймворк должен обрабатывать данные так же, как фреймворк DirectShow обрабатывает видео. Некоторые компоненты производят данные (например, считыватель файлов или датчик), некоторые компоненты управляют данными (например, добавляют, усредняют), а некоторые компоненты воспроизводят данные (например, средство записи файла или элемент управления рисованием диаграммы). Компоненты / узлы связаны с использованием ребер / линий.

Узлы могут иметь несколько входов (приемников) и выходов (источников). Структура должна охватывать базовые классы, которые позволяют строить графы фильтров. Приложения, использующие инфраструктуру, должны создавать подклассы для реализации фактических компонентов исходного кода, преобразования и рендеринга.

Пример: устройство GPS выдает значения широты и долготы (2 выходных контакта). Калькулятор преобразует эти значения в декартовы координаты. Следующий компонент берет две последовательные координаты и вычисляет расстояние.

Я ищу советы, ссылки и примеры кода, которые позволяют мне кодировать структуру. Спасибо!

ОБНОВЛЕНИЕ: Pipes.NET выглядит многообещающе.

ОБНОВЛЕНИЕ: Поток данных является соответствующим термином.

1 Ответ

0 голосов
/ 26 мая 2011

Полагаю, вы могли бы использовать QuickGraph для всех ваших потребностей в графике.Если ни один из встроенных алгоритмов не используется, всегда можно просто выполнить итерацию по дереву и вызвать любую пользовательскую логику, которую вы хотите по пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...