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

1 month ago
#ifndef TRACKLITHOBJ_H
#define TRACKLITHOBJ_H
#pragma once
//////////////////////////////////////////////////////////////////////////////
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// <09><><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD>
/////////////////////////////////////////////////////////////////////////////
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);
//<2F>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>
BOOL UniteLith(CPoint2D downpt,CPoint2D uppt);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>
BOOL InsertLith(CPoint2D downpt,CPoint2D uppt);
virtual void AddObjChild(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>Ŷ<EFBFBD><C5B6><EFBFBD>
virtual void Serialize(CArchive& ar, const short &ver);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD>
virtual void CalcBorders();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD>
virtual void ComputeSize(CPoint2D point);
virtual void ResetChildProperties();
////// 2015.9.17 <20>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
////// 2015.8.26 <20><>ȡ<EFBFBD><C8A1><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName = TRUE);
public:
int m_nWidthLitho; //<2F><><EFBFBD>Է<EFBFBD><D4B7>ſ<EFBFBD><C5BF>Ȱٷֱ<D9B7>
int m_nWidthColor; //<2F><>ɫ<EFBFBD>п<EFBFBD><D0BF>Ȱٷֱ<D9B7>
int m_nWidthOil; //<2F><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>Ȱٷֱ<D9B7>
int m_nThick; //<2F><>λ<EFBFBD><CEBB><EFBFBD>ź<EFBFBD><C5BA><EFBFBD>(mm)
protected:
DWORD m_nTrackLithFlags; // <20><><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>״̬
// <20><><EFBFBD>Ե<EFBFBD>Flags
enum TrackLithFlags
{
TrackLithFlagClr = 0x0001, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
TrackLithFlagOil = 0x0002, //<2F><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TrackLithFlagWidth = 0x0004, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>
TrackLithFlagSingle = 0x0008, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD><C5B3><EFBFBD>
TrackLithFlagRightOil = 0x0010, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
TrackLithFlagFit = 0x0020, //<2F>̶<EFBFBD><CCB6><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>Ŵ<EFBFBD>С
TrackLithFlagIncrementOil = 0x0040, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TrackLithFlagShowLith = 0x0080 // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
};
public:
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ֵ
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();
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
virtual int ReadPCG_Self(CFile& fr,CXmlParse& xp,const short& ver);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD>Զྮ<D4B6>Ա<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>
virtual int ReadPCG_SelfTraceSection(CFile &fr,CXmlParse& xp,const short& ver);
virtual int ReadPCG_DataSection(CFile &fr,const short& ver);
//<2F><>pcg<63><67>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual int ReadPCG_Data(CFile &fr,const short& ver);
//<2F>°<EFBFBD>pcg<63><67>ȡwelltraceͷ
virtual int ReadPCG_TraceSelf(CXmlParse& xp);
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD>
virtual void WritePCG_Trace(CFile &fw,int nBaseTabNum);
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void WritePCG_Data(CFile &fw,int nBaseTabNum);
virtual void WritePCG_Ext(CFile &fw,int nBaseTabNum);
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD>
virtual void WritePCG_TraceSection(CFile &fw,int nBaseTabNum);
//дpcg<63><67>ʽ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void WritePCG_DataSection(CFile &fw,int nBaseTabNum);
/////////////////////////////////////////////////////////////////
public:
virtual int ReadPCG_Self( CKXmlParse& xp, const short& ver);
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD>Զྮ<D4B6>Ա<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>
virtual int ReadPCG_SelfTraceSection( CKXmlParse& xp, const short& ver);
virtual int ReadPCG_DataSection(CKXmlParse& xp, const short& ver);
//<2F><>pcg<63><67>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
//<2F>°<EFBFBD>pcg<63><67>ȡwelltraceͷ
virtual int ReadPCG_TraceSelf(CKXmlParse& xp);
public:
virtual void GetChildDatas(CString& jsonStr);
virtual BOOL SetChildDatas(CString& jsonStr);
};
#endif