Описание модуля рабочей поверхности Назначение и характеристика модуля Подсистема предназначена для работы с двухмерной графикой и является рабочим полотном для пользователя. Отправляет на печать текущий план эвакуации. Служит контейнером для свойств каждого элемента. Предлагает пользователю следующие функции при работе с файлом:
- сохраняет и загружает текущий проект в xml файл. Функция быстрого сохранения позволяет при помощи нажатие на сочетание клавиш “ctrl+s” сохранить файл, но для этого необходимо, чтобы система работала с файлом, т.е. либо открыть его или сохранить через пункт в меню «Сохранить как»;
- предоставляет возможность загрузки растрового или векторного изображения.
Описание алгоритма сохранения
Рассмотрим пример сохранения на нескольких объектах, т.к. процесс одинаковый для всех, лишь с тем отличием, что сохраняются разные свойства (рис 2.1).
получить файл;
создать тэг size и записать его атрибуты width и height;
закрыть тэг size;
для каждого объекта на сцене пройтись по списку всех элементов;
создать и записать тэг Item;
создать указатель на объект DiagramDraItem;
если diagItem == 6;
Type = ”Room”;
создать тэг Property;
создать переменные – итераторы для обхода списка;
пока переменные – итераторы не равны концу списка в пункт 12, иначе в 12;
если текущий объект найдет в списке в пункт 13, иначе в 11;
записать соответствующий атрибут;
Схема алгоритма сохранения Рис.2.1
Продолжение Рис. 2.1
Описание модуля инструментария Назначение и характеристика модуля Подсистема предоставляет пользователю инструменты для отображает физических объектов на рабочем полотне в виде чертежа. Реализованы такие инструменты, как лифт, помещение, стена, окно, лестница, дверь. Каждый элемент имеет свойства, которые необходимо выбрать или ввести пользователю.
Характеристика инструмента «Лифт»
Предназначен для черчения лифта. Содержит свойства: тип лестницы (простая или с лестничной площадкой).
Характеристика инструмента «Помещение»
Предназначен для черчения различных помещений. Пользователю необходимо выбрать тип помещения, для того чтобы произвести расчет пожарной нагрузки (см. таблицу 2.1.). Такой подход к расчету пожарной нагрузки позволяет снизить ошибки ввода данных пользователем.
Таблица 2.1
Свойства помещения
Тип помещения
| Подтип помещения
| Учебные аудитории
| Лекционная аудитория
Аудитория для практических занятий
| Компьютерные классы
| Компьютерный класс (15 комп.)
| Спортивные помещения
| Большой спортивный зал
Вне Университета
Гимнастический зал
Зал аэробики
Раздевалка
Тренажёрный зал
| Продолжение таб. 2.1
| 1
| 2
| Специализированные учебные аудитории
| Военная кафедра
Специализированная лаборатория
Специализированная мастерская
Мастерская рисунка, живописи, по проектированию
Мастерская скульптуры
|
| Мастерская по обработке материалов (дерево)
Мастерская по обработке материалов (металл)
Швейная мастерская
Лингафонный кабинет
Телестудия
| Учебно-вспомогательные помещения
| Актовый зал
Зал заседаний
Читальный зал
Абонемент
Фонд, архив
Музей
| Административные (офисные) помещения
| Кабинет руководителя
Кабинет сотрудника
Общая преподавательская
Помещение структурного подразделения
|
|
|
| Продолжение таб. 2.1
| 1
| 2
| Научно-исследовательские помещения
| Аспирантская
НИЛ (*)
| Служебные помещения
| АТС
Гараж (бокс)
Гараж (бокс-ремонтный)
Бойлерная
Буфет
Вахта
Венткамера
Гардероб
Касса
Кинопроекторная
Коридор, лестничная клетка, холл
Котельная (дрова, уголь, газ)
Лифт, лифтовая шахта
Медицинский пункт
Подсобное помещение
Подсобное помещение структурного подразделения
Производственное помещение
Санузел
Серверная
Склад (по типу назначения)
Столовая
Электрощитовая
| Характеристика инструмента «Стена»
Предназначен для черчения стен. Стены могут быть несущие или внутренние.
Характеристика инструмента «Дверь»
Предназначен для черчения дверей. Имеет свойства следующие свойства:
- площадь (м2);
- высота (м);
- глубина дверного проема (м);
- внутренняя или внешняя (связывает помещение и выход);
- расстояние z (расстояние от пола предыдущего этажа до пола следующего этажа).
Характеристика инструмента «Окно»
Предназначен для черчения дверей. Имеет свойства следующие свойства:
- площадь (м2);
- высота (м);
- расстояние от пола до окна (м).
Характеристика инструмента «Лестница»
Предназначен для черчения лестниц. Имеет свойства следующие свойства:
- простая или с лестничной площадкой.
Описание алгоритма отрисовки (рис. 2.2.)
создать переменную dx c координатой курсора x2;
создать переменную dy c координатой курсора y2;
создать объект QPainterPath path;
создать объект QPolygonF polygon;
если тип объекта лифт то в пункт 6, иначе в 13;
в path добавить прямую линию с текущей позиции (0,0);
в path добавить прямую линию с текущей позиции (dx, 0);
в path добавить прямую линию с текущей позиции (dx, dy);
в path добавить прямую линию с текущей позиции (0, dy);
в path добавить прямую линию с текущей позиции (0, 0);
установить цвет для фигуры;
конвертировать все линии (path) в многоугольник (polygon) и залить цветом из п.11, перейти в пункт 40;
если тип объекта дверь то в пункт 14, иначе в 18;
в path добавить прямую линию с текущей позиции (0,0);
в path добавить четырех угольник с координатами (0, 0, dx, 10);
установить цвет для фигуры;
конвертировать все линии (path) в многоугольник (polygon) и залить цветом из п.16, перейти в пункт 40;
если тип объекта комната то в пункт 19, иначе в 25;
в path добавить прямую линию с текущей позиции (0,0);
в path добавить прямую линию с текущей позиции (dx, 0);
в path добавить прямую линию с текущей позиции (dx, dy);
в path добавить прямую линию с текущей позиции (0, dy);
в path добавить прямую линию с текущей позиции (0, 0);
установить цвет для фигуры;
конвертировать все линии (path) в многоугольник (polygon) и залить цветом из п.24, перейти в пункт 40;
если тип объекта лестница то в пункт 27, иначе в 34;
в path добавить прямую линию с текущей позиции (0,0);
в path добавить прямую линию с текущей позиции (dx, 0);
в path добавить прямую линию с текущей позиции (dx, dy);
в path добавить прямую линию с текущей позиции (0, dy);
в path добавить прямую линию с текущей позиции (0, 0);
установить цвет для фигуры;
конвертировать все линии (path) в многоугольник (polygon) и залить цветом из п.32, перейти в пункт 40;
если тип объекта стена то в пункт 34, иначе в 39;
в path добавить прямую линию с текущей позиции (0,0);
в path добавить четырех угольник с координатами (0, 0, dx, 10);
установить цвет для фигуры;
конвертировать все линии в многоугольник и залить цветом из п.16, перейти в пункт 40;
polygon = 0;
нарисовать фигуру;
Список условных обозначений.
При описании данного алгоритма были использованы следующие обозначения:
dx – переменная содержащая текущую координату х курсора;
dy – переменная содержащая текущую координату y курсора;
path – объект библиотечного класса QPainterPath, содержащий операции для рисования;
polygon – объект библиотечного класса QPolygon, содержит векторный контейнер для хранения точек.
Схема алгоритма отрисовки
Рис 2.2
Требования к контрольному примеру Контрольный пример должен содержать снимки экранных форм с панелью инструментов и окном для выбора свойств каждого объекта.
|