|
|
#ifndef TRACKDISCRETEOBJ_H
|
|
|
#define TRACKDISCRETEOBJ_H
|
|
|
#pragma once
|
|
|
/*******************************************************************************
|
|
|
文 件 名:TrackDiscreteObj.h
|
|
|
散点曲线类
|
|
|
|
|
|
*********************************************************************************/
|
|
|
|
|
|
#include "Data/DataObj_Discrete.h"
|
|
|
class AFX_EXT_CLASS CTrackDiscrete : public CTrackCurveBase
|
|
|
{
|
|
|
public:
|
|
|
CTrackDiscrete();
|
|
|
virtual ~CTrackDiscrete();
|
|
|
CTrackDiscrete(const CRect8& position);
|
|
|
CLONE_WELLOBJECT(CTrackDiscrete)
|
|
|
virtual void operator=(CTrackDiscrete& object);
|
|
|
|
|
|
public:
|
|
|
CWellDataObj_Discrete m_dataObj; // 散点原始数据
|
|
|
|
|
|
virtual CWellDataObj* GetDataObj() { return &m_dataObj; }
|
|
|
virtual void SetDataObj(CWellDataObj* pData, BOOL bCopy=TRUE);
|
|
|
virtual void GetDataValue(double& dmin, double& dmax);
|
|
|
virtual double GetCurveValue(int index);
|
|
|
virtual double GetCurveDepth(int index);
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
virtual BOOL ReadCurveData(BOOL bInit=TRUE);
|
|
|
|
|
|
//计算斜井曲线上的所有点数组
|
|
|
virtual void ComputePointsInclined();
|
|
|
virtual void ComputePoints();
|
|
|
//画曲线
|
|
|
virtual void DrawCurveLine(CXyDC* pDC,CCurveEx& curve,GDFLOGPENEXT logpen);
|
|
|
|
|
|
//根据深度值获得曲线值
|
|
|
virtual BOOL GetCurveValue(double dDepth, double& dValue, int& nBegin);
|
|
|
///// 从工区导入数据时创建道内子对象
|
|
|
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
|
|
|
////获取道内对象的具体内容
|
|
|
virtual void GetChildDatas(StringVectorSet &dataContent, BOOL bHaveWellName = TRUE);
|
|
|
|
|
|
virtual void BuidChildObject(double *pDepth,double *pData,int datanum,BOOL bInit);
|
|
|
|
|
|
virtual void DrawRod(CXyDC* pDC,CCurveEx& curve,CRect8 rect,GDFLOGPENEXT logpen);
|
|
|
public:
|
|
|
//读pcg格式的数据
|
|
|
virtual int ReadPCG_Data(CFile &fr,const short& ver);
|
|
|
//读取pcg 多井剖面对比中曲线DiscreteStyle
|
|
|
virtual int ReadPCG_SelfSection(CFile &fr,CXmlParse& xp,const short& ver);
|
|
|
//写pcg格式的道内数据
|
|
|
virtual void WritePCG_Data(CFile &fw,int nBaseTabNum);
|
|
|
|
|
|
public:
|
|
|
virtual int ReadPCG_Data(CKXmlParse& xp, const short& ver);
|
|
|
//读取pcg 多井剖面对比中曲线DiscreteStyle
|
|
|
virtual int ReadPCG_SelfSection(CKXmlParse& xp, const short& ver);
|
|
|
public:
|
|
|
virtual void GetChildDatas(CString& jsonStr);
|
|
|
virtual BOOL SetChildDatas(CString& jsonStr);
|
|
|
};
|
|
|
#endif
|