You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "Defines.h"
|
|
|
|
|
|
#include "IxSerDes.h"
|
|
|
|
|
|
#include "mAlgDefines_global.h"
|
|
|
|
|
|
|
|
|
|
|
|
// 动态表皮相关
|
|
|
|
|
|
class M_ALG_DEFINES_EXPORT iDynSkinInfo : virtual public IxSerDes
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
iDynSkinInfo();
|
|
|
|
|
|
~iDynSkinInfo();
|
|
|
|
|
|
|
|
|
|
|
|
// 序列化
|
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
// 参数传递
|
|
|
|
|
|
void setActive(bool b);
|
|
|
|
|
|
void setKB(double dK, double dB);
|
|
|
|
|
|
void setBaseQ(double dBaseQ);
|
|
|
|
|
|
bool isActive(){ return m_bActive; }
|
|
|
|
|
|
double getK(){ return m_dK; }
|
|
|
|
|
|
double getB(){ return m_dB; }
|
|
|
|
|
|
double getBaseQ(){ return m_dBaseQ; }
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
// 所有流量数值
|
|
|
|
|
|
void setAllQs(VecDouble& vec);
|
|
|
|
|
|
// 当前是否正在获取动态的表皮模式(开关)
|
|
|
|
|
|
// 只有在计算历史压力曲线时,才设置为true
|
|
|
|
|
|
void setHistRunning(bool b);
|
|
|
|
|
|
bool isHistRunning();
|
|
|
|
|
|
// 当前操作的流动段索引,为了获取前一流量
|
|
|
|
|
|
void setHistSegIndex(int n);
|
|
|
|
|
|
// 获取当前流动段索引对应的表皮
|
|
|
|
|
|
bool getDynSkin(double& dS, int nSegIndex = -1);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
// 过程变量,不涉及序列化
|
|
|
|
|
|
VecDouble m_vecQs;
|
|
|
|
|
|
bool m_bHistRunning;//是否正在计算历史曲线
|
|
|
|
|
|
int m_nHistSegIndex;//当前计算的流动段索引
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
// 涉及序列化
|
|
|
|
|
|
bool m_bActive; //是否启用,整个处理解释过程,是否采用变表皮
|
|
|
|
|
|
double m_dK; //斜率k
|
|
|
|
|
|
double m_dB; //截距b
|
|
|
|
|
|
double m_dBaseQ;//起初流量,其实就是选择的流动段的前一流量
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|