Adds imbibition curves to relative permeability plot

Adds styling for imbibition relative permeability curves to the plot, differentiating them visually from drainage curves.

Adds UI elements (checkboxes) to control the visibility of drainage and imbibition curve sets. Also introduces a tracker that displays curve values near the cursor position.
This commit is contained in:
Magne Sjaastad committed 2025-10-28 19:02:36 +01:00
1 parent b521e979be
commit f884b65bb6
5 files changed
+312 -27

No files matched your search

@@ -29,6 +29,7 @@
class RiuDockedQwtPlot;
class RiuRelativePermeabilityPlotUpdater;
class RiuRelPermQwtPicker;
class QButtonGroup;
class QCheckBox;
class QwtPlot;
@@ -107,6 +108,9 @@ private:
std::vector<RigFlowDiagDefines::RelPermCurve> gatherUiSelectedCurves() const;
QString asciiDataForUiSelectedCurves() const;
const QwtPlotCurve* closestCurveSample( const QPoint& cursorPosition, int* closestSampleIndex ) const;
void updateTrackerPlotMarkerAndLabelFromPicker();
void contextMenuEvent( QContextMenuEvent* event ) override;
private slots:
@@ -114,6 +118,8 @@ private slots:
void slotSomeCheckBoxStateChanged( int );
void slotCurrentPlotDataInTextDialog();
void slotShowCurveSelectionWidgets( int state );
void slotPickerActivated( bool );
void slotPickerPointChanged( const QPoint& pt );
void showEvent( QShowEvent* event ) override;
private:
@@ -126,6 +132,14 @@ private:
QPointer<RiuDockedQwtPlot> m_qwtPlot;
std::vector<QwtPlotMarker*> m_myPlotMarkers;
QPointer<RiuRelPermQwtPicker> m_qwtPicker;
QString m_trackerLabel;
QwtPlotMarker* m_trackerPlotMarker;
QGroupBox* m_curveSetGroupBox;
QCheckBox* m_showDrainageCheckBox;
QCheckBox* m_showImbibitionCheckBox;
QGroupBox* m_groupBox;
QButtonGroup* m_selectedCurvesButtonGroup;
QCheckBox* m_showUnscaledCheckBox;