Skip to content

Application for viewing 3D wireframe models in C++ in the object-oriented programming paradigm

Notifications You must be signed in to change notification settings

skytecat/3DViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 

Repository files navigation

3DViewer

Резюме

Данная программа предоставляет возможность просмотра 3D модели в каркасном виде. Модели хранятся в файле формата .obj. Примеры моделей хранятся в ../msc/images

Содержание

Информация о проекте

Общая информация

  • Программа разработана на языке C++ стандарта C++17.
  • Программа разработана в соответствии с принципами объектно-ориентированного программирования.
  • Обеспечено полное покрытие unit-тестами модулей, связанных с загрузкой моделей и аффинными преобразованиями.
  • Программа предоставляет возможность:
    • Загружать каркасную модель из файла формата obj (поддержка только списка вершин и поверхностей);
    • Перемещать модель на заданное расстояние относительно осей X, Y, Z;
    • Поворачивать модель на заданный угол относительно своих осей X, Y, Z;
    • Масштабировать модель на заданное значение.
  • В программе реализован графический пользовательский интерфейс, на базе Qt.
  • Программа реализована с использованием паттерна MVC
  • Использованы три различных паттерна проектирования (стратегия, мост, посредник).

Сборка и тестирование

Сборка осуществляется с помощью Makefile,который находится в директории src. Функции для вычислений покрыты unit-тестами.

Цели в Makefile:

install - установить и запустить приложение

uninstall - удалить приложение

clean - очистить каталог от всех файлов, полученных в результате компиляции

brew - установить Homebrew

lcov - установить lcov

test - запустить тесты функций

gcov_report - посмотреть покрытие тестами кода

About

Application for viewing 3D wireframe models in C++ in the object-oriented programming paradigm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published