|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "iModelInfoBase.h"
|
|
|
|
|
|
|
|
|
|
|
|
/*-- 20260626针对干扰模型新增,以方便后期更好地维护
|
|
|
|
|
|
目的:就是在常规解析模型业已配置的基础上,针对干扰模型,允许进行再次调整
|
|
|
|
|
|
前提:1.干扰的模型,在常规解析模型中,业已配置:包括井型、储层、边界(如果支持)、井储(如果支持)
|
|
|
|
|
|
2.干扰的模型,是通过在常规解析模型中,增加Flag标识来完成的,即:flagInterfere = 0x00000002
|
|
|
|
|
|
举例: Alias="无限大" Tips="" ExtID ="Bdy00001" Flags="35" FlagDescs="1多层+2干扰+32小信号" />
|
|
|
|
|
|
3.如果本处未配置,则干扰模型自动走解析模型配置的参数
|
|
|
|
|
|
4.干扰的模型,如果后续支持边界或井储,二者涉及的参数,不再额外配置
|
|
|
|
|
|
配置说明:
|
|
|
|
|
|
1.WelModel/ResModel分别对应井型/储层类型ID,支持;间隔连续配置
|
|
|
|
|
|
2.ParasAll,重置常规解析模型配置的所有参数(井储/边界除外)
|
|
|
|
|
|
3.ParasAdd,在常规解析模型配置参数基础上追加参数
|
|
|
|
|
|
4.ParasRemove,在常规解析模型配置参数基础上删除参数
|
|
|
|
|
|
--//*/
|
|
|
|
|
|
class I_XMLMANAGER_EXPORT iModelExtInfoInterfere : public iModelInfoBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
iModelExtInfoInterfere();
|
|
|
|
|
|
~iModelExtInfoInterfere();
|
|
|
|
|
|
|
|
|
|
|
|
// 检测是否包括
|
|
|
|
|
|
bool checkDefinesOf(const QString sWel, const QString sRes);
|
|
|
|
|
|
|
|
|
|
|
|
// 进行参数校正
|
|
|
|
|
|
bool adjustParasOf(const QString sWel, const QString sRes, \
|
|
|
|
|
|
QStringList& listParas);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
// 解析xml节点到List
|
|
|
|
|
|
virtual void parseInfo(const QDomElement& e);
|
|
|
|
|
|
|
|
|
|
|
|
// 把List分配到成员变量
|
|
|
|
|
|
// 输入开始的m_listValues中index,并且返回下一个index
|
|
|
|
|
|
virtual int allocateInfo(int nIndex);
|
|
|
|
|
|
|
|
|
|
|
|
// 序列化
|
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
virtual void initXmlTags();
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
// xml解析的数据项
|
|
|
|
|
|
QStringList m_listWels; //井型,支持多个,以;分割
|
|
|
|
|
|
QStringList m_listRess; //油藏类型,支持多个,以;分割
|
|
|
|
|
|
|
|
|
|
|
|
QStringList m_listParasAll; //重置常规解析模型配置的所有参数(井储/边界除外)
|
|
|
|
|
|
QStringList m_listParasAdd; //在常规解析模型配置参数基础上追加参数
|
|
|
|
|
|
QStringList m_listParasRemove; //在常规解析模型配置参数基础上删除参数
|
|
|
|
|
|
|
|
|
|
|
|
QMap<QString, QString> m_mapSubItems; //配置的类似nf之类的子项,其中value为;逗号分割的QString
|
|
|
|
|
|
};
|