|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "iGuiPlot.h"
|
|
|
|
|
#include "mAlgDefines.h"
|
|
|
|
|
#include "ZxObjBdyBase.h"
|
|
|
|
|
class ZxDataWell;
|
|
|
|
|
class ZxObjBase;
|
|
|
|
|
class ZxObjBdyPoint;
|
|
|
|
|
|
|
|
|
|
//ZXF202409
|
|
|
|
|
//边界设置
|
|
|
|
|
class M_GUI_PLOT_EXPORT iGuiPlotBdy : public iGuiPlot
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
explicit iGuiPlotBdy(bool bUseBtn = true, QWidget *parent = 0);
|
|
|
|
|
~iGuiPlotBdy();
|
|
|
|
|
|
|
|
|
|
// 初始化UI
|
|
|
|
|
virtual void initUI(QString sTitle, QSize szDefault = QSize(265, 203));
|
|
|
|
|
|
|
|
|
|
// 反序列化后,把数据重新加入m_mapCurveData与m_mapCurveType
|
|
|
|
|
virtual void resetAfterDeserialized();
|
|
|
|
|
|
|
|
|
|
// 刷新图形
|
|
|
|
|
virtual void runUpdate();
|
|
|
|
|
|
|
|
|
|
// 设置中心井
|
|
|
|
|
void setCentralWell(ZxDataWell* p);
|
|
|
|
|
// 添加中心井
|
|
|
|
|
void appendWmPtCObj(VecBdyInfos vecBdyInfos, m_Bdy_Type eType);
|
|
|
|
|
// 创建添加一个Obj
|
|
|
|
|
ZxObjBdyPoint* appendOneWmObj(m_Wel_Type oType,
|
|
|
|
|
QString &sName,
|
|
|
|
|
QVector<QPointF>& vec,
|
|
|
|
|
bool bCentral = false);
|
|
|
|
|
|
|
|
|
|
ZxObjBdyPoint* _createOneWmObj(m_Wel_Type oType,
|
|
|
|
|
QString &sName,
|
|
|
|
|
QVector<QPointF>& vec);
|
|
|
|
|
|
|
|
|
|
//添加边界线
|
|
|
|
|
void appendBdyLineObjs(VecBdyInfos vecBdyInfos);
|
|
|
|
|
//矩形边界线
|
|
|
|
|
void appendBdyRectObjs(VecBdyInfos vecBdyInfos);
|
|
|
|
|
//圆形边界线
|
|
|
|
|
void appendBdyCricleObjs(VecBdyInfos vecBdyInfos);
|
|
|
|
|
//交叉边界
|
|
|
|
|
void appendBdyCrossObjs(VecBdyInfos vecBdyInfos);
|
|
|
|
|
//平行边界
|
|
|
|
|
void appendBdyParalObjs(VecBdyInfos vecBdyInfos);
|
|
|
|
|
//三条垂直边界
|
|
|
|
|
void appendBdyTriObjs(VecBdyInfos vecBdyInfos);
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
// 调整UI
|
|
|
|
|
void adjustPlotUI();
|
|
|
|
|
// 刷新
|
|
|
|
|
virtual void updatePlots();
|
|
|
|
|
// 绘制Painter函数重载
|
|
|
|
|
virtual void paintEvent(QPaintEvent *);
|
|
|
|
|
public:
|
|
|
|
|
virtual void resizeEvent(QResizeEvent * event);
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
//属性
|
|
|
|
|
void slotShowProperty();
|
|
|
|
|
|
|
|
|
|
//边界线
|
|
|
|
|
void slotObjBdyLineChanged();
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
// 获取当前中心井的压力和流量
|
|
|
|
|
void sigGetCentralDataPF(QVector<QPointF>& vecP,
|
|
|
|
|
QVector<QPointF>& vecF);
|
|
|
|
|
//属性
|
|
|
|
|
void sigShowProperty();
|
|
|
|
|
|
|
|
|
|
//ObjSegLine改变
|
|
|
|
|
void sigObjBdyLineChanged(ZxObjBase*);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
ZxDataWell* m_pCenterWell;
|
|
|
|
|
ZxObjBdyPoint* m_pWmPtC;
|
|
|
|
|
};
|