mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#9671 summary calculations for summary items
* Summary Calculation: use shorter name in title * Sort summary addresses to group calculated results last. * Summary Calculation: add option to distribute calculation to other items. * Add support for summary calculation for RimGridSummaryCase. * Use short name for calculations in plot titles. * Update ensembles in Data Sources when calculation is added. * Summary Calculation: allow drag-and-drop of ensembles * Summary Plot: fix axis range aggregation for calculated ensemble addresses. --------- Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
This commit is contained in:
@@ -23,7 +23,6 @@
|
||||
|
||||
#include "RicImportGeneralDataFeature.h"
|
||||
|
||||
#include "RimCalculatedSummaryCase.h"
|
||||
#include "RimFileSummaryCase.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimSummaryAddress.h"
|
||||
@@ -116,27 +115,6 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
for ( RimSummaryPlot* summaryPlot : multiPlot->summaryPlots() )
|
||||
{
|
||||
// Update summary curves on calculated data
|
||||
std::vector<RimSummaryCurve*> summaryCurves = summaryPlot->summaryCurves();
|
||||
for ( RimSummaryCurve* summaryCurve : summaryCurves )
|
||||
{
|
||||
RifEclipseSummaryAddress summaryAddressY = summaryCurve->summaryAddressY();
|
||||
if ( summaryAddressY.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED &&
|
||||
ids.find( summaryAddressY.id() ) != ids.end() )
|
||||
{
|
||||
if ( calcColl )
|
||||
{
|
||||
RimUserDefinedCalculation* calculation = calcColl->findCalculationById( summaryAddressY.id() );
|
||||
QString description = calculation->description();
|
||||
|
||||
RifEclipseSummaryAddress updatedAdr =
|
||||
RifEclipseSummaryAddress::calculatedAddress( description.toStdString(), calculation->id() );
|
||||
summaryCurve->setSummaryAddressYAndApplyInterpolation( updatedAdr );
|
||||
summaryCurve->loadDataAndUpdate( true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
summaryPlot->loadDataAndUpdate();
|
||||
}
|
||||
multiPlot->updatePlotTitles();
|
||||
@@ -145,43 +123,6 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
|
||||
RimSummaryCrossPlotCollection* summaryCrossPlotColl = RiaSummaryTools::summaryCrossPlotCollection();
|
||||
for ( RimSummaryPlot* summaryPlot : summaryCrossPlotColl->plots() )
|
||||
{
|
||||
// Update summary curves on calculated data
|
||||
std::vector<RimSummaryCurve*> summaryCurves = summaryPlot->summaryCurves();
|
||||
for ( RimSummaryCurve* summaryCurve : summaryCurves )
|
||||
{
|
||||
RifEclipseSummaryAddress summaryAddressX = summaryCurve->summaryAddressX();
|
||||
if ( summaryAddressX.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED &&
|
||||
ids.find( summaryAddressX.id() ) != ids.end() )
|
||||
{
|
||||
if ( calcColl )
|
||||
{
|
||||
RimUserDefinedCalculation* calculation = calcColl->findCalculationById( summaryAddressX.id() );
|
||||
QString description = calculation->description();
|
||||
|
||||
RifEclipseSummaryAddress updatedAdr =
|
||||
RifEclipseSummaryAddress::calculatedAddress( description.toStdString(), calculation->id() );
|
||||
summaryCurve->setSummaryAddressX( updatedAdr );
|
||||
summaryCurve->loadDataAndUpdate( true );
|
||||
}
|
||||
}
|
||||
|
||||
RifEclipseSummaryAddress summaryAddressY = summaryCurve->summaryAddressY();
|
||||
if ( summaryAddressY.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED &&
|
||||
ids.find( summaryAddressY.id() ) != ids.end() )
|
||||
{
|
||||
if ( calcColl )
|
||||
{
|
||||
RimUserDefinedCalculation* calculation = calcColl->findCalculationById( summaryAddressX.id() );
|
||||
QString description = calculation->description();
|
||||
|
||||
RifEclipseSummaryAddress updatedAdr =
|
||||
RifEclipseSummaryAddress::calculatedAddress( description.toStdString(), calculation->id() );
|
||||
summaryCurve->setSummaryAddressYAndApplyInterpolation( updatedAdr );
|
||||
summaryCurve->loadDataAndUpdate( true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
summaryPlot->loadDataAndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user