Train_Identify/nvidia_ascend_engine/common_engine/MergerEngine/MergerAllEngine.h

56 lines
1.2 KiB
C++

/**
* 所有识别信息合并Engine
* */
#ifndef MERGERALLENGINE_H
#define MERGERALLENGINE_H
#include "AppCommon.h"
#include "MyYaml.h"
#include "EngineBase.h"
#include "EngineFactory.h"
#include "myutils.h"
class MergerAllEngine : public ai_matrix::EngineBase
{
public:
MergerAllEngine();
~MergerAllEngine();
APP_ERROR Init() override;
APP_ERROR DeInit() override;
APP_ERROR Process() override;
private:
//初始化参数信息
void InitParam();
//push结果
void PushData(std::shared_ptr<Train> pTrain);
int QueueHaveDataCount();
std::string strPort0_;
std::string strPort1_;
std::string strPort2_;
std::string strPort3_;
std::map<std::string, bool> mapPopPort_; //[key-获取数据端口; value-端口是否使用]]
int iPopPortCnt_ = 0;
std::queue<std::shared_ptr<void>> queuePort0_;
std::queue<std::shared_ptr<void>> queuePort1_;
std::queue<std::shared_ptr<void>> queuePort2_;
std::queue<std::shared_ptr<void>> queuePort3_;
int iTrainIndex_;
bool bUploadFlag_;
int iPushDirection_;
std::queue<std::shared_ptr<Train>> queTrain_;
bool bHeadFrontFlag_;
};
ENGINE_REGIST(MergerAllEngine)
#endif