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/iGuiPlotBdy.h

88 lines
2.3 KiB
C

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