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++

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.

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