Модуль специализированной векторной графики

Евгений17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
22.05.2008

Необходимо разработать средство для визуализации технологического процесса управления системой, представляющей из себя связанные между собой объекты. Визуализация подразумевает рисование связного графа, его визуального редактирования и предоставления событийной модели для интерактивного взаимодействия пользователя с отрисованными объектами. Реализация в виде подключаемого модуля к существующему приложению, имеющему встроенную БД, где хранится вся необходимая исходная информация.

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

Более подробные ТТ после предварительного собеседования и просмотра портфилио.

Рассматриваются предложения только от групп разработчиков, имеющих опыт программирования векторной графики.

ОС: Windows XP SP3, Vista SP1.

Среда разработки: Си или Delphi (предпочтительно второе, т.к. сама программа написана на Delphi).

Сроки: от 1 до 3 месяцев.

Возможно использование сторонних движков (как платных так и бесплатных).