mainwindow.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include "myview.h"
  5. #include <QGroupBox>
  6. #include <QComboBox>
  7. #include <QLabel>
  8. #include <QMutex>
  9. #include <pcl/conversions.h>
  10. #include <pcl/point_cloud.h>
  11. #include <pcl/point_types.h>
  12. #include <QTimer>
  13. #include <QSlider>
  14. #include <QCheckBox>
  15. #include <QPushButton>
  16. #include "modulecomm.h"
  17. #include "rawpic.pb.h"
  18. #include "radarobjectarray.pb.h"
  19. #include "object.pb.h"
  20. #include "objectarray.pb.h"
  21. #include "fusionobject.pb.h"
  22. #include "fusionobjectarray.pb.h"
  23. #include "ivpcdview.h"
  24. #include "ivlidarobjview.h"
  25. #include "ivradarview.h"
  26. #include "ivpicview.h"
  27. #include "ivfusionview.h"
  28. #define MAX_SEL 6
  29. namespace Ui {
  30. class MainWindow;
  31. }
  32. class MainWindow : public QMainWindow
  33. {
  34. Q_OBJECT
  35. public:
  36. explicit MainWindow(QWidget *parent = 0);
  37. ~MainWindow();
  38. private:
  39. Ui::MainWindow *ui;
  40. MyView *myview[4];
  41. QGraphicsScene *scene[4];
  42. QGroupBox * mpGroup;
  43. QComboBox * mcbviewsel[4];
  44. int mnSel[4];
  45. private:
  46. void CreateView();
  47. void CreateRightView(QGroupBox * pGroup);
  48. public:
  49. void resizeEvent(QResizeEvent *event);
  50. private:
  51. void AdjustWPos(QSize sizemain);
  52. private slots:
  53. void onComboSel(int index);
  54. void onTimer();
  55. void onChangeWin();
  56. virtual void paintEvent(QPaintEvent *);
  57. private:
  58. QMutex mMutexPic;
  59. iv::vision::rawpic mrawpic;
  60. int mnPicIndex = 0;
  61. int mnPainterPicIndex = 0;
  62. pcl::PointCloud<pcl::PointXYZI>::Ptr mpoint_cloud;
  63. QMutex mMutexPCD;
  64. int mnPCDIndex = 0;
  65. int mnPainterPCDIndex = 0;
  66. iv::radar::radarobjectarray mradar;
  67. QMutex mMutexRADAR;
  68. int mnRADARIndex = 0;
  69. int mnPainterRADARIndex = 0;
  70. iv::lidar::objectarray mlidarobjvec;
  71. QMutex mMutexLidarObj;
  72. int mnLidarObjIndex = 0;
  73. int mnPainterLidarObjIndex = 0;
  74. iv::fusion::fusionobjectarray mfusionobjarray;
  75. QMutex mMutexFusion;
  76. int mnFusionIndex = 0;
  77. int mnPainterFusionIndex = 0;
  78. int mnFix = 100;
  79. public:
  80. void UpdatePic(iv::vision::rawpic pic);
  81. void UpdatePointCloud(pcl::PointCloud<pcl::PointXYZI>::Ptr pc);
  82. void UpdateRADAR(iv::radar::radarobjectarray radarobj);
  83. void UpdateLidarObj(iv::lidar::objectarray lidarobjvec);
  84. void UpdateFusionObj(iv::fusion::fusionobjectarray xfusionobjarray);
  85. void UpdatePicDet(iv::vision::rawpic pic);
  86. private:
  87. void painterPic(int viewindex);
  88. void painterPCD(int viewindex);
  89. void painterRADAR(int viewindex);
  90. void painterLidarObj(int viewindex);
  91. void painterFusion(int viewindex);
  92. void painterPicDet(int viewindex);
  93. void SelectView(int viewindex);
  94. private:
  95. IVLidarObjView * mpLidarView;
  96. IVPCDView * mpPCDView;
  97. IVPicView * mpPicView;
  98. IVRadarView * mpRadarView;
  99. IVFusionView * mpFusionView;
  100. IVPicView * mpPicDetView;
  101. IVView * mpIVView[MAX_SEL];
  102. QCheckBox * mpCheck[3];
  103. QSlider * mpSlider;
  104. };
  105. #endif // MAINWINDOW_H