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/iData/iXmlManager/Models/iModelExtInfoInterfere.h

61 lines
2.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 "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
};