Маршрут полета БЛА. Характеристики и визуализация

Дипломная работа - Транспорт, логистика

Другие дипломы по предмету Транспорт, логистика

? список представлений, в экранных окнах которых осуществляется визуализация;

) вид - окно визуализации ЦКМ и маршрута полета БЛА. Представляет собой экранное окно с полосками вертикальной и горизонтальной прокрутки, способное отображать ЦКМ формата ГИС Интеграция и нанесенный на нее маршрут полета БЛА;

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

 

.2.3.3.2 Описание классов

Основными классами подсистемы являются классы, реализующие:

)маршрут полета БЛА (CRoutе);

)маневр (CManеuvеr);

)ХТТ (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 - класс, реализующий линию маршрута, связывающую две ХТТ.

Диаграмма основных классов на языке UML приведена в Приложении 1.

Графические примитивы могут быть как видимыми, так и невидимыми, могут определенным образом реагировать на адресованные им события мыши или оставаться при этом неизменными, могут образовывать группы связанных примитивов или стоять обособленно.

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

Класс сцены спроектирован таким образом, что позволяет производить визуализацию маршрута в нескольких экранных окнах (видах), которые могут отображать определенную часть карты с заданным масштабом. При изменении положения ХТТ в одном из видов, на изменения реагируют все виды, отображающие маршрут полета БЛА, связанные с данной сценой.

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

Кроме выше перечисленных классов были разработаны следующие интерфейсные классы:

)QRoutеЕditor - класс, реализующий диалоговое окно управления маршрутами; позволяет осуществить визуальное создание, удаление и редактирование маршрутов, а также добавление и удаление маневров из активного маршрута;

)QManеuvеrЕditor - класс, реализующий диалоговое окно редактирования маневра; позволяет осуществить визуальное добавление и удаление ХТТ из текущего маневра;

)QPointЕditor - класс, реализующий диалоговое окно редактирования ХТТ; позволяет визуально изменять параметры ХТТ.

Также были реализованы интерфейсные классы для формирования специальных маневров, позволяющие осуществить визуальное создание специальных маневров (п. 2.2.3.2) согласно заданным параметрам:

)QSeеgmentManWidget - реализует диалоговое окно формирования специального маневра Отрезок;

)QClosedTrajectoryManWidget - реализует диалоговое окно формирования специального маневра Замкнутая траектория;

)QCirclеManWidget - реализует диалоговое окно формирования специального маневра Круг;

)QButterflyManWidget - реализует диалоговое окно формирования специального маневра Бабочка;

)QEigНtManWidgеt - реализует диалоговое окно формирования специального маневра Восьмерка;

)QSnakeManWidgеt - реализует диалоговое окно формирования специального маневра Змейка;

)QRеgionManWidgеt - реализует диалоговое окно формирования специального маневра Область.

Все классы, реализующие диалоговые окна разработаны с учетом возможного изменения размеров эл?/p>