simulationMaster/mainwindow.h
2021-12-23 17:46:55 +08:00

61 lines
1.1 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "myNodeVisitor.h"
#include "MousePicker.h"
#include <QMainWindow>
#include <osgQOpenGL/osgQOpenGLWidget>
#include <osgViewer/Viewer>
struct Item
{
QString name; //符号名称
QString code; //符号代码
QString address; //符号所在的相对路径
bool operator < ( const Item& item) const
{
return this->name < item.name;
}
};
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
void initOsg();
void addModel(QString filename);
void updateModel();
void clearModel();
protected:
void dragEnterEvent(QDragEnterEvent* event = NULL);
void dropEvent(QDropEvent* event);
private:
Ui::MainWindow *ui;
osgQOpenGLWidget* osgWidget = new osgQOpenGLWidget;
osg::Group* root = new osg::Group;
osg::Geode* drawNode = new osg::Geode;
myNodeVisitor nv;
QString filename;
MousePicker* mp;
};
std::string Utf8ToGbk(std::string str);
#endif // MAINWINDOW_H