mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#8773 Source Stepping : Realization cases are missing in some cases
This commit is contained in:
@@ -22,6 +22,9 @@
|
|||||||
#include "RiaTextStringTools.h"
|
#include "RiaTextStringTools.h"
|
||||||
|
|
||||||
#include "RimCaseDisplayNameTools.h"
|
#include "RimCaseDisplayNameTools.h"
|
||||||
|
#include "RimProject.h"
|
||||||
|
#include "RimSummaryCase.h"
|
||||||
|
#include "RimSummaryCaseCollection.h"
|
||||||
|
|
||||||
#include "cafAppEnum.h"
|
#include "cafAppEnum.h"
|
||||||
|
|
||||||
@@ -131,6 +134,54 @@ std::vector<QStringList> RiaEnsembleNameTools::groupFilesByEnsemble( const QStri
|
|||||||
return groupedByIteration;
|
return groupedByIteration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QString RiaEnsembleNameTools::uniqueShortNameForEnsembleCase( RimSummaryCase* summaryCase )
|
||||||
|
{
|
||||||
|
CAF_ASSERT( summaryCase && summaryCase->ensemble() );
|
||||||
|
|
||||||
|
auto ensembleCaseName = summaryCase->nativeCaseName();
|
||||||
|
auto ensemble = summaryCase->ensemble();
|
||||||
|
auto summaryCases = ensemble->allSummaryCases();
|
||||||
|
|
||||||
|
QStringList summaryFilePaths;
|
||||||
|
summaryFilePaths.push_back( summaryCase->summaryHeaderFilename() );
|
||||||
|
|
||||||
|
for ( auto otherSummaryCase : summaryCases )
|
||||||
|
{
|
||||||
|
if ( otherSummaryCase != summaryCase )
|
||||||
|
{
|
||||||
|
summaryFilePaths.push_back( otherSummaryCase->summaryHeaderFilename() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return RiaEnsembleNameTools::uniqueShortName( summaryCase->summaryHeaderFilename(), summaryFilePaths, ensembleCaseName );
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QString RiaEnsembleNameTools::uniqueShortNameForSummaryCase( RimSummaryCase* summaryCase )
|
||||||
|
{
|
||||||
|
std::set<QString> allAutoShortNames;
|
||||||
|
|
||||||
|
std::vector<RimSummaryCase*> allCases;
|
||||||
|
RimProject::current()->descendantsOfType( allCases );
|
||||||
|
|
||||||
|
for ( auto sumCase : allCases )
|
||||||
|
{
|
||||||
|
if ( sumCase && sumCase != summaryCase )
|
||||||
|
{
|
||||||
|
allAutoShortNames.insert( sumCase->displayCaseName() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return RimCaseDisplayNameTools::uniqueShortName( summaryCase->nativeCaseName(),
|
||||||
|
allAutoShortNames,
|
||||||
|
RimCaseDisplayNameTools::CASE_SHORT_NAME_LENGTH );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -19,9 +19,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
class RimSummaryCase;
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
//
|
//
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@@ -49,6 +52,9 @@ public:
|
|||||||
|
|
||||||
static std::vector<QStringList> groupFilesByEnsemble( const QStringList& fileNames, EnsembleGroupingMode groupingMode );
|
static std::vector<QStringList> groupFilesByEnsemble( const QStringList& fileNames, EnsembleGroupingMode groupingMode );
|
||||||
|
|
||||||
|
static QString uniqueShortNameForEnsembleCase( RimSummaryCase* summaryCase );
|
||||||
|
static QString uniqueShortNameForSummaryCase( RimSummaryCase* summaryCase );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static QStringList findUniqueEnsembleNames( const QStringList& fileNames,
|
static QStringList findUniqueEnsembleNames( const QStringList& fileNames,
|
||||||
const std::vector<QStringList>& fileNameComponents,
|
const std::vector<QStringList>& fileNameComponents,
|
||||||
|
|||||||
@@ -304,58 +304,6 @@ void RimSummaryCase::initAfterRead()
|
|||||||
refreshMetaData();
|
refreshMetaData();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
QString RimSummaryCase::uniqueShortNameForEnsembleCase( RimSummaryCase* summaryCase )
|
|
||||||
{
|
|
||||||
CAF_ASSERT( summaryCase && summaryCase->ensemble() );
|
|
||||||
|
|
||||||
QString ensembleCaseName = summaryCase->caseName();
|
|
||||||
|
|
||||||
auto ensemble = summaryCase->ensemble();
|
|
||||||
|
|
||||||
std::vector<RimSummaryCase*> summaryCases = ensemble->allSummaryCases();
|
|
||||||
|
|
||||||
QRegularExpression trimRe( "^[^a-zA-Z0-9]+" );
|
|
||||||
|
|
||||||
QStringList summaryFilePaths;
|
|
||||||
summaryFilePaths.push_back( summaryCase->summaryHeaderFilename() );
|
|
||||||
|
|
||||||
for ( auto otherSummaryCase : summaryCases )
|
|
||||||
{
|
|
||||||
if ( otherSummaryCase != summaryCase )
|
|
||||||
{
|
|
||||||
summaryFilePaths.push_back( otherSummaryCase->summaryHeaderFilename() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return RiaEnsembleNameTools::uniqueShortName( summaryCase->summaryHeaderFilename(), summaryFilePaths, ensembleCaseName );
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
QString RimSummaryCase::uniqueShortNameForSummaryCase( RimSummaryCase* summaryCase )
|
|
||||||
{
|
|
||||||
std::set<QString> allAutoShortNames;
|
|
||||||
|
|
||||||
std::vector<RimSummaryCase*> allCases;
|
|
||||||
RimProject::current()->descendantsOfType( allCases );
|
|
||||||
|
|
||||||
for ( RimSummaryCase* sumCase : allCases )
|
|
||||||
{
|
|
||||||
if ( sumCase && sumCase != summaryCase )
|
|
||||||
{
|
|
||||||
allAutoShortNames.insert( sumCase->displayCaseName() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return RimCaseDisplayNameTools::uniqueShortName( summaryCase->caseName(),
|
|
||||||
allAutoShortNames,
|
|
||||||
RimCaseDisplayNameTools::CASE_SHORT_NAME_LENGTH );
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -369,11 +317,11 @@ void RimSummaryCase::updateAutoShortName()
|
|||||||
{
|
{
|
||||||
if ( ensemble() )
|
if ( ensemble() )
|
||||||
{
|
{
|
||||||
m_displayName = RimSummaryCase::uniqueShortNameForEnsembleCase( this );
|
m_displayName = RiaEnsembleNameTools::uniqueShortNameForEnsembleCase( this );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_displayName = RimSummaryCase::uniqueShortNameForSummaryCase( this );
|
m_displayName = RiaEnsembleNameTools::uniqueShortNameForSummaryCase( this );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateTreeItemName();
|
updateTreeItemName();
|
||||||
|
|||||||
@@ -95,9 +95,6 @@ protected:
|
|||||||
void initAfterRead() override;
|
void initAfterRead() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static QString uniqueShortNameForEnsembleCase( RimSummaryCase* summaryCase );
|
|
||||||
static QString uniqueShortNameForSummaryCase( RimSummaryCase* summaryCase );
|
|
||||||
|
|
||||||
void buildChildNodes();
|
void buildChildNodes();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "RimSummaryPlotSourceStepping.h"
|
#include "RimSummaryPlotSourceStepping.h"
|
||||||
|
|
||||||
|
#include "RiaEnsembleNameTools.h"
|
||||||
#include "RiaGuiApplication.h"
|
#include "RiaGuiApplication.h"
|
||||||
#include "RiaStdStringTools.h"
|
#include "RiaStdStringTools.h"
|
||||||
#include "RiaSummaryAddressAnalyzer.h"
|
#include "RiaSummaryAddressAnalyzer.h"
|
||||||
@@ -58,8 +59,8 @@ RimSummaryPlotSourceStepping::RimSummaryPlotSourceStepping()
|
|||||||
|
|
||||||
CAF_PDM_InitField( &m_includeEnsembleCasesForCaseStepping,
|
CAF_PDM_InitField( &m_includeEnsembleCasesForCaseStepping,
|
||||||
"IncludeEnsembleCasesForCaseStepping",
|
"IncludeEnsembleCasesForCaseStepping",
|
||||||
false,
|
true,
|
||||||
"Allow Stepping on Ensemble cases" );
|
"Include Ensemble Cases in Case List" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_wellName, "WellName", "Well Name" );
|
CAF_PDM_InitFieldNoDefault( &m_wellName, "WellName", "Well Name" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_wellGroupName, "GroupName", "Group Name" );
|
CAF_PDM_InitFieldNoDefault( &m_wellGroupName, "GroupName", "Group Name" );
|
||||||
@@ -195,21 +196,32 @@ QList<caf::PdmOptionItemInfo>
|
|||||||
{
|
{
|
||||||
return caf::PdmObject::calculateValueOptions( fieldNeedingOptions, useOptionsOnly );
|
return caf::PdmObject::calculateValueOptions( fieldNeedingOptions, useOptionsOnly );
|
||||||
}
|
}
|
||||||
else if ( fieldNeedingOptions == &m_placeholderForLabel )
|
|
||||||
|
if ( fieldNeedingOptions == &m_placeholderForLabel )
|
||||||
{
|
{
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
else if ( fieldNeedingOptions == &m_summaryCase )
|
|
||||||
|
if ( fieldNeedingOptions == &m_summaryCase )
|
||||||
{
|
{
|
||||||
auto summaryCases = RimSummaryPlotSourceStepping::summaryCasesForSourceStepping();
|
auto summaryCases = RimSummaryPlotSourceStepping::summaryCasesForSourceStepping();
|
||||||
for ( auto sumCase : summaryCases )
|
for ( auto sumCase : summaryCases )
|
||||||
|
{
|
||||||
|
if ( sumCase->ensemble() )
|
||||||
|
{
|
||||||
|
auto name = sumCase->ensemble()->name() + " : " + sumCase->displayCaseName();
|
||||||
|
options.append( caf::PdmOptionItemInfo( name, sumCase ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
options.append( caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase ) );
|
options.append( caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase ) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
else if ( fieldNeedingOptions == &m_ensemble )
|
|
||||||
|
if ( fieldNeedingOptions == &m_ensemble )
|
||||||
{
|
{
|
||||||
RimProject* proj = RimProject::current();
|
RimProject* proj = RimProject::current();
|
||||||
for ( auto ensemble : proj->summaryGroups() )
|
for ( auto ensemble : proj->summaryGroups() )
|
||||||
@@ -745,8 +757,7 @@ std::vector<caf::PdmFieldHandle*> RimSummaryPlotSourceStepping::activeFieldsForD
|
|||||||
m_summaryCase = *( sumCases.begin() );
|
m_summaryCase = *( sumCases.begin() );
|
||||||
|
|
||||||
fields.push_back( &m_summaryCase );
|
fields.push_back( &m_summaryCase );
|
||||||
|
fields.push_back( &m_includeEnsembleCasesForCaseStepping );
|
||||||
m_includeEnsembleCasesForCaseStepping.uiCapability()->setUiHidden( false );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user