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.

98 lines
2.7 KiB
C++

#ifndef TRACK_SYMBOLOBJ_H
#define TRACK_SYMBOLOBJ_H
#pragma once
/*****************************************************************************
符号道类
主要函数列表:
********************************************************************************/
class AFX_EXT_CLASS CTrackSymbol : public CInclinedTrack
{
public:
CTrackSymbol();
CTrackSymbol(const CRect8& position);
virtual ~CTrackSymbol();
CLONE_WELLOBJECT(CTrackSymbol)
virtual void operator=(CTrackSymbol& object);
protected:
DWORD m_nTrackSymbolFlags; //符号道开关状态
// 符号道Flags
enum TrackSymbolFlags
{
TrackSymbolFlagMark = 0x0001 // 显示标注
};
void Init();
// Implementation
public:
CString m_strName; //名称
int m_nSizeWidth; //散点图式大小
int m_nSize; //散点大小
public:
virtual void AddObjChild(); //创建沉积构造及含有物对象
virtual void Serialize(CArchive& ar, const short &ver);
virtual void CalcBorders();
//开关变量值
virtual void SetTrackSymbolFlags(DWORD flags);
virtual void SetShowMark(BOOL bFlag);
virtual DWORD GetTrackSymbolFlags();
virtual BOOL IsShowMark();
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);
void SetAllSymbolShowMode(int mode);
public:
//PCG格式读写
//读pcg格式的道
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_SelfSection(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格式的道
virtual void WritePCG_Trace(CFile &fw,int nBaseTabNum);
//写pcg格式的道内数据
virtual void WritePCG_Data(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_SelfSection( CKXmlParse& xp, const short& ver);
virtual int ReadPCG_DataSection(CKXmlParse& xp, const short& ver);
//读pcg格式的数据
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
public:
virtual void GetChildDatas(CString& jsonStr);
virtual BOOL SetChildDatas(CString& jsonStr);
};
#endif