JoKeRooo7 / QT_3D_viewer_cpp

RUS: С целью обучения был реализован 3D viewer , для визуализации 3D объектов

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QT 3D viewer

Implemented in order to study the QT framework, pattern design, reading 3D objects from a file, rendering in OpenGL.

The 3D viewer implements an application data separation scheme - MVC

Implemented only for linux and macOS systems.

The norms of [Google style c++] have been observed(https://google.github.io/styleguide/cppguide.html )

view

Implemented by Marcus

It is represented by inherited classes from the QT libraries for processing button signals and displaying information and QOpenGLWidget for displaying an object

model

The model is represented by various files, the main of which is - model.cc . This file is needed to pull polygons with vertices from the file and link between all other files.

The reading model from the file is broken according to the [facade] pattern(https://refactoring.guru/ru/design-patterns/facade )

model_afine_transfer.cc - is divided into files, where inside itself, it uses the [strategy] pattern to rotate objects in space(#https://refactoring.guru/ru/design-patterns/strategy )

controller

Implemented as a class calculator_controller.cc , according to the pattern singleton. It is needed to link the code between the view and the model, it also catches exceptions from polish_notation.cc .

Assembly

The assembly is carried out using the Makefile, it is enough to be in this directory and write make install in the terminal, it will create a folder build and it will contain an application ready to run.

About

RUS: С целью обучения был реализован 3D viewer , для визуализации 3D объектов


Languages

Language:C++ 95.0%Language:Makefile 3.4%Language:QMake 1.6%