#ifndef TRACKCOREWELLOBJ_H #define TRACKCOREWELLOBJ_H #pragma once ////////////////////////////////////////////////////////////////////////////// //文件 TrackCoreWellObj.h //主要功能: // 井壁取心道类 ///////////////////////////////////////////////////////////////////////////// typedef std::vector> DRAWOBJVEC2; // 井壁取心道对象 class AFX_EXT_CLASS CTrackCoreWell : public CInclinedTrack { protected: //DECLARE_SERIAL(CTrackCoreWell); public: CTrackCoreWell(); CTrackCoreWell(const CRect8& position); virtual ~CTrackCoreWell(); CLONE_WELLOBJECT(CTrackCoreWell) virtual void operator=(CTrackCoreWell& object); public: double m_DataObjectHeight; protected: DWORD m_nTrackCoreWellFlags; //井壁取心道开关状态 // 符号道Flags enum TrackCoreWellFlags { TrackCoreWellFlagLeftArrow = 0x0001, // 取心符号左箭头 TrackCoreWellFlagTimes = 0x0002, // 显示取心次数 TrackCoreWellFlagClrFill = 0x0004, // 取心符号颜色填充 }; // Implementation public: ////// 从工区导入数据时创建道内子对象 void BuidChildObject(vector &fields, StringVectorSet &datas, BOOL bInit=FALSE); /////获取道内对象的具体内容 void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName); virtual void ResetChildProperties(); virtual void Serialize(CArchive& ar, const short &ver); //virtual void CalcBorders(); //开关变量值 virtual void SetTrackCoreWellFlags(DWORD flags); virtual void EnableLeftArrow(BOOL bFlag); virtual void EnableTimes(BOOL bFlag); virtual void EnableColorFill(BOOL bFlag); virtual DWORD GetTrackCoreWellFlags(); virtual BOOL IsLeftArrow(); virtual BOOL IsTimes(); virtual BOOL IsColorFill(); virtual void Draw(CXyDC* pDC); virtual int ReadPCG_Self(CFile &fr,CXmlParse& xp,const short& ver); //读pcg格式的数据 virtual int ReadPCG_Data(CFile &fr,const short& ver); //写pcg格式的道 virtual void WritePCG_Trace(CFile &fw,int nBaseTabNum); //写pcg格式的道内数据 virtual void WritePCG_Data(CFile &fw,int nBaseTabNum); //void GetDepthCoreWellData(double depth,std::vector&trackInVec,std::vector&tmpNumVec); void GetDepthCoreWellData(double depth,DRAWOBJVEC2 &trackInVec2);//将同一深度的取心数据分类(按照岩性,颜色等数据是否相同进行区分)放到一组二维的vector中 virtual int ReadPCG_Self( CKXmlParse& xp, const short& ver); //读pcg格式的数据 virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver); public: virtual void GetChildDatas(CString& jsonStr); virtual BOOL SetChildDatas(CString& jsonStr); }; #endif