Skip to content

Latest commit

 

History

History
34 lines (16 loc) · 2.48 KB

File metadata and controls

34 lines (16 loc) · 2.48 KB

QT 3D viewer

Реализован с целью изучения фреймворка QT, паттерной проектирования, считывания 3D объектов из файла, отрисовки в OpenGL.

В 3D viewer реализована схема разделения данных приложения - MVC

Реализован только для linux и macOS систем.

Соблюдены нормы Google style c++

view

Реализован Marcus

Представлен наследуемыми классами из библиотек QT для обработки сигналов с кнопок и отображения информации и QOpenGLWidget для отображения объекта

model

Модель представлена различными файлами, основным из которых является - model.cc. Этот файл нужнн для стягивания из файла полигонов с вершинами и связи между всеми остальными файлами.

Модель считвания из файла разбит, согласно паттерну фасад

model_afine_transfer.cc - разбит на файлы, где внутри себя, для поворотов объектов в пространстве использует паттерн стратегия

controller

Реализован в виде класса calculator_controller.cc, согласно паттерну singleton. Нужен для связи кода между view и model, также отлавливает исключения из polish_notation.cc.

Cборка

Сборка осуществляется с помощью Makefile, достоаточно находиться в данной директории и написать make install в терминале, он создаст папку build и в ней будет находиться готовое для запуска приложение.