#ifndef TRACKINRESULT_H #define TRACKINRESULT_H #pragma once ////////////////////////////////////////////////////////////////////////////// //主要功能: // 解释结果符号类 ///////////////////////////////////////////////////////////////////////////// struct InnerLayerStruct { double fThick; double fTop; }; class CInTrackDepthSegment; class AFX_EXT_CLASS CInTrackResult : public CInTrackDepthSegment { protected: void Init(); public: CInTrackResult(); CInTrackResult(const CRect8& position); //属性结构体 struct PropStruct { int id; double value; }; double m_fValidThick; // 有效厚度 CString m_strLayer; // 层名称 CString m_strResult; // 解释结果(流体) CString m_strLitho; // 岩性解释结果 COLORREF m_fillColor; // 填充颜色 CArray m_propArr; // 属性值 CArray m_InnerLayerArr;////夹层集合 CXy* m_pMarkResult; //结论指针 CXy* m_pMarkLitho; //岩性符号指针 CXy* m_pMarkSymbol; //符号指针 // Implementation protected: DWORD m_nTrackInResultFlags; //分层符号开关状态 //分层符号Flags enum TrackInLayerFlags { TrackInResultFlagSymbol = 0x0001, // 绘制符号 TrackInResultFlagColorAuto = 0x0002, //是否颜色自动 }; public: virtual void Draw(CXyDC* pDC); virtual void Serialize(CArchive& ar, const short &ver); //开关变量值 virtual void SetTrackInResultFlags(DWORD flags); virtual void SetShowSymbol(BOOL bFlag); virtual void SetColorAuto(BOOL bFlag); virtual DWORD GetTrackInResultFlags(); virtual BOOL IsShowSymbol(); virtual BOOL IsColorAuto(); CString GetMarkSymbol(); //获取斜井状态下岩性符号对应的左右井边界,供TrackLithObj computedata(),BuidChildObject()调用 2015-10-19 virtual bool CalcInclinedBorder(); void SetResultName(CString name); protected: //绘制斜井深度段 void DrawInclined(CXyDC* pDC); //左右边线中点 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); int m_tSlotType; //读取pcg文件时的临时变量 }; #endif