Разработка информационной системы для деканата высшего учебного заведения
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
barПанель инструментовTRzToolbarButtonКнопка на панели инструментовTRzPanelПанель, объединяющая другие компонентыTRzSplitterБегунок, разделяющий две панелиTRzListBoxСписокTRzGroupBarВертикальная панель со сворачиваемыми группамиTRzLabelТекстовая подписьTRzSpinEditЭлемент числового ввода, позволяющий изменять значение с помощью колёсика мыиTRzStatusBarСтрока состоянияTRzSpacerРазделитель на панели инструментовTRzBitBtnКнопка с изображениемTRzComboBoxВсплывающий списокTRzCheckBoxГруппа с выбором нескольких элементовTRzRadioGroupГруппа с выбором одного элементаTRzColorEditЭлемент управления цветомTRzCheckListСписок в выбором элементовTRzEditКомпонент текстового вводаTRzDateTimeEditЭлемент отображения и задания времени и даты
Кроме перечисленных классов в программе используются классы собственной разработки, предназначенные для чтения, хранения и обработки различных данных: как промежуточных, так и непоредственно батиметрических.
Далее в таблице 4.4 представлены названия основных таких классов, а в таблицах 4.5 и 4.6 дано описание их структуры.
Также следует отметить, что каждый модуль реализован в виде одного или нескольких классов, реализующих функциональность, возложенную на данный модуль.
Таблица 4.7 - Главные структуры данных пользователя, использованные в программе
Название классаНазначение в проекте программыpoint2dСтруктура двумерная точка, используется как предок класса трёхмерная точкаpoint3dСтруктура трёхмерная точка, используется как предок классов Vertex и BathPoint, и поле в классах Camera, Cursor, Isoline, Figure, Lamp.cameraКласс камеры. Содержит методы упрощённого управления камерой в проекции OpenGL. Является предком класса control3d.cursorКласс курсора. Сожержит методы получения координат курсора на экране, преобразования их в проекцию OpenGL и обратно. Является предком класса control3dcoltrol3dКласс управления iеной, наследник классов камеры и курсора, управлять просмотром трёхмерного изображения с помощью мыши: вращать, перемещать, масштабировать.AverageLevelКласс, применяемый для расчёта сезонных изменений уровня моря.CamItemЭлемент последовательности камер, входит в качестве поля в класс CameraSequence.CameraSequenceКласс-массив камер, является наследником класса Camera, применяется для создания видеороликов.dinmasОдномерный простой динамический массив. Используется в качестве массива для большинства типов данных.dinmas2dДвумерный простой динамический массив. Используется в качестве массива для батиметрической карты и её текстуры.smartcontОдномерный динамический массив с двойной адресацией. Используется для хранения объектов, содержащих поля типа dinmas и dinmas2d, в частности для списка батиметрических треков и списка камер.TgaHeaderЗаголовок TGA-файла.RGBApixelСтруктура точки в формате TGAtextureКласс, предназначенный для чтения и записи файлов в формате TGA. Применяется как в качестве контейнера текстуры батиметрической карты, так и для сохранения изображений и видео. Является предком класса bath.DoubleTableКласс, позволяющий читать ascii-файл, представляющий собой таблицу из чисел, разделённых табуляцией и создающий на выходе двумерный массив. Применяется для чтения исходных данных.vertexСтруктура "узел батиметрии", основанная на трёхмерной точке.BathPointТочка батиметрического трека.isolineКласс одного отрезка изолинии.figureКласiифры-подписи.OneTriСтруктура треугольника для триангуляции.bathОсновной класс для расчёта батиметрии. Содержит все функции обработки и анализа данных.glWindowКласс API-окна, реализующего вывод OpenGL-графики.lampКласс, упрощяющий работу с освещением в OpenGL.RastrFontКласс, упрощающий работу с выводом текста в среде OpenGL.WorkAreaКласс, предназначенный для чтения параметров текущего экрана.
Таблица 4.8 - Структура point2d
Вид членаОписаниеНазначениеполеdouble xАбiиссаполеdouble yОрдинатаметодpoint2d()Пустой конструкторметодpoint2d(double, double)Конструкторметодbool equal(point2d&)Проверка на равенствометодvoid mix(point2d&)Вычислить среднюю точкуметодdouble angto(point2d&)Получить ориентацию точкиВид членаОписаниеНазначениеполеdouble zАппликатаметодpoint3d()Пустой конструкторметодpoint3d(double, double, double)Конструкторметодbool equal(point3d&)Проверка на равенствометодvoid mix(point3d&)Вычислить среднюю точкуметодbool ataru(point3d&)Попадает ли в точку с радиусом EPSметодdouble zАппликатаВид членаОписаниеНазначениеполеpoint3d posПозицияметодpoint3d startposНачальная позицияметодpoint3d angВектор угла поворотаметодpoint3d startangНачальный вектор угла поворотаметодcamera()Пустой конструкторметодcamera(float, float, float, float, float, float)Конструкторметодvoid view()Применить камеруВид членаОписаниеНазначениеполеfloat xАбiисса в среде OpenGLполеfloat yОрдината в среде OpenGLполеfloat dxТекущая скорость по оси абiисс в среде OpenGLполеfloat dyТекущая скорость по оси ординат в среде OpenGLполеfloat sizeРазмер курсораполеfloat oldXПредыдущая абiисса в среде OpenGLполеfloat oldYПредыдущая ордината в среде OpenGLполеint WinXАбiисса в оконных координатахполеint WinYОрдината в оконных координатахполеint OldWinXПредыдущая абiисса в среде OpenGLполеint OldWinYПредыдущая абiисса в среде OpenGLполеbool RMBНажата правая кнопкаполеbool LMBНажата левая кнопкаполеbool MMBНажата средняя кнопкаметодcursor()Пустой конструкторметодvoid check(int &, int &, int, int)Получить координаты курсораметодvoid putold()Запомнить предыдущие значенияметодvoid view()Отобразить курсорметодvoid PutState(bool, bool, bool)Установить состояние кнопок мышиметодvoid PutState(bool, bool, bool, bool)Установить состояние кнопок мыши с проверкой
Таблица 4.9 - Структура класса coltrol3d, потомок классов camera и cursor
Вид членаОписаниеНазначениеметодcoltrol3d()Пустой конструкторметодcoltrol3d(float, float, float, float, float, float)Конструкторметодvoid view(bool)Установить камеру на текущую позицию в соответствии с курсоромметодv