gldemo
mainwindow.h
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3 
4 #include <QMainWindow>
5 #include <qstandarditemmodel.h>
6 #include <set>
7 #include <qitemselectionmodel.h>
8 #include <qabstractitemmodel.h>
9 #include "pointcloud.h"
10 #include "nanoflann.hpp"
11 #include "HierarchyModel.h"
12 #include "HierarchyObject.h"
13 #include "PointCloudRenderer.h"
14 #include "LineRenderer.h"
15 #include <sstream>
16 #include <glm/gtx/matrix_decompose.hpp>
17 
18 
19 //新窗口
20 #include "recordwindow.h"
21 
22 //保存视频获取时,获取路径
23 #include "QString"
24 #include "QDir"
25 #include "QFileDialog"
26 
27 
28 namespace Ui {
29 class MainWindow;
30 }
31 
32 class MainWindow : public QMainWindow
33 {
34  Q_OBJECT
35 
36 public:
37  explicit MainWindow(QWidget *parent = nullptr);
38  ~MainWindow();
39 
40 
41 private:
48  void showObjectInfo(HierarchyObject* obj);
55  void updateObjectInfo(HierarchyObject* obj);
56 
57 signals:
62  void onRecordVideo2Widget(float speed, bool RecordOrPreview);
67  void offRecordVideo2recordWindow(bool RecordOrPreview);
69  void onSaveVideo2Widget(QString savePath);
71  void offSaveVideo2recordWindow();
72  void mainwindow2skybox(int dayTime);
73 private slots:
74  void on_actionopen_triggered();
75  void onTreeViewCustomContextMenu(const QPoint &);
76 
78  void onTreeViewAddObject();
80  void onTreeViewRemoveObject();
82  void onWidgetSelection(HierarchyObject* obj);
84  void onWidgetTransformEdited(HierarchyObject* obj);
85 
87  void onEdited();
89  void ObjectSelected(const QItemSelection& selected, const QItemSelection& deselected);
90 
92  void drag_solt(QString re_path);
93 
95  void on_actionvideoRecord_triggered();
97  void onRecordVideo1MainWindow(float speed, bool RecordOrPreview);
99  void offRecordVideo1MainWindow(bool RecordOrPreview);
101  void onSaveVideo1MainWindow();
103  void offSaveVideo1MainWindow();
104 
106  void on_actionTranslation_toggled(bool arg1);
108  void on_actionRotate_toggled(bool arg1);
110  void on_actionScale_toggled(bool arg1);
112  void on_actionCursor_toggled(bool arg1);
113 
114  void day_time();
115  void toskybox(int value);
116 private:
117  Ui::MainWindow *ui;
118  QMenu* treeContextMenu;
119  QMenu* treeContextMenuSpace;
120 
121  //QStandardItemModel* hierarchy;
122  //QStandardItem* modelsParent;
123  //QStandardItem* trailsParent;
124 
125  HierarchyModel* hierarchy;
126 
127  PointCloudRenderer* MainWindow::importPointCloud(const QString& path, float initialScale);
128  RecordWindow* record;
129 };
130 
131 #endif // MAINWINDOW_H
Definition: mainwindow.h:28
对场景树的ui显示进行统一的管理
Definition: HierarchyModel.h:19
表示场景树中的节点
Definition: HierarchyObject.h:27
点云渲染器
Definition: PointCloudRenderer.h:57
录制窗口
Definition: recordwindow.h:17
Definition: mainwindow.h:32