/** * 保存第一步结果信息 * */ #ifndef TRAINDIVIDEENGINE_H #define TRAINDIVIDEENGINE_H #include "AppCommon.h" #include "EngineBase.h" #include "EngineFactory.h" #include "json/json.h" class TrainDivideEngine : public ai_matrix::EngineBase { public: TrainDivideEngine(); ~TrainDivideEngine(); APP_ERROR Init() override; APP_ERROR DeInit() override; APP_ERROR Process() override; private: void InitParam(); void dealTrainSpaceInfo(std::shared_ptr pInferenceResultData, SingleData &singleData); void dealCenterSpace(std::vector &vecParationInfo, std::shared_ptr pInferenceResultData); void makeParationInfo(PartionInfo ¶tionInfo, std::shared_ptr pInferenceResultData, SingleData &singleData); void splitTrainByNumPro(PartionInfo &partionInfo, std::shared_ptr &pInferenceResultData); void divideTrain(PartionInfo &partionInfo); std::string strPort0_; std::string strPort1_; ai_matrix::BaseConfig baseConfig_; ai_matrix::IdentifyConfig identifyConfig_; ai_matrix::DataSourceConfig dataSourceConfig_; uint32_t iPushSpaceFrameId_; uint64_t i64TimeStampFirst_; std::vector vecParationInfo_; bool bPushIsEnd_; PartionInfo parationInfoLast_; bool bDealCenterFlag_; std::map mapNumCenterInfo_; std::map mapProCenterInfo_; bool bHaveHeadFlag_; CalculateInfo headInfo_; int iTrainIndex = 0; // 当前车次车厢划分结果 std::vector vecTrainDivideInfo; }; ENGINE_REGIST(TrainDivideEngine) #endif