#5131 : Calculated curves : Use find in RimSummaryCalculationCollection

This commit is contained in:
Magne Sjaastad
2019-12-10 15:01:31 +01:00
committed by Kristian Bendiksen
parent 532d5899de
commit 1628f01939
5 changed files with 54 additions and 36 deletions

View File

@@ -98,14 +98,7 @@ RimSummaryCalculation*
{
if ( m_calculationCollection && resultAddress.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
{
int id = resultAddress.id();
for ( RimSummaryCalculation* calc : m_calculationCollection->calculations() )
{
if ( calc->id() == id )
{
return calc;
}
}
return m_calculationCollection->findCalculationById( resultAddress.id() );
}
return nullptr;

View File

@@ -41,10 +41,11 @@ public:
void buildMetaData();
RimSummaryCalculation* findCalculationByName( const RifEclipseSummaryAddress& resultAddress ) const;
RiaEclipseUnitTools::UnitSystem unitSystem() const override;
private:
RimSummaryCalculation* findCalculationByName( const RifEclipseSummaryAddress& resultAddress ) const;
private:
caf::PdmPointer<RimSummaryCalculationCollection> m_calculationCollection;
};

View File

@@ -18,11 +18,15 @@
#include "RimSummaryCurveAutoName.h"
#include "RiaApplication.h"
#include "RiaStatisticsTools.h"
#include "RifEclipseSummaryAddress.h"
#include "RimEnsembleCurveSet.h"
#include "RimProject.h"
#include "RimSummaryCalculation.h"
#include "RimSummaryCalculationCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCurve.h"
@@ -197,6 +201,18 @@ QString RimSummaryCurveAutoName::buildCurveName( const RifEclipseSummaryAddress&
QString::fromStdString( summaryAddress.quantityName() ) )
.toStdString();
}
else if ( summaryAddress.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
{
// Need to add case name for calculated summary
RimProject* proj = RiaApplication::instance()->project();
RimSummaryCalculationCollection* calcColl = proj->calculationCollection();
RimSummaryCalculation* calculation = calcColl->findCalculationById( summaryAddress.id() );
if ( calculation )
{
text = calculation->description().toStdString();
}
}
if ( m_unit && !unitText.empty() )
{