mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Added functionality to update RelPerm and PVT plots when time step changes.
Also added line marker for current cell's pressure in PVT plots.
This commit is contained in:
@@ -22,10 +22,15 @@
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
#include <memory>
|
||||
|
||||
class RiuRelativePermeabilityPlotUpdater;
|
||||
class QDockWidget;
|
||||
class QButtonGroup;
|
||||
class QCheckBox;
|
||||
class QwtPlot;
|
||||
class QwtPlotMarker;
|
||||
|
||||
|
||||
|
||||
//==================================================================================================
|
||||
@@ -40,18 +45,19 @@ class RiuRelativePermeabilityPlotPanel : public QWidget
|
||||
public:
|
||||
RiuRelativePermeabilityPlotPanel(QDockWidget* parent);
|
||||
virtual ~RiuRelativePermeabilityPlotPanel();
|
||||
|
||||
void setPlotData(const std::vector<RigFlowDiagSolverInterface::RelPermCurve>& relPermCurves, double swat, double sgas, QString cellReferenceText);
|
||||
void clearPlot();
|
||||
|
||||
void setPlotData(const std::vector<RigFlowDiagSolverInterface::RelPermCurve>& relPermCurves, double swat, double sgas, QString cellReferenceText);
|
||||
void clearPlot();
|
||||
RiuRelativePermeabilityPlotUpdater* plotUpdater();
|
||||
|
||||
private:
|
||||
void plotUiSelectedCurves();
|
||||
static void setPlotDefaults(QwtPlot* plot);
|
||||
static void plotCurvesInQwt(const std::vector<RigFlowDiagSolverInterface::RelPermCurve>& curveArr, double swat, double sgas, QString cellReferenceText, QwtPlot* plot);
|
||||
static void plotCurvesInQwt(const std::vector<RigFlowDiagSolverInterface::RelPermCurve>& curveArr, double swat, double sgas, QString cellReferenceText, QwtPlot* plot, std::vector<QwtPlotMarker*>* myPlotMarkers);
|
||||
static QColor curveColorFromIdent(RigFlowDiagSolverInterface::RelPermCurve::Ident ident);
|
||||
static QString determineXAxisTitleFromCurveCollection(const std::vector<RigFlowDiagSolverInterface::RelPermCurve>& curveArr);
|
||||
static void addVerticalSaturationMarkerLine(double saturationValue, QString label, QColor color, QwtPlot* plot);
|
||||
static void addCurveConstSaturationIntersectionMarker(const RigFlowDiagSolverInterface::RelPermCurve& curve, double saturationValue, QColor markerColor, bool plotCurveOnRightAxis, QwtPlot* plot);
|
||||
static void addVerticalSaturationMarkerLine(double saturationValue, QString label, QColor color, QwtPlot* plot, std::vector<QwtPlotMarker*>* myPlotMarkers);
|
||||
static void addCurveConstSaturationIntersectionMarker(const RigFlowDiagSolverInterface::RelPermCurve& curve, double saturationValue, QColor markerColor, bool plotCurveOnRightAxis, QwtPlot* plot, std::vector<QwtPlotMarker*>* myPlotMarkers);
|
||||
static double interpolatedCurveYValue(const std::vector<double>& xVals, const std::vector<double>& yVals, double x);
|
||||
|
||||
private slots:
|
||||
@@ -64,7 +70,11 @@ private:
|
||||
double m_sgas;
|
||||
QString m_cellReferenceText;
|
||||
QwtPlot* m_qwtPlot;
|
||||
std::vector<QwtPlotMarker*> m_myPlotMarkers;
|
||||
|
||||
QButtonGroup* m_selectedCurvesButtonGroup;
|
||||
QCheckBox* m_showUnscaledCheckBox;
|
||||
|
||||
std::unique_ptr<RiuRelativePermeabilityPlotUpdater> m_plotUpdater;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user