mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5545 Derived Summary Case : Make sure union of available addresses are used
This commit is contained in:
@@ -24,7 +24,8 @@
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RifDerivedEnsembleReader::RifDerivedEnsembleReader( RimDerivedSummaryCase* derivedCase,
|
||||
RifSummaryReaderInterface* sourceSummaryReader1 )
|
||||
RifSummaryReaderInterface* sourceSummaryReader1,
|
||||
RifSummaryReaderInterface* sourceSummaryReader2 )
|
||||
{
|
||||
CVF_ASSERT( derivedCase );
|
||||
|
||||
@@ -32,10 +33,20 @@ RifDerivedEnsembleReader::RifDerivedEnsembleReader( RimDerivedSummaryCase* d
|
||||
|
||||
if ( sourceSummaryReader1 )
|
||||
{
|
||||
// TODO: This is assuming that the addresses of both reader interfaces are equal
|
||||
m_allResultAddresses = sourceSummaryReader1->allResultAddresses();
|
||||
m_allErrorAddresses = sourceSummaryReader1->allErrorAddresses();
|
||||
}
|
||||
if ( sourceSummaryReader2 )
|
||||
{
|
||||
for ( auto a : sourceSummaryReader2->allResultAddresses() )
|
||||
{
|
||||
m_allResultAddresses.insert( a );
|
||||
}
|
||||
for ( auto a : sourceSummaryReader2->allErrorAddresses() )
|
||||
{
|
||||
m_allErrorAddresses.insert( a );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -91,18 +102,3 @@ RiaEclipseUnitTools::UnitSystem RifDerivedEnsembleReader::unitSystem() const
|
||||
{
|
||||
return RiaEclipseUnitTools::UNITS_UNKNOWN;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RifDerivedEnsembleReader::updateData( RimSummaryCase* sumCase1, RimSummaryCase* sumCase2 )
|
||||
{
|
||||
m_allErrorAddresses.clear();
|
||||
m_allResultAddresses.clear();
|
||||
|
||||
if ( sumCase1 && sumCase1->summaryReader() )
|
||||
{
|
||||
m_allErrorAddresses = sumCase1->summaryReader()->allErrorAddresses();
|
||||
m_allResultAddresses = sumCase1->summaryReader()->allResultAddresses();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,15 +30,15 @@ class RimSummaryCase;
|
||||
class RifDerivedEnsembleReader : public RifSummaryReaderInterface
|
||||
{
|
||||
public:
|
||||
RifDerivedEnsembleReader( RimDerivedSummaryCase* derivedCase, RifSummaryReaderInterface* sourceSummaryReader1 );
|
||||
RifDerivedEnsembleReader( RimDerivedSummaryCase* derivedCase,
|
||||
RifSummaryReaderInterface* sourceSummaryReader1,
|
||||
RifSummaryReaderInterface* sourceSummaryReader2 );
|
||||
|
||||
const std::vector<time_t>& timeSteps( const RifEclipseSummaryAddress& resultAddress ) const override;
|
||||
bool values( const RifEclipseSummaryAddress& resultAddress, std::vector<double>* values ) const override;
|
||||
std::string unitName( const RifEclipseSummaryAddress& resultAddress ) const override;
|
||||
RiaEclipseUnitTools::UnitSystem unitSystem() const override;
|
||||
|
||||
void updateData( RimSummaryCase* sumCase1, RimSummaryCase* sumCase2 );
|
||||
|
||||
private:
|
||||
RimDerivedSummaryCase* m_derivedCase;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user