Модуль специализированной векторной графики
Необходимо разработать средство для визуализации технологического процесса управления системой, представляющей из себя связанные между собой объекты. Визуализация подразумевает рисование связного графа, его визуального редактирования и предоставления событийной модели для интерактивного взаимодействия пользователя с отрисованными объектами. Реализация в виде подключаемого модуля к существующему приложению, имеющему встроенную БД, где хранится вся необходимая исходная информация.
Внешний вид вершин и ребер графа определяется в зависимости от типа. В качестве шаблонов визуального отображения типов используются SVG-картинки. Кроме графа могут отображаться таблицы, графики, диаграммы, произвольные числа из БД. Значения по умолчанию: положения вершин графа, трассы ребер графа, а так же состав, формат и место вывода информации должны быть настраиваемыми. Должна быть возможность использовать подложки в виде векторных или растровых изображений с произвольным размещением и трансформацией. Должны быть реализованы основные функции векторного графического редактора для нанесения на холст графических примитивов, не связанных с объектами из БД. Все отображаемые элементы на холсте (вершины и ребра графа, векторные примитивы и т.д.) должны быть самостоятельными объектами, имеющими событийную модель управления. Действия по нажатию мыши и контекстное меню должны быть настраиваемыми отдельно для каждого типа объекта. На холст может быть выведено в среднем 5000 вершин и 8000 ребер. К каждой вершине и ребру может быть привязано в среднем около 10 цифровых и текстовых меток. При этом, пользователь обычно работает при масштабе, обеспечивающем ему одновременную видимость до 300 вершин на стандартном мониторе и интенсивно использует скроллинг с масштабированием. Должны поддерживаться плавный скроллинг и масштабировние без видимых задержек. Для этого необходима оптимизация вывода видимых объектов, скрытие, объединение мелких. Поддежка слоев, сглаживания линий и текста. С помощью настроек должно быть возможно создать правило для автоматического скрытия части слоев и изменение внешнего вида вершин и ребер графа в зависимости от масштаба. В режиме редактирования необходимо наносить на холст вершины графа из БД с автоматической оптимизированной отрисовкой ребер, оптимизацией "неналожения" объектов и их атрибутов друг на друга. Должны быть функции печати с предпросмотром, а так же экспорта в буфер обмена и в файл в векторном (SVG) и растровом (BMP) форматах с настраиваемой детализацией. Необходимо реализовать гибкий программный интерфейс для управления всей отображаемой информацией.
Более подробные ТТ после предварительного собеседования и просмотра портфилио.
Рассматриваются предложения только от групп разработчиков, имеющих опыт программирования векторной графики.
ОС: Windows XP SP3, Vista SP1.
Среда разработки: Си или Delphi (предпочтительно второе, т.к. сама программа написана на Delphi).
Сроки: от 1 до 3 месяцев.
Возможно использование сторонних движков (как платных так и бесплатных).