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.
nmWTAI-Platform/Include/mAlg/mAlgDefines/iDynSkinInfo.h

59 lines
1.5 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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;//起初流量,其实就是选择的流动段的前一流量
};