#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include #include #include #include #include #include "gpsimu.pb.h" #include "ndtpos.pb.h" #include "fusiongpsndt.pb.h" #include #include #include #include #include #include #include "modulecomm.h" #include "fusion_gpslidar.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; void CreateView(); void CreateTab1View(QTabWidget * p); void CreateTab2View(QTabWidget * p); void CreateTab3View(QTabWidget * p); void CreateTab4View(QTabWidget * p); public: void resizeEvent(QResizeEvent *event); private: void AdjustWPos(QSize sizemain); private: QTabWidget * mTabMain; int mnCountIndexBase; QLineEdit * mpLEGPS[100],* mpLENDT[100],* mpLEFusion[100],* mpLEGPSSel[100],* mpLENDTSel[100],* mpLEOrigin[100],* mpLEDBOrigin[100]; QGroupBox * mpGroupDB; QComboBox * mpCBPCD; QLineEdit * mpLEMapName; std::vector mvectorPCD; public: iv::gps::gpsimu mgpsimu; iv::lidar::ndtpos mndtpos; iv::fusion::gpsndt mgpsndt; QMutex mMutexFusion,mMutexGPS,mMutexNDT; bool mbgpsimuupdate = false; bool mbndtposupdate = false; bool mbgpsndtupdate = false; bool mbGPSSel = false; bool mbNDTSel = false; fusion_gpslidar * mpfusion_gpslidar; bool mbSelect = false; QProgressBar * mpProgSelect; private: void updateGPS(); void updateNDT(); void updateFusion(); void UpdatePCDVector(); void selectitem(int index); public: void SetGPS(iv::gps::gpsimu xgpsimu); void SetNDT(iv::lidar::ndtpos xndtpos); void SetGPSNDT(iv::fusion::gpsndt xgpsndt); private slots: void onTimer(); void onSelGPS(); void onSelNDT(); void onCALOrigin(); void onSetOrigin(); void onCreateDB(); void onSelectDB(); void onDBAdd(); void onDBRemove(); void onDBChange(); void onDBSel(); void onLoadPCD(); void onSavePCD(); void onFusiondbMsg(const int nMsgID,const char * strmsg); void onMapChange(int index); }; #endif // MAINWINDOW_H