64 lines
1.7 KiB
C
64 lines
1.7 KiB
C
|
|
/**
|
||
|
|
* 保存第一步结果信息
|
||
|
|
* */
|
||
|
|
|
||
|
|
#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<InferenceResultData> pInferenceResultData, SingleData &singleData);
|
||
|
|
void dealCenterSpace(std::vector<PartionInfo> &vecParationInfo,
|
||
|
|
std::shared_ptr<InferenceResultData> pInferenceResultData);
|
||
|
|
void makeParationInfo(PartionInfo ¶tionInfo, std::shared_ptr<InferenceResultData> pInferenceResultData, SingleData &singleData);
|
||
|
|
|
||
|
|
void splitTrainByNumPro(PartionInfo &partionInfo, std::shared_ptr<InferenceResultData> &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<PartionInfo> vecParationInfo_;
|
||
|
|
bool bPushIsEnd_;
|
||
|
|
|
||
|
|
PartionInfo parationInfoLast_;
|
||
|
|
bool bDealCenterFlag_;
|
||
|
|
|
||
|
|
std::map<uint32_t, float> mapNumCenterInfo_;
|
||
|
|
std::map<uint32_t, float> mapProCenterInfo_;
|
||
|
|
|
||
|
|
bool bHaveHeadFlag_;
|
||
|
|
CalculateInfo headInfo_;
|
||
|
|
|
||
|
|
int iTrainIndex = 0;
|
||
|
|
// 当前车次车厢划分结果
|
||
|
|
std::vector<PartionInfo> vecTrainDivideInfo;
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
ENGINE_REGIST(TrainDivideEngine)
|
||
|
|
|
||
|
|
#endif
|