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.
105 lines
3.4 KiB
C++
105 lines
3.4 KiB
C++
#ifndef TRACKRESULTOBJ_H
|
|
#define TRACKRESULTOBJ_H
|
|
#pragma once
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//主要功能:
|
|
// 解释结果道类
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
class AFX_EXT_CLASS CTrackResult : public CInclinedTrack
|
|
{
|
|
protected:
|
|
//DECLARE_SERIAL(CTrackResult);
|
|
|
|
public:
|
|
CTrackResult();
|
|
CTrackResult(const CRect8& position);
|
|
virtual ~CTrackResult();
|
|
CLONE_WELLOBJECT(CTrackResult)
|
|
virtual void operator=(CTrackResult& object);
|
|
|
|
int m_nKind; // 符号画法
|
|
int m_nType; // 符号类型
|
|
protected:
|
|
DWORD m_nTrackResultFlags; // 解释道开关状态
|
|
// 解释道Flags
|
|
enum TrackResultFlags
|
|
{
|
|
TrackResultFlagMark = 0x0001, // 显示标注
|
|
TrackResultFlagArrange = 0x0002, // 竖直标注
|
|
TrackResultFlagLeftAlign = 0x0004, // 符号左边界对齐
|
|
|
|
TrackResultFlagChildTrans = 0x0008, // 子对象透明
|
|
};
|
|
|
|
// Implementation
|
|
public:
|
|
|
|
virtual void AddObjChild(); //创建解释结果对象
|
|
virtual void ResetChildProperties(); //重设解释结果子对象属性
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
virtual void CalcBorders();
|
|
|
|
//开关变量值
|
|
virtual void SetTrackResultFlags(DWORD flags);
|
|
virtual void SetShowMark(BOOL bFlag);
|
|
virtual void SetLeftAlign(BOOL bFlag);
|
|
virtual void SetMarkArrange(BOOL bFlag);
|
|
|
|
virtual void SetChildTrans(BOOL bFlag);
|
|
|
|
virtual DWORD GetTrackResultFlags();
|
|
virtual BOOL IsShowMark();
|
|
virtual BOOL IsLeftAlign();
|
|
virtual BOOL IsMarkArrange();
|
|
|
|
virtual BOOL IsChildTrans();
|
|
|
|
////从工区导入数据时创建道内子对象
|
|
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
|
|
////获取道内对象的具体内容
|
|
virtual void GetChildDatas(StringVectorSet &dataContent ,BOOL bHaveWellName = TRUE);
|
|
virtual void GetChildDatas(CString& jsonStr);
|
|
virtual BOOL SetChildDatas(CString& jsonStr);
|
|
public:
|
|
//读解释结论道属性
|
|
virtual int ReadPCG_Self(CFile &fr,CXmlParse& xp,const short& ver );
|
|
|
|
//读pcg格式的数据
|
|
virtual int ReadPCG_Data(CFile &fr,const short& ver);
|
|
|
|
//读解释结论道属性多井对比模块下
|
|
virtual int ReadPCG_SelfTraceSection(CFile &fr,CXmlParse& xp,const short& ver);
|
|
|
|
//读多井对比pcg格式的数据
|
|
virtual int ReadPCG_DataSection(CFile &fr,const short& ver);
|
|
|
|
//写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);
|
|
//读pcg格式的数据
|
|
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
|
|
//读解释结论道属性多井对比模块下
|
|
virtual int ReadPCG_SelfTraceSection(CKXmlParse& xp, const short& ver);
|
|
//读多井对比pcg格式的数据
|
|
virtual int ReadPCG_DataSection(CKXmlParse& xp, const short& ver);
|
|
|
|
virtual void ReadWellTableData(BOOL bDelOldDataObj = TRUE);
|
|
virtual void SetDataRefID(CString tableId, CString colId);
|
|
virtual void InTrackObjBindDataRow(BOOL bSerialize);
|
|
//virtual void NotfiyDeleteInTrackObj(CString tableId, CString ChangColId, CWellBaseObj* pDelObj);
|
|
//virtual void RemoveChild(CWellBaseObj*);
|
|
//virtual void AddChild(CWellBaseObj* pNewObj);
|
|
virtual void NotifyInTrackObjChangeTopBottom(CString ChangColId,VARINTARR *RowData, double top, double bottom);
|
|
};
|
|
|
|
|
|
#endif |