mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-03 04:00:57 -06:00
#2010 RFT plot. Show relevant curves initially
This commit is contained in:
parent
c52d9522c0
commit
01cadd5a1c
@ -137,15 +137,16 @@ void RicNewRftPlotFeature::onActionTriggered(bool isChecked)
|
||||
rftPlotColl->addPlot(rftPlot);
|
||||
rftPlot->setDescription(plotName);
|
||||
|
||||
rftPlot->applyInitialSelections();
|
||||
rftPlot->loadDataAndUpdate();
|
||||
rftPlotColl->updateConnectedEditors();
|
||||
|
||||
RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->getOrCreateAndShowMainPlotWindow();
|
||||
if (mainPlotWindow)
|
||||
{
|
||||
mainPlotWindow->selectAsCurrentItem(rftPlot);
|
||||
mainPlotWindow->setExpanded(rftPlot, true);
|
||||
}
|
||||
|
||||
rftPlot->loadDataAndUpdate();
|
||||
rftPlotColl->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -216,6 +216,56 @@ void RimWellRftPlot::applyCurveAppearance(RimWellLogCurve* newCurve)
|
||||
newCurve->setLineStyle(currentLineStyle);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimWellRftPlot::applyInitialSelections()
|
||||
{
|
||||
std::vector<std::tuple<RimEclipseResultCase*, bool, bool>> eclCaseTuples = eclipseCasesForWell(m_wellName);
|
||||
|
||||
std::vector<RimWellRftAddress> sourcesToSelect;
|
||||
std::map<QDateTime, std::set<RimWellRftAddress>> rftTimeSteps;
|
||||
std::map<QDateTime, std::set<RimWellRftAddress>> observedTimeSteps;
|
||||
std::map<QDateTime, std::set<RimWellRftAddress>> gridTimeSteps;
|
||||
|
||||
for(const auto& rftCase : rftCasesFromEclipseCases(eclCaseTuples))
|
||||
{
|
||||
sourcesToSelect.push_back(RimWellRftAddress(RftSourceType::RFT, rftCase->caseId()));
|
||||
addTimeStepsToMap(rftTimeSteps, timeStepsFromRftCase(rftCase));
|
||||
}
|
||||
|
||||
for (const auto& gridCase : gridCasesFromEclipseCases(eclCaseTuples))
|
||||
{
|
||||
sourcesToSelect.push_back(RimWellRftAddress(RftSourceType::GRID, gridCase->caseId()));
|
||||
addTimeStepsToMap(gridTimeSteps, timeStepsFromGridCase(gridCase));
|
||||
}
|
||||
|
||||
std::vector<RimWellPath*> wellPaths = wellPathsContainingPressure(m_wellName);
|
||||
if(wellPaths.size() > 0)
|
||||
{
|
||||
sourcesToSelect.push_back(RimWellRftAddress(RftSourceType::OBSERVED));
|
||||
addTimeStepsToMap(observedTimeSteps, timeStepsFromWellPaths(wellPaths));
|
||||
}
|
||||
|
||||
m_selectedSources = sourcesToSelect;
|
||||
|
||||
std::set<QDateTime> timeStepsToSelect;
|
||||
for (const auto& dateTimePair : rftTimeSteps)
|
||||
{
|
||||
timeStepsToSelect.insert(dateTimePair.first);
|
||||
}
|
||||
for (const auto& dateTimePair : observedTimeSteps)
|
||||
{
|
||||
timeStepsToSelect.insert(dateTimePair.first);
|
||||
}
|
||||
if (gridTimeSteps.size() > 0)
|
||||
timeStepsToSelect.insert((*gridTimeSteps.begin()).first);
|
||||
|
||||
m_selectedTimeSteps = std::vector<QDateTime>(timeStepsToSelect.begin(), timeStepsToSelect.end());
|
||||
|
||||
syncCurvesFromUiSelection();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -84,6 +84,8 @@ public:
|
||||
static bool hasPressureData(RimEclipseResultCase* gridCase);
|
||||
static const char* plotNameFormatString();
|
||||
|
||||
void applyInitialSelections();
|
||||
|
||||
protected:
|
||||
// Overridden PDM methods
|
||||
virtual caf::PdmFieldHandle* userDescriptionField() { return &m_userName; }
|
||||
|
Loading…
Reference in New Issue
Block a user