#ifndef TRACKINSAMPLE_H #define TRACKINSAMPLE_H #pragma once ////////////////////////////////////////////////////////////////////////////// //文件 CInTrackSample.h //主要功能: // 道内岩样符号类 ///////////////////////////////////////////////////////////////////////////// //岩样符号对象 class CInTrackDepthSegment; class AFX_EXT_CLASS CInTrackSample : public CInTrackDepthSegment { public: CInTrackSample(); CInTrackSample(const CRect8& position); ~CInTrackSample(); CLONE_WELLOBJECT(CInTrackSample) virtual void operator=(CInTrackSample& object); public: CString m_title_name; //岩样名 std::vector m_sampleArr; CString m_strType; //呈现样式、类型 CString m_strMarkType; //标注类型 int m_nMarkCount; //样品标注总数 double m_fDoubleWidth; //双筒岩心宽度 double m_fMarkWidth; //标注宽度 double m_fMarkTextSpace; //标注文本空格 protected: DWORD m_nTrackInSampleFlags; // 岩样开关状态 // 岩样Flags enum TrackInSampleFlags { TrackInSampleFlagSingle = 0x0001, // 单筒显示 TrackInSampleFlagReverseMark = 0x0002, // 反向标注 TrackInSampleFlagSquareBarEnd= 0x0004, // 标注端方形端头 }; // Implementation public: virtual void Draw(CXyDC* pDC); virtual void Serialize(CArchive& ar, const short &ver); //开关变量值 virtual void SetTrackInSampleFlags(DWORD flags); virtual void SetSingle(BOOL bFlag); virtual void SetReverseMark(BOOL bFlag); virtual void SetSquareBarEnd(BOOL bFlag); virtual DWORD GetTrackInSampleFlags(); virtual BOOL IsSingle(); virtual BOOL IsReverseMark(); virtual BOOL IsSquareBarEnd(); void ClearData(); int PCG_ReadSample(CXmlParse& xp,const short &ver,SAMPLESTRUCT* pSample); protected: //绘制斜井深度段 void DrawInclined(CXyDC* pDC); void DrawRect(CXyDC *pDC ,CRect8 showRect); public: int PCG_ReadSample(CKXmlParse& xp, const short &ver, SAMPLESTRUCT* pSample); virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack); virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum); }; #endif