#5775 Add case id to summary case.

This commit is contained in:
Kristian Bendiksen
2020-04-08 14:30:38 +02:00
committed by Gaute Lindkvist
parent 0a33cc269a
commit bc08aa1905
5 changed files with 57 additions and 3 deletions

View File

@@ -113,6 +113,7 @@ RimProject::RimProject( void )
, m_nextValidViewId( 1 ) , m_nextValidViewId( 1 )
, m_nextValidPlotId( 1 ) , m_nextValidPlotId( 1 )
, m_nextValidCalculationId( 1 ) , m_nextValidCalculationId( 1 )
, m_nextValidSummaryCaseId( 1 )
{ {
CAF_PDM_InitScriptableObjectWithNameAndComment( "Project", "", "", "", "Project", "The ResInsight Project" ); CAF_PDM_InitScriptableObjectWithNameAndComment( "Project", "", "", "", "Project", "The ResInsight Project" );
@@ -255,6 +256,7 @@ void RimProject::close()
m_nextValidViewId = 1; m_nextValidViewId = 1;
m_nextValidPlotId = 1; m_nextValidPlotId = 1;
m_nextValidCalculationId = 1; m_nextValidCalculationId = 1;
m_nextValidSummaryCaseId = 1;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -485,6 +487,23 @@ void RimProject::setProjectFileNameAndUpdateDependencies( const QString& project
wellPathImport->updateFilePaths(); wellPathImport->updateFilePaths();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimProject::assignCaseIdToSummaryCase( RimSummaryCase* summaryCase )
{
if ( summaryCase )
{
std::vector<RimSummaryCase*> summaryCases = allSummaryCases();
for ( RimSummaryCase* s : summaryCases )
{
m_nextValidSummaryCaseId = std::max( m_nextValidSummaryCaseId, s->caseId() + 1 );
}
summaryCase->setCaseId( m_nextValidSummaryCaseId++ );
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@@ -123,6 +123,7 @@ public:
void assignViewIdToView( Rim3dView* view ); void assignViewIdToView( Rim3dView* view );
void assignPlotIdToPlotWindow( RimPlotWindow* plotWindow ); void assignPlotIdToPlotWindow( RimPlotWindow* plotWindow );
void assignCalculationIdToCalculation( RimSummaryCalculation* calculation ); void assignCalculationIdToCalculation( RimSummaryCalculation* calculation );
void assignCaseIdToSummaryCase( RimSummaryCase* summaryCase );
void allCases( std::vector<RimCase*>& cases ) const; void allCases( std::vector<RimCase*>& cases ) const;
@@ -216,6 +217,7 @@ private:
int m_nextValidViewId; int m_nextValidViewId;
int m_nextValidPlotId; int m_nextValidPlotId;
int m_nextValidCalculationId; int m_nextValidCalculationId;
int m_nextValidSummaryCaseId;
caf::PdmChildArrayField<RimEclipseCase*> casesObsolete; // obsolete caf::PdmChildArrayField<RimEclipseCase*> casesObsolete; // obsolete
caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> caseGroupsObsolete; // obsolete caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> caseGroupsObsolete; // obsolete

View File

@@ -18,20 +18,21 @@
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
#include "RiaApplication.h"
#include "RiaSummaryTools.h" #include "RiaSummaryTools.h"
#include "RicfCommandObject.h" #include "RicfCommandObject.h"
#include "RifSummaryReaderInterface.h" #include "RifSummaryReaderInterface.h"
#include "RimMainPlotCollection.h" #include "RimMainPlotCollection.h"
#include "RimObservedDataCollection.h" #include "RimObservedDataCollection.h"
#include "RimObservedSummaryData.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSummaryCaseCollection.h" #include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h" #include "RimSummaryCaseMainCollection.h"
#include "RimSummaryPlotCollection.h" #include "RimSummaryPlotCollection.h"
#include "RimObservedSummaryData.h"
#include "cafPdmFieldIOScriptability.h" #include "cafPdmFieldIOScriptability.h"
#include "cvfAssert.h" #include "cvfAssert.h"
@@ -60,6 +61,11 @@ RimSummaryCase::RimSummaryCase()
"" ); "" );
m_summaryHeaderFilename.uiCapability()->setUiReadOnly( true ); m_summaryHeaderFilename.uiCapability()->setUiReadOnly( true );
CAF_PDM_InitScriptableFieldWithIO( &m_caseId, "Id", -1, "Case ID", "", "", "" );
m_caseId.registerKeywordAlias( "CaseId" );
m_caseId.uiCapability()->setUiReadOnly( true );
m_caseId.capability<caf::PdmFieldScriptability>()->setIOWriteable( false );
m_isObservedData = false; m_isObservedData = false;
} }
@@ -252,6 +258,11 @@ RiaEclipseUnitTools::UnitSystemType RimSummaryCase::unitsSystem()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimSummaryCase::initAfterRead() void RimSummaryCase::initAfterRead()
{ {
if ( m_caseId() == -1 )
{
RiaApplication::instance()->project()->assignCaseIdToSummaryCase( this );
}
updateOptionSensitivity(); updateOptionSensitivity();
} }
@@ -351,3 +362,19 @@ void RimSummaryCase::resetAutoShortName()
m_shortName = DEFAULT_DISPLAY_NAME; m_shortName = DEFAULT_DISPLAY_NAME;
updateAutoShortName(); updateAutoShortName();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCase::setCaseId( int caseId )
{
m_caseId = caseId;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
int RimSummaryCase::caseId() const
{
return m_caseId();
}

View File

@@ -47,6 +47,8 @@ public:
virtual QString summaryHeaderFilename() const; virtual QString summaryHeaderFilename() const;
QString displayCaseName() const; QString displayCaseName() const;
QString nativeCaseName() const; QString nativeCaseName() const;
void setCaseId( int caseId );
int caseId() const;
RiaEclipseUnitTools::UnitSystemType unitsSystem(); RiaEclipseUnitTools::UnitSystemType unitsSystem();
@@ -80,8 +82,9 @@ protected:
virtual QString caseName() const = 0; virtual QString caseName() const = 0;
private:
void initAfterRead() override; void initAfterRead() override;
private:
static QString uniqueShortNameForCase( RimSummaryCase* summaryCase ); static QString uniqueShortNameForCase( RimSummaryCase* summaryCase );
protected: protected:
@@ -89,6 +92,7 @@ protected:
caf::PdmField<bool> m_useAutoShortName; caf::PdmField<bool> m_useAutoShortName;
caf::PdmField<caf::FilePath> m_summaryHeaderFilename; caf::PdmField<caf::FilePath> m_summaryHeaderFilename;
bool m_isObservedData; bool m_isObservedData;
caf::PdmField<int> m_caseId;
std::shared_ptr<RigCaseRealizationParameters> m_crlParameters; std::shared_ptr<RigCaseRealizationParameters> m_crlParameters;

View File

@@ -523,6 +523,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() ); newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() );
newSumCase->setAssociatedEclipseCase( eclCase ); newSumCase->setAssociatedEclipseCase( eclCase );
newSumCase->updateOptionSensitivity(); newSumCase->updateOptionSensitivity();
project->assignCaseIdToSummaryCase( newSumCase );
sumCases.push_back( newSumCase ); sumCases.push_back( newSumCase );
} }
else else
@@ -532,6 +533,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() ); newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() );
newSumCase->setSummaryHeaderFileName( fileInfo.summaryFileName() ); newSumCase->setSummaryHeaderFileName( fileInfo.summaryFileName() );
newSumCase->updateOptionSensitivity(); newSumCase->updateOptionSensitivity();
project->assignCaseIdToSummaryCase( newSumCase );
sumCases.push_back( newSumCase ); sumCases.push_back( newSumCase );
} }