(#777) Show default summary curves when importing an Eclipse case with summary data

This commit is contained in:
Magne Sjaastad
2016-06-30 13:21:04 +02:00
parent bfc58f3201
commit 7e89fb4b49
5 changed files with 50 additions and 23 deletions

View File

@@ -75,6 +75,8 @@
#include "RiuSelectionManager.h"
#include "RiuViewer.h"
#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h"
#include "cafAppEnum.h"
#include "cafCeetronPlusNavigation.h"
#include "cafEffectCache.h"
@@ -810,7 +812,15 @@ bool RiaApplication::openEclipseCase(const QString& caseName, const QString& cas
if(sumCaseColl)
{
RimGridSummaryCase* newSumCase = sumCaseColl->createAndAddSummaryCaseFromEclipseResultCase(rimResultReservoir);
if(newSumCase) newSumCase->loadCase();
if (newSumCase)
{
newSumCase->loadCase();
RimMainPlotCollection* mainPlotColl = m_project->mainPlotCollection();
RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection();
RicNewSummaryPlotFeature::createNewSummaryPlot(summaryPlotColl, newSumCase);
}
}
}

View File

@@ -57,19 +57,10 @@ void RicNewSummaryPlotFeature::onActionTriggered(bool isChecked)
RimSummaryPlotCollection* summaryPlotColl = mainPlotColl->summaryPlotCollection();
CVF_ASSERT(summaryPlotColl);
RimSummaryPlot* plot = new RimSummaryPlot();
summaryPlotColl->m_summaryPlots().push_back(plot);
std::vector<RimSummaryCase*> cases;
project->allSummaryCases(cases);
plot->setDescription(QString("Summary Plot %1").arg(summaryPlotColl->m_summaryPlots.size()));
RimSummaryCurveFilter* newCurveFilter = new RimSummaryCurveFilter();
newCurveFilter->createCurves("*F*P*");
plot->addCurveFilter(newCurveFilter);
summaryPlotColl->updateConnectedEditors();
plot->loadDataAndUpdate();
RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(newCurveFilter);
createNewSummaryPlot(summaryPlotColl, cases.size() > 0 ? cases[0] : NULL);
}
//--------------------------------------------------------------------------------------------------
@@ -79,3 +70,28 @@ void RicNewSummaryPlotFeature::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("New Summary Plot");
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicNewSummaryPlotFeature::createNewSummaryPlot(RimSummaryPlotCollection* summaryPlotColl, RimSummaryCase* summaryCase)
{
RimSummaryPlot* plot = new RimSummaryPlot();
summaryPlotColl->m_summaryPlots().push_back(plot);
plot->setDescription(QString("Summary Plot %1").arg(summaryPlotColl->m_summaryPlots.size()));
RimSummaryCurveFilter* newCurveFilter = new RimSummaryCurveFilter();
if (summaryCase)
{
newCurveFilter->createCurves(summaryCase, "F*PT");
}
plot->addCurveFilter(newCurveFilter);
summaryPlotColl->updateConnectedEditors();
plot->loadDataAndUpdate();
RiaApplication::instance()->getOrCreateAndShowMainPlotWindow()->selectAsCurrentItem(newCurveFilter);
}

View File

@@ -20,6 +20,9 @@
#include "cafCmdFeature.h"
class RimSummaryCase;
class RimSummaryPlotCollection;
//==================================================================================================
///
//==================================================================================================
@@ -27,9 +30,12 @@ class RicNewSummaryPlotFeature : public caf::CmdFeature
{
CAF_CMD_HEADER_INIT;
public:
static void createNewSummaryPlot(RimSummaryPlotCollection* summaryPlotColl, RimSummaryCase* summaryCase);
protected:
// Overrides
virtual bool isCommandEnabled();
virtual void onActionTriggered( bool isChecked );
virtual void setupActionLook( QAction* actionToSetup );
virtual void setupActionLook(QAction* actionToSetup);
};

View File

@@ -115,17 +115,12 @@ RimSummaryCurveFilter::~RimSummaryCurveFilter()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveFilter::createCurves(const QString& stringFilter)
void RimSummaryCurveFilter::createCurves(RimSummaryCase* summaryCase, const QString& stringFilter)
{
RimProject* proj = RiaApplication::instance()->project();
std::vector<RimSummaryCase*> cases;
proj->allSummaryCases(cases);
if (cases.size() > 0)
if (summaryCase)
{
std::vector<RimSummaryCase*> selectedCases;
selectedCases.push_back(cases[0]);
selectedCases.push_back(summaryCase);
m_summaryFilter->setCompleteVarStringFilter(stringFilter);

View File

@@ -51,7 +51,7 @@ public:
RimSummaryCurveFilter();
virtual ~RimSummaryCurveFilter();
void createCurves(const QString& stringFilter);
void createCurves(RimSummaryCase* summaryCase, const QString& stringFilter);
void loadDataAndUpdate();
void setParentQwtPlot(QwtPlot* plot);