#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 m_mapSubItems; //配置的类似nf之类的子项,其中value为;逗号分割的QString };