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.
69 lines
2.4 KiB
C++
69 lines
2.4 KiB
C++
/**************************************************************************************
|
|
|
|
主要功能:
|
|
地层单位道类
|
|
|
|
**************************************************************************************/
|
|
#ifndef TRACKSTRATUMOBJ_H
|
|
#define TRACKSTRATUMOBJ_H
|
|
#pragma once
|
|
#include "TreeBase.h"
|
|
#include "Data/WellData_SandSet.h"
|
|
|
|
class AFX_EXT_CLASS CTrackStratum: public CInclinedTrack
|
|
{
|
|
|
|
public:
|
|
CTrackStratum();
|
|
virtual ~CTrackStratum();
|
|
CTrackStratum(const CRect8& position);
|
|
CLONE_WELLOBJECT(CTrackStratum)
|
|
virtual void operator=(CTrackStratum& object);
|
|
|
|
public:
|
|
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
|
|
virtual void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName = TRUE);
|
|
virtual void CalcBorders();
|
|
protected:
|
|
|
|
|
|
public:
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
virtual void ResetChildProperties();
|
|
//读pcg格式的道
|
|
virtual int ReadPCG_Self(CFile &fr,CXmlParse& xp,const short& ver);
|
|
//读pcg格式的数据
|
|
virtual int ReadPCG_Data(CFile &fr,const short& ver);
|
|
|
|
virtual int ReadPCG_DataSection(CFile &fr,const short& ver);
|
|
|
|
//写pcg格式的道
|
|
virtual void WritePCG_Trace(CFile &fw,int nBaseTabNum);
|
|
//写pcg格式的道内数据
|
|
virtual void WritePCG_Data(CFile &fw,int nBaseTabNum);
|
|
|
|
public:
|
|
virtual int ReadPCG_Self(CKXmlParse& xp, const short& ver);
|
|
//读pcg格式的数据
|
|
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
|
|
|
|
virtual int ReadPCG_DataSection(CKXmlParse& xp, const short& ver);
|
|
|
|
virtual void RemoveChild(CWellBaseObj*);
|
|
|
|
public:
|
|
virtual void GetChildDatas(CString& jsonStr);
|
|
virtual BOOL SetChildDatas(CString& jsonStr);
|
|
|
|
//virtual void InTrackObjBindDataRow();
|
|
virtual void SetDataRefID(CString tableId, CString colId);
|
|
virtual void NotifyInTrackObjChangeTopBottom(CString ChangColId, CString strLayerName, double top, double bottom, CInTrackDepthSegment* pChangObj);
|
|
|
|
protected:
|
|
void SetInTrackGroup(CWellBaseObj* pWellBase, CWellPole* pWellObj, BOOL bNewAddRow = TRUE); //bNewAddRow= true 此对象需要在井表中建立新数据条
|
|
void GetStratificationNodeTopBottom(CWellPole*pWell,CTreeBase::TreeBaseNode& treeNode, CWellData_SandSet* pDataSandSet,BOOL& bNew,double& top,double& bottom, VARINTARR*& pRowData); //获得从分层数据中获得一个分层节点的顶底深
|
|
|
|
void NotifyInTrackObjChangeTopBottom_ForDerivedClass(CString ChangColId, CString strLayerName, double top, double bottom, CInTrackDepthSegment* pChangObj);
|
|
};
|
|
|
|
#endif |