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.
122 lines
3.7 KiB
C++
122 lines
3.7 KiB
C++
#ifndef TRACKLITHOBJ_H
|
|
#define TRACKLITHOBJ_H
|
|
#pragma once
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//主要功能:
|
|
// 岩性道类
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
class CInclinedTrack;
|
|
class AFX_EXT_CLASS CTrackLith : public CInclinedTrack
|
|
{
|
|
protected:
|
|
void Init();
|
|
|
|
public:
|
|
CTrackLith();
|
|
CTrackLith(const CRect8& position);
|
|
~CTrackLith();
|
|
|
|
// Implementation
|
|
public:
|
|
virtual void Draw(CXyDC* pDC);
|
|
//合并岩性符号
|
|
BOOL UniteLith(CPoint2D downpt,CPoint2D uppt);
|
|
//插入岩性符号
|
|
BOOL InsertLith(CPoint2D downpt,CPoint2D uppt);
|
|
|
|
virtual void AddObjChild(); //创建岩性符号对象
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
//计算子对象数据,边界多边形等
|
|
virtual void CalcBorders();
|
|
//设置曲线对象
|
|
virtual void ComputeSize(CPoint2D point);
|
|
|
|
virtual void ResetChildProperties();
|
|
////// 2015.9.17 从工区导入数据时创建道内子对象
|
|
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
|
|
////// 2015.8.26 获取道内对象的具体内容
|
|
void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName = TRUE);
|
|
|
|
public:
|
|
int m_nWidthLitho; //岩性符号宽度百分比
|
|
int m_nWidthColor; //颜色列宽度百分比
|
|
int m_nWidthOil; //试油列宽度百分比
|
|
int m_nThick; //单位符号厚度(mm)
|
|
|
|
protected:
|
|
DWORD m_nTrackLithFlags; // 岩性道开关状态
|
|
|
|
// 岩性道Flags
|
|
enum TrackLithFlags
|
|
{
|
|
TrackLithFlagClr = 0x0001, //符号颜色
|
|
TrackLithFlagOil = 0x0002, //绘制含油气性
|
|
TrackLithFlagWidth = 0x0004, //控制岩性宽度
|
|
TrackLithFlagSingle = 0x0008, //单个符号充填
|
|
TrackLithFlagRightOil = 0x0010, //含油气性显示在道左边
|
|
TrackLithFlagFit = 0x0020, //固定岩性符号大小
|
|
TrackLithFlagIncrementOil = 0x0040, //含油气性增宽
|
|
TrackLithFlagShowLith = 0x0080 // 显示岩性
|
|
};
|
|
|
|
public:
|
|
//开关变量值
|
|
virtual void SetTrackLithFlags(DWORD flags);
|
|
virtual void SetSingle(BOOL bFlag);
|
|
virtual void SetShowColor(BOOL bFlag);
|
|
virtual void SetShowOil(BOOL bFlag);
|
|
virtual void SetWidth(BOOL bFlag);
|
|
virtual void SetFit(BOOL bFlag);
|
|
virtual void SetRightOil(BOOL bFlag);
|
|
virtual void SetIncrementOil(BOOL bFlag);
|
|
virtual void SetShowLith(BOOL bFlag);
|
|
|
|
virtual DWORD GetTrackLithFlags();
|
|
virtual BOOL IsSingle();
|
|
virtual BOOL IsShowColor();
|
|
virtual BOOL IsShowOil();
|
|
virtual BOOL IsWidth();
|
|
virtual BOOL IsFit();
|
|
virtual BOOL IsRightOil();
|
|
virtual BOOL IsIncrementOil();
|
|
virtual BOOL IsShowLith();
|
|
|
|
//读岩性道属性
|
|
virtual int ReadPCG_Self(CFile& fr,CXmlParse& xp,const short& ver);
|
|
//读岩性道属性多井对比模块下
|
|
virtual int ReadPCG_SelfTraceSection(CFile &fr,CXmlParse& xp,const short& ver);
|
|
virtual int ReadPCG_DataSection(CFile &fr,const short& ver);
|
|
|
|
//读pcg格式的数据
|
|
virtual int ReadPCG_Data(CFile &fr,const short& ver);
|
|
//新版pcg读取welltrace头
|
|
virtual int ReadPCG_TraceSelf(CXmlParse& xp);
|
|
|
|
//写pcg格式的道
|
|
virtual void WritePCG_Trace(CFile &fw,int nBaseTabNum);
|
|
//写pcg格式的道内数据
|
|
virtual void WritePCG_Data(CFile &fw,int nBaseTabNum);
|
|
virtual void WritePCG_Ext(CFile &fw,int nBaseTabNum);
|
|
//写pcg格式的道
|
|
virtual void WritePCG_TraceSection(CFile &fw,int nBaseTabNum);
|
|
//写pcg格式的道内数据
|
|
virtual void WritePCG_DataSection(CFile &fw,int nBaseTabNum);
|
|
/////////////////////////////////////////////////////////////////
|
|
public:
|
|
virtual int ReadPCG_Self( CKXmlParse& xp, const short& ver);
|
|
//读岩性道属性多井对比模块下
|
|
virtual int ReadPCG_SelfTraceSection( CKXmlParse& xp, const short& ver);
|
|
virtual int ReadPCG_DataSection(CKXmlParse& xp, const short& ver);
|
|
|
|
//读pcg格式的数据
|
|
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
|
|
//新版pcg读取welltrace头
|
|
virtual int ReadPCG_TraceSelf(CKXmlParse& xp);
|
|
|
|
public:
|
|
virtual void GetChildDatas(CString& jsonStr);
|
|
virtual BOOL SetChildDatas(CString& jsonStr);
|
|
};
|
|
|
|
#endif
|