-
Notifications
You must be signed in to change notification settings - Fork 0
/
widget.h
58 lines (49 loc) · 1.25 KB
/
widget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QFileDialog>
#include <QMessageBox>
#include <memory>
#include <iostream>
#include "drawlabel.h"
#include "gui/addition_dialog.h"
#include "math/vector3d.h"
#include "commands/add_model_command.h"
#include "commands/render_command.h"
#include "commands/yaw_camera_command.h"
#include "commands/roll_camera_command.h"
#include "commands/pitch_camera_command.h"
#include "commands/move_camera_command.h"
#include "commands/remove_model_command.h"
#include "commands/light_edit_command.h"
#include "commands/mirror_edit_command.h"
#include "exceptions/file_open_exception.h"
#include "exceptions/camera_lack_exception.h"
#include "facade/viewer_facade.h"
#include "render/qt_drawer.h"
namespace Ui {
class Widget;
}
using facade::ViewerFacade;
using math::Vector3d;
class Widget : public QWidget {
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget() override;
public slots:
void add();
void render();
void remove();
void move();
void rotate();
void change_light();
void change_mirrow();
private:
Ui::Widget *ui;
DrawLabel *_draw_label;
QImage _pixmap;
std::unique_ptr<ViewerFacade> _facade;
size_t _elements_num;
};
#endif // WIDGET_H