mainwindow.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <vtkActor.h>
  5. #include <vtkGenericOpenGLRenderWindow.h>
  6. #include <vtkLookupTable.h>
  7. #include <vtkNamedColors.h>
  8. #include <vtkNew.h>
  9. #include <vtkPlatonicSolidSource.h>
  10. #include <vtkPolyDataMapper.h>
  11. #include <vtkProperty.h>
  12. #include <vtkRenderWindow.h>
  13. #include <vtkRenderer.h>
  14. #include <vtkVersion.h>
  15. #include <QSurfaceFormat>
  16. #include <QVTKOpenGLNativeWidget.h>
  17. #include <pcl/visualization/pcl_visualizer.h>
  18. #include <pcl/point_types.h>//各种格式的点的头文件
  19. #include <pcl/io/pcd_io.h>
  20. #include <QKeyEvent>
  21. #include "ars548recv.h"
  22. #include "vtkCubeSource.h"
  23. #if VTK_VERSION_NUMBER >= 89000000000ULL
  24. #define VTK890 1
  25. #endif
  26. #define NUM_DET_MAX 800
  27. #define NUM_OBJ_MAX 50
  28. QT_BEGIN_NAMESPACE
  29. namespace Ui {
  30. class MainWindow;
  31. }
  32. QT_END_NAMESPACE
  33. class MainWindow : public QMainWindow
  34. {
  35. Q_OBJECT
  36. public:
  37. MainWindow(QWidget *parent = nullptr);
  38. ~MainWindow();
  39. public:
  40. void resizeEvent(QResizeEvent *event);
  41. void keyReleaseEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
  42. signals:
  43. void detupdate();
  44. private slots:
  45. void onTimer();
  46. void on_actionReset_Camera_triggered();
  47. void on_actionFull_Screem_triggered();
  48. void onDetUpdate();
  49. void on_actionAll_triggered();
  50. void on_actionObjectAll_triggered();
  51. private:
  52. Ui::MainWindow *ui;
  53. boost::shared_ptr< pcl::visualization::PCLVisualizer > view;
  54. void DrawAxis();
  55. bool mbFull = false;
  56. ars548recv * mprecv;
  57. private:
  58. void threaddet();
  59. void threadobj();
  60. bool mbThreadRun = true;
  61. std::thread * mpthreaddet;
  62. std::thread * mpthreadobj;
  63. iv::radar::radar4ddetectarray mdetarray;
  64. std::mutex mmutexdet;
  65. bool mbdetupdate = false;
  66. iv::radar::radar4dobjectarray mobjarray;
  67. bool mbobjupdate = false;
  68. std::mutex mmutexobj;
  69. std::vector<std::string> mvectordetname;
  70. vtkNew<vtkSphereSource> sphereSource[NUM_OBJ_MAX];
  71. vtkNew<vtkPolyDataMapper> mapper[NUM_OBJ_MAX];
  72. vtkNew<vtkCubeSource> detSource[NUM_DET_MAX];
  73. vtkNew<vtkPolyDataMapper> detmapper[NUM_DET_MAX];
  74. };
  75. #endif // MAINWINDOW_H