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.

67 lines
2.4 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#ifndef TRACKDISCRETEOBJ_H
#define TRACKDISCRETEOBJ_H
#pragma once
/*******************************************************************************
文 件 名TrackDiscreteObj.h
散点曲线类
主要函数列表:
1virtual void DrawCurveLine(CXyDC* pDC,CCurveEx& curve,GDFLOGPEN logpen);画曲线
2virtual int ReadPCG_Data(CFile &fr,const short& ver);读pcg格式的数据
3virtual int ReadPCG_SelfSection(CFile &fr,CXmlParse& xp,const short& ver);读取pcg 多井剖面对比中曲线DiscreteStyle
*********************************************************************************/
#include "Data/DataObj_Discrete.h"
class AFX_EXT_CLASS CTrackDiscrete : public CTrackCurveBase
{
public:
CTrackDiscrete();
virtual ~CTrackDiscrete();
CTrackDiscrete(const CRect8& position);
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);
////// 2015.9.17 从工区导入数据时创建道内子对象
void BuidChildObject(vector<CString> &fields, StringVectorSet &datas, BOOL bInit=FALSE);
////// 2015.8.26 获取道内对象的具体内容
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