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/nmNum/nmData/nmDefines.h

171 lines
5.7 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 <QString>
#include "nmDataLogFile.h"
// 数值试井绘图对象类型,王老师版本
//enum NM_Obj_Type_Ex {
// NMOT_Point = 0, //点, 原本NOT开头但容易造成误解改为NMOT
// NMOT_Line, //线
// NMOT_Polygon, //多边形
// NMOT_Fault, //断层,其实就是多条折线,或者说不封闭的多边形
// NMOT_Limit, //边界范围,其实也是多边形
// NMOT_Fracture, //裂缝
// NMOT_Other, //其它
// NMOT_Unknown
//};
// 数值试井绘图对象类型
enum NM_Obj_Type {
NMOT_Point = 0, // 点
NMOT_Point_Well, // 井
NMOT_Line, // 线
NMOT_Polygon, // 多边形
NMOT_PolygonOutline, // 边界
NMOT_Line_Fracture, // 裂缝
NMOT_Line_Fault, // 断层
NMOT_Line_MeasuringScale,// 比例尺
NMOT_Rect, //矩形
NMOT_RectOutline, //矩形边界
NMOT_Round, //圆形
NMOT_RoundOutline, //圆形边界
NMOT_Region, //区域
NMOT_Delete, //删除
NMOT_RegionMark, // 区域标记
NMOT_Line_Measure, // 测量距离
NMOT_Other, // 其它
NMOT_UNKNWON,
// 以下是王老师版本
NMOT_Fault, //断层,其实就是多条折线,或者说不封闭的多边形
NMOT_Limit, //边界范围,其实也是多边形
NMOT_Fracture, //裂缝
};
// 边界类型
enum NM_Data_Outline_Type {
NM_Round_Outline_Type = 0, // 圆形
NM_Rect_Outline_Type, // 矩形
NM_Polygon_Outline_Type, // 多边形
};
// 多相流的类型
enum NM_PHASE_TYPE {
PHASE_Oil, // 油
PHASE_Gas, // 气
PHASE_Water, // 水
PHASE_UNKNOWN, // 其它
PHASE_Oil_Water // 油水
};
// 工程井井别。数值模块保存其只读副本,并将井别对应相作为历史曲线参考相。
// Oil/Gas/Water 的数值与 ZxDataWell::getWellTypeIndex() 保持一致;真实多相流量独立保存。
enum NM_WELL_CATEGORY {
NM_WellCategory_Unknown = -1,
NM_WellCategory_Oil = 0,
NM_WellCategory_Gas = 1,
NM_WellCategory_Water = 2
};
inline bool nmIsValidWellCategory(NM_WELL_CATEGORY eWellCategory)
{
return eWellCategory == NM_WellCategory_Oil ||
eWellCategory == NM_WellCategory_Gas ||
eWellCategory == NM_WellCategory_Water;
}
// 工程压力/流量测量记录的解析状态。损坏与空记录仍保留在列表中;
// 解析成功后,是否可参与计算仍需按记录内容进一步判断。
enum NM_GAUGE_RECORD_STATUS {
NM_GaugeRecord_Usable, // 数据解析成功,是否可参与计算需进一步判断
NM_GaugeRecord_Empty, // 主/多相字节块均为空,不算数据损坏
NM_GaugeRecord_Corrupt, // 字节块解析失败或 X/Y 长度不一致
NM_GaugeRecord_InvalidIdentity // Gauge Code 为空或在同一口井内重复
};
// 结构树节点类型
enum NM_TREE_TYPE {
TREE_OilReservoir, // 油藏节点
TREE_Data, // 数据节点
TREE_Mesh, // 网格节点
TREE_Solve, // 求解节点
TREE_Postprocessing,// 后处理节点
TREE_UNKNOW, // 其它
};
// 结构树油藏子节点
enum NM_TREE_OIL_RESERVOIR_TYPE {
TREE_Oil_Reservoir_Outline, // 边界节点
TREE_Oil_Reservoir_Well, // 井节点
TREE_Oil_Reservoir_Fault, // 断层节点
TREE_Oil_Reservoir_Crack, // 裂缝节点
TREE_Oil_Reservoir_Region, // 区域节点
TREE_Oil_Reservoir_Region_UNKNOW, // 其它
};
// 油藏边界类型
enum NM_OIL_RESERVOIR_OUTLINE_TYPE {
OIL_Reservoir_Outline_No_Flow, // 封闭
OIL_Reservoir_Outline_Constant_Pressure, // 定压
OIL_Reservoir_Outline_UNKNOW, // 其它
};
// 裂缝流动模型
enum NM_OIL_RESERVOIR_CRACK_FLOW_MODEL {
OIL_Reservoir_Crack_Flow_Infinite_Conductivity, // 无限导流
OIL_Reservoir_Crack_Flow_Finite_Conductivity, // 有限导流
OIL_Reservoir_Crack_Flow_UNKNOW, // 其它
};
// 断层流动模型
enum NM_OIL_RESERVOIR_FAULT_FLOW_MODEL {
OIL_Reservoir_Fault_Flow_Leaky, // 渗透
OIL_Reservoir_Fault_Flow_Composite_Limit, // 复合极限
OIL_Reservoir_Fault_Flow_UNKNOW, // 其它
};
// 区域流动模型
enum NM_REGION_FLOW_MODEL {
Leaky, // 可渗透
Composite_Limit, // 复合区界线
Infinite_Conductivity, // 无限导流能力
Finite_Conductivity, // 有限导流能力
};
enum NM_WELL_MODEL {
Vertical_Well,
Vertical_Fractured_Well,
Horizontal_Fractured_Well,
Unknow_Well, //不是井(PEBI里的裂缝)
};
// 对于Rect对象的HitTest模式
enum RectPos {
TOPLEFT = 0,
TOP,
TOPRIGHT, //2
RIGHT,
BOTTOMRIGHT, //4
BOTTOM,
BOTTOMLEFT, //6
LEFT,
INNER,
OUTER
};
namespace nmDataModelType {
// 数据模型类型定义
const QString sTypeNumDataDemo = "zx_NumDataDemo";
const QString sTypeNumDataOilReservoirOutline = "zx_NumDataOilReservoirOutline";
const QString sTypeNumDataExample = "zx_NumDataExample";
const QString sTypeNumDataLayer = "zx_NumDataLayer";
}
namespace nmDataTableName {
// 数据模型类型定义
const QString sTableNumDataDemo = "N_DATA_OIL_DEMO";
const QString sTableNumDataOilReservoirOutline = "N_DATA_OIL_RESERVOIR_OUTLINE";
const QString sTableNumDataExample = "N_DATA_OIL_EXAMPLE";
const QString sTableNumDataLayer = "N_DATA_OIL_LAYER";
}
#define NM_DATA_LOG_FILE(x) nmDataLogFile::getInstance()->writeLog(x)