datacluster.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef DATACLUSTER_H
  2. #define DATACLUSTER_H
  3. #include "commoninclude.h"
  4. #define PI 3.14
  5. extern iv::Ivlog * gIvlog;
  6. class DataCluster
  7. {
  8. public:
  9. DataCluster();
  10. ~DataCluster();
  11. // QByteArray bameta;
  12. // QByteArray baframe;
  13. private:
  14. //map
  15. QMutex mMutexNavi;
  16. std::vector<iv::GPSData> m_navigation_data;
  17. qint64 mnNaviUpdateTime = 0;
  18. //gps
  19. QMutex mMutexGPS;
  20. //fusion
  21. QMutex mMutexFusion;
  22. iv::fusion::fusionobjectarray mfusionarray;
  23. std::string mvobsStype[3] = {"Car","Pedestrian","Others"};
  24. bool mbfusionUpdate = false;
  25. //chassis
  26. float mfSOC = 0;
  27. //plantTrace
  28. QMutex mMutexPlan,mMutexPlanLeft,mMutexPlanRight;
  29. std::vector<iv::TracePoint> m_plan,m_plan_left,m_plan_right;
  30. //lidar pc
  31. QMutex mMutexPointCloud;
  32. pcl::PointCloud<pcl::PointXYZI> mpointCloud;
  33. /******** ShareMem section START *******/
  34. void * mpamaptrace = Q_NULLPTR;
  35. void * mpagpsimu = Q_NULLPTR;
  36. void * mpalidarpc = Q_NULLPTR;
  37. void * mpafusion = Q_NULLPTR;
  38. void * mpabrain = Q_NULLPTR;
  39. void * mpachassis = Q_NULLPTR;
  40. void * mpacanstate = Q_NULLPTR;
  41. void * mpaVechicleState = Q_NULLPTR;
  42. void * mpaplantrace = Q_NULLPTR;
  43. void * mpaplantrace_left = Q_NULLPTR;
  44. void * mpaplantrace_right = Q_NULLPTR;
  45. void UpdateMap(const char * strdata,const unsigned int nSize,const unsigned int index, \
  46. const QDateTime * dt,const char * strmemname);
  47. void UpdateGPSIMU(const char * strdata,const unsigned int nSize,const unsigned int index, \
  48. const QDateTime * dt,const char * strmemname);
  49. void UpdateLidarPc(const char * strdata,const unsigned int nSize,const unsigned int index, \
  50. const QDateTime * dt,const char * strmemname);
  51. void UpdateFusion(const char * strdata,const unsigned int nSize,const unsigned int index, \
  52. const QDateTime * dt,const char * strmemname);
  53. void UpdateDecition(const char * strdata,const unsigned int nSize,const unsigned int index, \
  54. const QDateTime * dt,const char * strmemname);
  55. void UpdateChassis(const char * strdata,const unsigned int nSize,const unsigned int index, \
  56. const QDateTime * dt,const char * strmemname);
  57. void UpdateCanSt(const char * strdata,const unsigned int nSize,const unsigned int index, \
  58. const QDateTime * dt,const char * strmemname);
  59. void UpdateVehicleState(const char * strdata,const unsigned int nSize,const unsigned int index, \
  60. const QDateTime * dt,const char * strmemname);
  61. void UpdatePlanTrace(const char * strdata,const unsigned int nSize,const unsigned int index, \
  62. const QDateTime * dt,const char * strmemname);
  63. void UpdatePlanTraceLeft(const char * strdata,const unsigned int nSize,const unsigned int index, \
  64. const QDateTime * dt,const char * strmemname);
  65. void UpdatePlanTraceRight(const char * strdata,const unsigned int nSize,const unsigned int index, \
  66. const QDateTime * dt,const char * strmemname);
  67. /********ShareMem section END*******/
  68. /********Json Frame Data Section Start *******/
  69. QJsonObject fillPoseData();
  70. //填充障碍物数据
  71. QJsonObject fillObsData();
  72. //填充障碍物预瞄点
  73. QJsonObject fillTrackPoint();
  74. //填充站该无标签数据
  75. QJsonObject fillObsLabel();
  76. //填充预测轨迹数据
  77. QJsonObject fillTrajectory();
  78. //填充车辆预瞄轨迹数据
  79. QJsonObject fillVehTrajectory();
  80. //填充序列曲线数据
  81. QJsonArray fillTimeSeries();
  82. QJsonObject fillPrimitives();
  83. QJsonObject fillPrimitivesTest();
  84. QJsonObject fillLidarPC();
  85. QJsonObject fillMapTrace();
  86. public:
  87. QJsonObject fillFrame();
  88. /********Json Frame Data Section END *******/
  89. };
  90. #endif // DATACLUSTER_H