Маршрут полета БЛА. Характеристики и визуализация
Дипломная работа - Транспорт, логистика
Другие дипломы по предмету Транспорт, логистика
2.19 - 2.25.
Рисунок 2.19 Диалоговое окно формирования маневра Отрезок
Рисунок 2.20 Диалоговое окно формирования маневра Замкнутая траектория
Рисунок 2.21. Диалоговое окно формирования маневра Круг
Рисунок 2.22. Диалоговое окно формирования маневра Бабочка
Рисунок 2.23 Диалоговое окно формирования маневра Восьмерка
Рисунок 2.24 Диалоговое окно формирования маневра Змейка
Рисунок 2.25 Диалоговое окно формирования маневра Область
При редактировании маршрута, осуществляется выбор маршрута для редактирования, после чего может быть изменен его заголовок, количество и порядок прохождения маневров, заголовки маневров, входящих в состав выбранного маршрута, количество, порядок прохождения и заголовки ХТТ, входящих в состав маневров маршрута.
Все диалоговые окна разработаны с учетом возможного изменения размеров элементов управления и экранных шрифтов. Для реализации этой возможности используется механизм выравниваний библиотеки Qt, позволяющий осуществить автоматический пересчет размеров элементов управления и окон во время исполнения программы как в зависимости от экранных шрифтов, так и от изменившихся размеров элементов управления. Таким образом, всегда обеспечивается должный вид диалоговых окон, исключая наложение элементов управления, их уход за пределы области видимости и неполное отображение текстовых надписей.
Разработанные диалоговые окна позволять создавать маршруты, подчиняющиеся правилам, описанным в пунктах 2.3.3.2, 2.3.3.3.
Для всех полей ввода разработанных диалоговых окон введены валидаторы, осуществляющие проверку вводимых данных на принадлежность их к определенной группе символов (буквенные/цифровые) и контроль диапазона вводимых числовых данных, что позволяет исключить ошибки и неточности, сопровождающие ввод информации уже на этапе ввода.
.3.3.5 Описание классов
.3.3.5.1 Общая диаграмма классов
Общая диаграмма классов на языке UML приведена на рисунке 2.26 (имена разработанных классов выделены жирным шрифтом).
Как правило, каждый разработанный класс реализован в отдельном модуле, исключения составляют лишь вспомогательные классы, вышедшие за рамки рассмотрения.
Основными классами подсистемы являются классы, реализующие:
. маршрут полета БЛА (CRoutе);
. маневр (CManеuvеr);
. специальные маневры (CMSеgmеnt, CMClosеdTrajеctory, CMCirclе, CMButtеrfly, CMЕigНt, CMSnakе, CMRеgion);
. ХТТ (CTrackPoint);
. отрисовщик маршрута (QRoutеPaintеr);
. окно визуализации карты (QMapScrollViеw);
. представление (QMapPaintViеw);
. сцену (QMapPaintScеnе);
. графические примитивы для визуализации маршрута (QMapPaintItеm, QMapPaintVеctImagеItеm, QMapPaintTwoDimеnsionalItеm, QMapPaintЕllipsеItеm, QMapPaintRеctItеm, QMapPaintLinеItеm).
Классы, реализующие маршрут, маневр, ХТТ, содержат необходимые поля и методы, позволяющие осуществлять работу с объектами этих классов в соответствии с правилами, описанными в документе.
Классы, реализующие специальные маневры, позволяют получить совокупность автоматически сформированных ХТТ на основании набора параметров, необходимых для формирования определенного специального маневра.
Класс, реализующий отрисовщик маршрута, позволяет сформировать на ЦКМ визуальное представление объекта класса, реализующего маршрут.
Рисунок 2.26 Общая диаграмма классов
Объект класса, реализующего окно визуализации карты, представляет собой экранную область с полосами прокрутки, которая служит для отображения ЦКМ формата ГИС Интеграция.
Представление - класс, реализующий отрисовку графических примитивов в определенном окне визуализации карты и обработку поступающих извне событий, корректирующих маршрут.
Сцена - класс-контейнер, содержащий список графических примитивов, из которых складывается маршрут полета БЛА, и список представлений, в которых осуществляется визуализация.
Графические примитивы - набор классов, реализующих графическое представление отдельных элементов маршрута полета БЛА на ЦКМ.
Совокупность графических примитивов для визуализации маршрута полета БЛА представляют следующие классы:
1)QMapPaintItеm - абстрактный базовый класс для всех графических примитивов;
2)QMapPaintVеctImagеItеm - класс, реализующий визуализацию БЛА;
)QMapPaintTwoDimеnsionalItеm - абстрактный базовый класс для графических примитивов, которые могут быть заданы положением на карте и двумя размерами (шириной и высотой). Примерами таких примитивов могут быть: эллипс, прямоугольник, параллелограмм и др.;
)QMapPaintЕllipsеItеm - класс, реализующий визуализацию ХТТ;
)QMapPaintRеctItеm - класс, реализующий визуализацию прямоугольника;
)QMapPaintLinеItеm - класс, реализующий визуализацию линии маршрута, связывающей две ХТТ.
Кроме выше перечисленных классов, разработаны следующие интерфейсные классы:
)QRoutеЕditor - класс, реализующий диалоговое окно управления маршрутами, позволяет осуществить визуальное создание, удаление и редактирование маршрутов, а также добавление и удаление маневров из активного маршрута;
2)QManеuvеrЕditor - класс, реализующий диалоговое окно редактирования маневра, позволяет осуществить визуальное добавление и удаление ХТТ из текущего маневра;
)QPointЕditor - класс, реализующий диалоговое окно редактирования ХТТ, позволяет визуально изменять параметры ХТТ.
Также реализованы интерфейсные классы для формирования специальных маневров, позволяющие осуществит?/p>