2.2 Структурная модель приложения
Приложение состоит из двух основных сущностей:
а) очередь эмиттеров;
б) оконно-интерфейсная часть;
Сущности, в свою очередь состоят из множества функционально-логических блоков.
Очередь эмиттеров представляет собой программируемый контейнер, предназначенный для хранения параметров набора эмиттеров и их частиц, а также отображения в режиме реального времени. Очередь также определяет режимы смешивания и порядок рисования наборов частиц друг относительно друга. Это позволяет создавать различные эффекты наложения.
Отдельно взятый набор частиц представлен внутренними структурами данных эмиттера. Здесь хранятся все параметры эмиттера и каждой его частицы:
а) для эмиттера:
1) координаты в двумерной декартовой системе;
2) скорость;
3) размеры;
4) значения разброса частиц;
5) стартовая задержка и длительность генерации;
б) для частицы:
1) текстура;
2) время жизни;
3) скорость по осям;
4) гравитация по осям;
5) значения начальных и конечных растяжений;
6) значения начального и конечного цветов по каналам;
Для реализации интерфейсной части были использованы графические объекты вышеописанного межплатформенного движка wxWidgets.
Корневым элементом интерфейсной части является основной фрейм. Основной фрейм служит для расположения фрейма ввода данных, фрейма управления очередью эмиттеров, фрейма вывода. Также основному фрейму принадлежат системное меню, панели инструментов и статуса.
Фрейм ввода данных предназначен для ввода вышеозначенных параметров текущего эмиттера. В редакторе всегда имеется текущий эмиттер, если их число больше нуля. Если же оно равно нулю, инструменты фрейма ввода блокируются. При изменении текущего эмиттера происходит соответствующее обновление данных инструментов фрейма ввода.
Фрейм управления очередью эмиттеров представляет собой панель со схематическим отображением отдельных эмиттеров в виде пиктограмм. К функциям фрейма относятся добавление и удаление эмиттеров, копирование эмиттера со всеми его параметрами, изменение текущего эмиттера, а также порядка прорисовки эмиттеров. Для копирования и удаления эмиттеров при активном фрейме управления очередью можно использовать горячие клавиши (Ctrl+V, Ctrl+X, соответственно).
Фрейм вывода объединяет в себе всю функциональность вывода графических данных приложения. Для максимально быстрого вывода используется низкоуровневая работа с аппаратным обеспечением видеосистемы, осуществляемая посредством драйвера OpenGL. Доступ к платформенно-независимому конвейеру OpenGL осуществляется, в свою очередь, через интерфейс wxWidgets. Именно на уровне фрейма вывода осуществлено связывание оконной системы и функциональности рисования очереди эмиттеров, не зависящей от конкретного окна и работающая с буферами OpenGL. Средства wxWidgets используют для этого те или иные системные библиотеки, в зависимости от целевой платформы. Для Windows это WGL, для Mac OS X – AGL, а также стандартные Carbon (для С++) и Cocoa (Objective С).
Дополнительно фрейм вывода позволяет при помощи мыши перемещать эмиттеры, изменять их размеры. Также поддерживается перенос рабочей (текущей отображаемой) области рисования. Для этого необходимо, во-первых, активировать режим переноса, использовав клавишу Space. Затем, используя мышь, осуществить перенос области в нужном направлении и на необходимое расстояние. Для выхода из режима переноса рабочей области необходимо повторно нажать клавишу Space. Необходимо отметить, что в режиме переноса рабочей области возможности переноса эмиттеров и изменения их размеров отключаются.
Системное меню имеет следующую структуру:
- меню “Файл”, отвечающее за общий сброс, сохранение и загрузку, выход из приложения;
- меню “Очередь”, отвечающее за установку режима отображения эмиттеров (Playback, Loop playback, Static), добавление и удаление текущего эмиттера, копирование эмиттера и набора его параметров, сброс всех эмиттеров;
- меню “Информация”, позволяющее получить информацию о способах использования редактора, а также о разработчике;
Панель инструментов содержит следующие компоненты:
а) функции установки режима отображения эмиттеров:
1) Playback;
2) Loop playback;
2) Static;
б) функции сохранения и загрузки:
1) Save;
2) Load;
в) функции настройки отображения:
1) Back color;
2) Back image;
3) режим смешивания;
Панель статуса имеет два поля: количество отображённых за секунду кадров, число частиц, число примитивов, быстрая подсказка (по ситуации).
Получить информацию о внутренней структуре приложения можно, обратившись к диаграмме классов (Приложение Г).
2.3 Функциональная модель приложения
Разработанный редактор имеет шесть базовых функциональных блоков: настройка очереди эмиттеров, обновление, отображение, ввод/вывод, настройка отображения и работа со справочной системой приложения (в базовой версии сводится к получению общей информации о функциональности редактора и разработчике, впоследствии планируется расширение).
Настройка очереди эмиттеров, в свою очередь, состоит из на набора функций по управлению очередью (добавление эмиттеров, удаление эмиттеров, копирование эмиттеров с переносом их параметров) и набора функций по установке параметров текущего эмиттера и его частиц.
Функция отображения реализует вывод на экран создаваемых эффектов.
Функции ввода и вывода позволяют пользователю сохранять текущий проект, а именно – данные о эмиттерах и о дополнительных параметрах отображения, на внешний носитель, и загружать проекты, которые были сохранены ранее.
Функции настройки отображения состоят в установке дополнительных параметров отображения (перечисленных в предыдущем подразделе).
Получить более детальную информацию о множестве и структуре интерфейсных функций приложения можно, обратившись к диаграмме вариантов использования (Приложение Д). На ней отображена декомпозиция крупнейших интерфейсных блоков. Диаграмма позволяет в наглядной форме представить набор действий, осуществляемых пользователем, которыми определяется работа редактора.
... Разновидности компьютерной графики Двумерная графика Двумерная компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно, компьютерную графику разделяют на: · векторную · растровую, · фрактальную Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на ...
... ; - статические физические перегрузки; - перенапряжение зрительных анализаторов. Работник обязан: - выполнять только ту работу, которая определена его должностной инструкцией. - содержать в чистоте рабочее место. - соблюдать режим труда и отдыха в зависимости от продолжительности, вида и категории трудовой деятельности. - соблюдать меры пожарной безопасности. Рабочие места с компьютерами ...
... информации и ее достоверность, что необходимо для эффективного планирования и управления. 1.3 Информационная технология проектирования автоматизированного рабочего места и эргономика аппаратных и программных средств АРМ В современных условиях автоматизированные рабочие места не создаются с нуля. В экономике практически на всех уровнях управления и во всех экономических объектах (от органов ...
... ПК, доли ед. Кнак.пк 0,01 Потребляемая мощность ПК, кВт/ч N 0,2 Стоимость кВт/ч, тыс, руб. Ц 0,001 Коэффициент затрат на ремонт ПК (от стоимости), доли ед. Крем.пк 0,1 Размер компьютерного парка предприятия-разработчика, шт. n 4 Коэффициент рентабельности предприятия-разработчика, долиед. r 0,1 Ставка НДС, доли ед. НДС 0,18 Таблица 6.2 – Данные для расчета трудоемкости ...
0 комментариев