#ifndef DATACLUSTER_H #define DATACLUSTER_H #include "commoninclude.h" #define PI 3.14 extern iv::Ivlog * gIvlog; class DataCluster { public: DataCluster(); ~DataCluster(); // QByteArray bameta; // QByteArray baframe; private: //map QMutex mMutexNavi; std::vector m_navigation_data; qint64 mnNaviUpdateTime = 0; //gps QMutex mMutexGPS; //fusion QMutex mMutexFusion; iv::fusion::fusionobjectarray mfusionarray; std::string mvobsStype[3] = {"Car","Pedestrian","Others"}; bool mbfusionUpdate = false; //chassis float mfSOC = 0; //plantTrace QMutex mMutexPlan,mMutexPlanLeft,mMutexPlanRight; std::vector m_plan,m_plan_left,m_plan_right; //lidar pc QMutex mMutexPointCloud; pcl::PointCloud mpointCloud; /******** ShareMem section START *******/ void * mpamaptrace = Q_NULLPTR; void * mpagpsimu = Q_NULLPTR; void * mpalidarpc = Q_NULLPTR; void * mpafusion = Q_NULLPTR; void * mpabrain = Q_NULLPTR; void * mpachassis = Q_NULLPTR; void * mpacanstate = Q_NULLPTR; void * mpaVechicleState = Q_NULLPTR; void * mpaplantrace = Q_NULLPTR; void * mpaplantrace_left = Q_NULLPTR; void * mpaplantrace_right = Q_NULLPTR; void UpdateMap(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateGPSIMU(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateLidarPc(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateFusion(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateDecition(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateChassis(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateCanSt(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdateVehicleState(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdatePlanTrace(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdatePlanTraceLeft(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); void UpdatePlanTraceRight(const char * strdata,const unsigned int nSize,const unsigned int index, \ const QDateTime * dt,const char * strmemname); /********ShareMem section END*******/ /********Json Frame Data Section Start *******/ QJsonObject fillPoseData(); //填充障碍物数据 QJsonObject fillObsData(); //填充障碍物预瞄点 QJsonObject fillTrackPoint(); //填充站该无标签数据 QJsonObject fillObsLabel(); //填充预测轨迹数据 QJsonObject fillTrajectory(); //填充车辆预瞄轨迹数据 QJsonObject fillVehTrajectory(); //填充序列曲线数据 QJsonArray fillTimeSeries(); QJsonObject fillPrimitives(); QJsonObject fillPrimitivesTest(); QJsonObject fillLidarPC(); QJsonObject fillMapTrace(); public: QJsonObject fillFrame(); /********Json Frame Data Section END *******/ }; #endif // DATACLUSTER_H