#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