|
|
#pragma once
|
|
|
#include <map>
|
|
|
#include <vector>
|
|
|
|
|
|
enum EMarkType
|
|
|
{
|
|
|
MarkNormal, //符号(普通)
|
|
|
MarkFill, //填充(曲线)
|
|
|
MarkLithoMain, //岩性\主名
|
|
|
MarkLithoFront, //岩性\前缀
|
|
|
MarkLithoContent, //岩性\含有物
|
|
|
MarkLithoConstitution, //岩性\构造
|
|
|
MarkLithoOilGas, //岩性\含油气性
|
|
|
MarkLithoColor, //岩性\颜色
|
|
|
MarkResult1, //解释结果(方案1)
|
|
|
MarkResult2, //解释结果(方案2)
|
|
|
MarkResult3, //解释结果(方案3)
|
|
|
MarkBreakStratum, //层尖灭样式(多井)
|
|
|
MarkBreakLitho, //岩性过渡样式(多井)
|
|
|
MarkStratumFluid, //连层(流体)
|
|
|
MarkStratumLitho, //连层(岩性)
|
|
|
MarkChart, //图表
|
|
|
MarkNonPinoutPattern, //非尖灭地层样式
|
|
|
MarkThicknessDef //厚度类型的符号定义
|
|
|
};
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CWellMarkNamesList
|
|
|
{
|
|
|
public:
|
|
|
CWellMarkNamesList(void);
|
|
|
~CWellMarkNamesList(void);
|
|
|
|
|
|
BOOL InitLib(LPCTSTR lpszLibName);
|
|
|
|
|
|
CStringArray* GetWellMark(EMarkType type);
|
|
|
EMarkType GetMarkType(CString str);
|
|
|
CString GetMarkName(EMarkType type);
|
|
|
|
|
|
void GetPerforationLayerType(CStringArray& strArr);
|
|
|
|
|
|
CString GetResultFromValue(CString strValue);
|
|
|
BOOL IsPinoutPattern(CString str); //判断一个地层样式是否尖灭的
|
|
|
CString GetThicknessSymbol(CString strId);
|
|
|
CString GetSymbolForCommonData(CString table, CString colName);
|
|
|
protected:
|
|
|
CStringArray m_strArrNormal;
|
|
|
CStringArray m_strArrFill;
|
|
|
CStringArray m_strArrLithoMain;
|
|
|
CStringArray m_strArrLithoFront;
|
|
|
CStringArray m_strArrLithoContent;
|
|
|
CStringArray m_strArrLithoConstitution;
|
|
|
CStringArray m_strArrLithoOilGas;
|
|
|
CStringArray m_strArrResult;
|
|
|
CStringArray m_strArrBreakBend;
|
|
|
CStringArray m_strArrBreakLitho;
|
|
|
CStringArray m_strArrLithoColor;
|
|
|
CStringArray m_strArrLayerFluid;
|
|
|
CStringArray m_strArrLayerLitho;
|
|
|
CStringArray m_strArrLayerChart;
|
|
|
CStringArray m_strArrPerforationLayerType;
|
|
|
CStringArray m_strArrNonpinoutPattern;
|
|
|
//CStringArray m_strArrThicknessSybDefs;
|
|
|
|
|
|
BOOL m_bInit;
|
|
|
std::map<CString,std::vector<CString>*> m_ResultMaps;
|
|
|
std::map<CString, CString> m_ThicknessSybolMaps;
|
|
|
std::map<CString, CString> m_CommonDataSymbolMaps;
|
|
|
protected:
|
|
|
void ReadInterpretResultsOtherValue();
|
|
|
void ClearInterpretResultsOtherValue();
|
|
|
void ReadSymbolUsageDefinition(CString strPath);
|
|
|
};
|
|
|
|
|
|
//井模块符号名
|
|
|
extern CWellMarkNamesList m_globalWellMark;
|
|
|
extern "C" AFX_EXT_API CWellMarkNamesList * WINAPI AfxGetGlobalWellMarkNamesList();
|
|
|
|