eis/inc/eqpalg/algs/AlgExpCPC.h

59 lines
1.3 KiB
C++

/******************************************************************************************************************
* Action instruction algorithm
*
* arg[0] data determination expression
*
*
*
* 1.0 2020-12-17 zoufuzhou
******************************************************************************************************************/
#ifndef _H_ALGORITHM_CPC_EXPRESSION_H
#define _H_ALGORITHM_CPC_EXPRESSION_H
#include <eqpalg/AlgCommonDefine.h>
#include <eqpalg/algs/AlgExp.h>
#include <glob/MathExpression.h>
#include <zcus/IHDBTools.h>
#include <string>
#include <iostream>
#include <iomanip>
#include <zlib/MemTrk.h>
#include <zlib/coilDef.h>
struct STRING_CPCPDO
{
float offset[2];
string endId;
string endId_saved;
};
class AlgExpCPC:virtual public AlgExp//AlgorithmBase
{
public:
AlgExpCPC(const string name,const Json::Value rulejson, const string ruleid,IHDBTools* ihdb);
virtual ~AlgExpCPC();
public:
virtual int Reload();
virtual int calculate(string& outjson);
protected:
virtual int EquipProd(const string &ruleid,const string &name, const string &msg, HD3TimeRegion& timeRegion);
private:
int ProcCPC(void);
private:
CMemTrk* mp_trk;
string m_entId;
int m_startpos;
int m_endpos;
int m_zone;
STRING_CPCPDO m_cpc;
};
#endif