/** * AutomaticServiceDataManager.h * * @brief: 自动驾驶服务数据管理类 * @author: zhanke * @history: 2024-08-01, create file */ #ifndef AUTOMATICSERVICEDATAMANAGER_H #define AUTOMATICSERVICEDATAMANAGER_H #include "AutomaticServiceDefines.h" #include "FieldModelAbstractClass.h" #include "GraphicDefines.h" #include "HSingleton.h" using data::BasePoint; using data::CarModelList; using data::FieldModel; using data::FieldModelList; using data::TeachItemList; using data::TeachPointList; using data::Track; using graphic::AutoPolygon; class AutomaticServiceDataManager { SINGLETON_DECLARE_WITH(AutomaticServiceDataManager); public: BasePoint& basePoint(); FieldModelList& fieldModelList(); TeachItemList& teachPointInfo(); TeachPointList& teachPointParam(); CarModelList& carModel(); Track& lineInfo(); Track& libInfo(); std::vector& upRampFieldList(); std::vector& downRampFieldList(); static std::string handleJson(const char* data, int length); static void replaceStr(std::string& input, std::string replaceFromStr, std::string replaceToStr); private: BasePoint basePoint_; // 全场基准点 FieldModelList fieldModelList_; // 场地模型 TeachItemList teachPointInfo_; // 教学点信息 TeachPointList teachPointParam_; // 教学点参数 CarModelList carModel_; // 车辆模型 Track lineInfo_; // 路线信息 Track libInfo_; // 库位信息 std::vector upRampFieldList_; // 上坡区域 std::vector downRampFieldList_; // 下坡区域 }; #endif // AUTOMATICSERVICEDATAMANAGER_H