mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Well Allocation over time adjustements (#9738)
- Add font size settings - Move legend to right side of plot - Set default selected time steps to time step count = 10 - When excluding time steps, duplicates rates from next valid time step onto excluded time steps - Allow time step selection "Show all time steps" or "Time step count" for subset of time steps - Allow excluding on the active set, i.e. all or subset, of time steps
This commit is contained in:
@@ -56,6 +56,13 @@ public:
|
||||
ACCUMULATED_FLOW_VOLUME,
|
||||
ACCUMULATED_FLOW_VOLUME_PERCENTAGE,
|
||||
};
|
||||
enum class TimeStepFilterMode
|
||||
{
|
||||
NONE,
|
||||
TIME_STEP_COUNT,
|
||||
};
|
||||
|
||||
bool isCurveHighlightSupported() const override;
|
||||
|
||||
public:
|
||||
RimWellAllocationOverTimePlot();
|
||||
@@ -94,6 +101,8 @@ private:
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
|
||||
private:
|
||||
void doUpdateLayout() override;
|
||||
|
||||
void updateFromWell();
|
||||
RimWellAllocationOverTimeCollection createWellAllocationOverTimeCollection() const;
|
||||
std::set<QString> findSortedWellNames();
|
||||
@@ -110,22 +119,33 @@ private:
|
||||
|
||||
void setValidTimeStepRangeForCase();
|
||||
|
||||
int axisTitleFontSize() const;
|
||||
int axisValueFontSize() const;
|
||||
|
||||
std::vector<QDateTime> getTimeStepsWithinSelectedRange( const std::vector<QDateTime>& timeSteps ) const;
|
||||
std::set<QDateTime> getSelectedTimeSteps( const std::vector<QDateTime>& timeSteps ) const;
|
||||
static std::set<QDateTime> createEvenlyDistributedDates( const std::vector<QDateTime>& inputDates, int numDates );
|
||||
|
||||
private:
|
||||
caf::PdmField<QString> m_userName;
|
||||
caf::PdmPtrField<RimEclipseResultCase*> m_case;
|
||||
caf::PdmField<QString> m_wellName;
|
||||
|
||||
caf::PdmField<QDateTime> m_selectedFromTimeStep;
|
||||
caf::PdmField<QDateTime> m_selectedToTimeStep;
|
||||
caf::PdmField<std::vector<QDateTime>> m_excludeTimeSteps;
|
||||
caf::PdmField<bool> m_applyExcludeTimeSteps;
|
||||
caf::PdmField<QDateTime> m_selectedFromTimeStep;
|
||||
caf::PdmField<QDateTime> m_selectedToTimeStep;
|
||||
caf::PdmField<caf::AppEnum<TimeStepFilterMode>> m_timeStepFilterMode;
|
||||
caf::PdmField<int> m_timeStepCount;
|
||||
caf::PdmField<std::vector<QDateTime>> m_excludeTimeSteps;
|
||||
caf::PdmField<bool> m_applyTimeStepSelections;
|
||||
|
||||
caf::PdmPtrField<RimFlowDiagSolution*> m_flowDiagSolution;
|
||||
caf::PdmField<caf::AppEnum<FlowValueType>> m_flowValueType;
|
||||
caf::PdmField<bool> m_groupSmallContributions;
|
||||
caf::PdmField<double> m_smallContributionsThreshold;
|
||||
|
||||
QPointer<RiuQwtPlotWidget> m_plotWidget;
|
||||
QPointer<RiuQwtPlotWidget> m_plotWidget;
|
||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisTitleFontSize;
|
||||
caf::PdmField<caf::FontTools::RelativeSizeEnum> m_axisValueFontSize;
|
||||
|
||||
const int m_initialNumberOfTimeSteps = 10;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user