#6479 Update analysis and correlation plots when closing derived cases

This commit is contained in:
Gaute Lindkvist
2020-09-11 13:55:04 +02:00
parent 81b2bd1720
commit b4aaaa98e9
22 changed files with 269 additions and 60 deletions

View File

@@ -37,12 +37,23 @@ RiaSummaryCurveDefinition::RiaSummaryCurveDefinition()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaSummaryCurveDefinition::RiaSummaryCurveDefinition( RimSummaryCase* summaryCase,
const RifEclipseSummaryAddress& summaryAddress )
: m_summaryCase( summaryCase )
, m_ensemble( nullptr )
, m_summaryAddress( summaryAddress )
, m_treatAsSingleSummaryCurve( true )
{
}
RiaSummaryCurveDefinition::RiaSummaryCurveDefinition( RimSummaryCase* summaryCase,
const RifEclipseSummaryAddress& summaryAddress,
RimSummaryCaseCollection* ensemble )
RimSummaryCaseCollection* ensemble,
bool treatAsSingleSummaryCurve )
: m_summaryCase( summaryCase )
, m_ensemble( ensemble )
, m_summaryAddress( summaryAddress )
, m_treatAsSingleSummaryCurve( treatAsSingleSummaryCurve )
{
}
@@ -75,7 +86,7 @@ const RifEclipseSummaryAddress& RiaSummaryCurveDefinition::summaryAddress() cons
//--------------------------------------------------------------------------------------------------
bool RiaSummaryCurveDefinition::isEnsembleCurve() const
{
return m_ensemble != nullptr;
return m_ensemble != nullptr && !m_treatAsSingleSummaryCurve;
}
//--------------------------------------------------------------------------------------------------
@@ -210,7 +221,12 @@ void RiaSummaryCurveDefinitionAnalyser::setCurveDefinitions( const std::vector<R
for ( const auto& curveDef : curveDefs )
{
bool valid = false;
if ( curveDef.summaryCase() )
if ( curveDef.ensemble() && curveDef.isEnsembleCurve() )
{
m_ensembles.insert( curveDef.ensemble() );
valid = true;
}
else if ( curveDef.summaryCase() )
{
m_singleSummaryCases.insert( curveDef.summaryCase() );
@@ -220,11 +236,6 @@ void RiaSummaryCurveDefinitionAnalyser::setCurveDefinitions( const std::vector<R
valid = true;
}
}
else if ( curveDef.ensemble() )
{
m_ensembles.insert( curveDef.ensemble() );
valid = true;
}
if ( valid )
{
RifEclipseSummaryAddress address = curveDef.summaryAddress();

View File

@@ -35,9 +35,11 @@ class RiaSummaryCurveDefinition
{
public:
RiaSummaryCurveDefinition();
explicit RiaSummaryCurveDefinition( RimSummaryCase* summaryCase, const RifEclipseSummaryAddress& summaryAddress );
explicit RiaSummaryCurveDefinition( RimSummaryCase* summaryCase,
const RifEclipseSummaryAddress& summaryAddress,
RimSummaryCaseCollection* ensemble = nullptr );
RimSummaryCaseCollection* ensemble,
bool treatAsSingleSummaryCurve );
RimSummaryCase* summaryCase() const;
const RifEclipseSummaryAddress& summaryAddress() const;
@@ -58,6 +60,7 @@ private:
RimSummaryCase* m_summaryCase;
RifEclipseSummaryAddress m_summaryAddress;
RimSummaryCaseCollection* m_ensemble;
bool m_treatAsSingleSummaryCurve;
};
class RiaSummaryCurveDefinitionAnalyser