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.
106 lines
2.4 KiB
C++
106 lines
2.4 KiB
C++
#pragma once
|
|
|
|
#include "ZxObjPoint.h"
|
|
#include "mGuiPlot_global.h"
|
|
#include "mAlgDefines.h"
|
|
|
|
class ZxDataWell;
|
|
class ZxObjWmPoint;
|
|
class M_GUI_PLOT_EXPORT ZxObjWmData : public QObject,
|
|
virtual public IxSerDes
|
|
{
|
|
Q_OBJECT
|
|
//ZX_DECLARE_DYNAMIC
|
|
|
|
public:
|
|
ZxObjWmData(ZxObjWmPoint* p);
|
|
~ZxObjWmData();
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
public:
|
|
|
|
// 基础数据
|
|
void loadBaseInfos();
|
|
|
|
// 后处理,如距离
|
|
void dealwithInfos();
|
|
|
|
// 从外界传输,仅仅从外界调用
|
|
void setPosX(double f); //坐标X
|
|
double getPosX();
|
|
void setPosY(double f);
|
|
double getPosY();
|
|
void setWellDis(double f); //井间距离
|
|
double getWellDis();
|
|
void setWellSlope(double f);//井间倾斜
|
|
double getWellSlope();
|
|
void setWmLen(double f);//井长
|
|
double getWmLen();
|
|
void setWmDev(double f);//井斜
|
|
double getWmDev();
|
|
void setSegCount(int n);//段数
|
|
int getSegCount();
|
|
void setSegLenV(double n);//裂缝半长
|
|
double getSegLenV();
|
|
|
|
double getItemValueOf(QString s);
|
|
void setItemValueOf(QString s, double f);
|
|
|
|
public:
|
|
|
|
// 是否有效
|
|
bool isDataValid();
|
|
//void setDataValid(bool b);
|
|
|
|
// 类型
|
|
void setWmt(m_Wel_Type o);
|
|
m_Wel_Type getWmt();
|
|
|
|
// 数据获取
|
|
QMap<QString, double>* getMapInfos();
|
|
VVecDouble* getVVecDataF(); //流量数据
|
|
VVecDouble* getVVecDataP(); //压力数据
|
|
|
|
// 本身的ZxDataWell对象
|
|
void setDataObj(ZxDataWell* p);
|
|
ZxDataWell* getDataObj();
|
|
|
|
// 是否中心井
|
|
bool isCenterWmPt();
|
|
void setAsCenterWmPt(bool b);
|
|
|
|
// 中心井
|
|
ZxObjWmPoint* getWmPtC();
|
|
void setWmPtC(ZxObjWmPoint *p);
|
|
|
|
// 设置压力、流量
|
|
bool setDataPF(QVector<QPointF>& vecP, //Pressure Data
|
|
QVector<QPointF>& vecF);
|
|
void setDataP(VVecDouble& vvec);
|
|
void setDataF(VVecDouble& vvec);
|
|
|
|
// 自动添加的部分
|
|
QStringList getDefaultParas();
|
|
|
|
protected:
|
|
|
|
ZxObjWmPoint* m_pWmPt; //本身绑定的对象
|
|
ZxObjWmPoint* m_pWmPtC; //中心井对应的对象
|
|
bool m_bWmPtC; //是否中心井
|
|
bool m_bDataValid;
|
|
|
|
// m_sName; //Name
|
|
m_Wel_Type m_oWmt; //井型
|
|
QMap<QString, double> m_mapInfos; //基础信息
|
|
VVecDouble m_vvecDataF; //流量数据
|
|
VVecDouble m_vvecDataP; //压力数据
|
|
|
|
ZxDataWell* m_pDataObj; //设置的WellObj
|
|
};
|
|
|
|
|
|
|
|
|