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.

73 lines
2.1 KiB
C++

#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<SAMPLESTRUCT*> 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