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.
nmWATI/Include/mGui/mGuiPlot/WellMap/ZxObjWmData.h

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
};