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.
79 lines
2.3 KiB
C++
79 lines
2.3 KiB
C++
#ifndef TRACKCOREWELLOBJ_H
|
|
#define TRACKCOREWELLOBJ_H
|
|
#pragma once
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//文件 TrackCoreWellObj.h
|
|
//主要功能:
|
|
// 井壁取芯道类
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef std::vector<std::vector<CWellBaseObj*>> DRAWOBJVEC2;
|
|
// 井壁取芯道对象
|
|
class AFX_EXT_CLASS CTrackCoreWell : public CInclinedTrack
|
|
{
|
|
protected:
|
|
//DECLARE_SERIAL(CTrackCoreWell);
|
|
|
|
public:
|
|
CTrackCoreWell();
|
|
CTrackCoreWell(const CRect8& position);
|
|
virtual ~CTrackCoreWell();
|
|
|
|
public:
|
|
|
|
protected:
|
|
DWORD m_nTrackCoreWellFlags; //井壁取芯道开关状态
|
|
// 符号道Flags
|
|
enum TrackCoreWellFlags
|
|
{
|
|
TrackCoreWellFlagLeftArrow = 0x0001, // 取芯符号左箭头
|
|
TrackCoreWellFlagTimes = 0x0002, // 显示取芯次数
|
|
TrackCoreWellFlagClrFill = 0x0004, // 取芯符号颜色填充
|
|
};
|
|
// Implementation
|
|
public:
|
|
|
|
////// 从工区导入数据时创建道内子对象
|
|
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
|
|
/////获取道内对象的具体内容
|
|
void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName);
|
|
|
|
virtual void ResetChildProperties();
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
//virtual void CalcBorders();
|
|
|
|
//开关变量值
|
|
virtual void SetTrackCoreWellFlags(DWORD flags);
|
|
virtual void EnableLeftArrow(BOOL bFlag);
|
|
virtual void EnableTimes(BOOL bFlag);
|
|
virtual void EnableColorFill(BOOL bFlag);
|
|
|
|
virtual DWORD GetTrackCoreWellFlags();
|
|
virtual BOOL IsLeftArrow();
|
|
virtual BOOL IsTimes();
|
|
virtual BOOL IsColorFill();
|
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
|
virtual int ReadPCG_Self(CFile &fr,CXmlParse& xp,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);
|
|
|
|
//void GetDepthCoreWellData(double depth,std::vector<CDrawObj*>&trackInVec,std::vector<int>&tmpNumVec);
|
|
void GetDepthCoreWellData(double depth,DRAWOBJVEC2 &trackInVec2);//将同一深度的取芯数据分类(按照岩性,颜色等数据是否相同进行区分)放到一组二维的vector中
|
|
|
|
virtual int ReadPCG_Self( 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 |