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.

49 lines
1.4 KiB
C++

#ifndef TRACK_INSYMBOL_H
#define TRACK_INSYMBOL_H
#pragma once
class CInTrackDepthSegment;
class AFX_EXT_CLASS CInTrackSymbol : public CInTrackDepthSegment
{
public:
CInTrackSymbol();
CInTrackSymbol(const CRect8& position);
virtual ~CInTrackSymbol() {}
CLONE_WELLOBJECT(CInTrackSymbol)
virtual void operator=(CInTrackSymbol& object);
public:
int m_nKind; // 0居中 1横纵都拉伸 2横向拉伸 3纵向拉伸
CString m_strName; // 符号名称
CSize8 m_Size; // 符号大小
CXy* m_pMarkSymbol; // 符号指针
// Implementation
public:
virtual void Serialize(CArchive& ar, const short &ver);
virtual void DrawSymbol(CXyDC* pDC, CRect8 rect, int kind=1, CSize8 size=CSize8(1,1));
virtual void DrawSymbol(CXyDC* pDC, CRect8 rect, double rotatedAngle,int kind=1, CSize8 size=CSize8(1,1));
virtual void Draw(CXyDC* pDC);
//获取斜井状态下岩性符号对应的左右井边界,供TrackLithObj computedata(),BuidChildObject()调用
virtual bool CalcInclinedBorder();
void SetSymbolName(CString symbolName);
protected:
//绘制斜井深度段
void DrawInclined(CXyDC* pDC);
void DrawSymbolInclined(CXyDC* pDC, int kind=1, CSize8 size=CSize8(1,1));
//左右边线中点
dfPoint m_ptL;
dfPoint m_ptR;
CCurveEx m_rotaRectCurve;
void DrawRect(CXyDC *pDC,CRect8 showRect);
public:
virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack);
virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum);
};
#endif