mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5441 Summary Case : Add public methods displayCaseName and nativeCaseName
This commit is contained in:
@@ -116,7 +116,7 @@ QString RiaSummaryCurveDefinition::curveDefinitionText() const
|
||||
{
|
||||
QString caseName;
|
||||
if ( summaryCase() )
|
||||
caseName = summaryCase()->caseName();
|
||||
caseName = summaryCase()->displayCaseName();
|
||||
else if ( ensemble() )
|
||||
caseName = ensemble()->name();
|
||||
|
||||
@@ -176,11 +176,11 @@ bool RiaSummaryCurveDefinition::operator<( const RiaSummaryCurveDefinition& othe
|
||||
|
||||
if ( m_summaryCase )
|
||||
{
|
||||
summaryCaseName = m_summaryCase->caseName();
|
||||
summaryCaseName = m_summaryCase->displayCaseName();
|
||||
}
|
||||
if ( other.summaryCase() )
|
||||
{
|
||||
otherSummaryCaseName = other.summaryCase()->caseName();
|
||||
otherSummaryCaseName = other.summaryCase()->displayCaseName();
|
||||
}
|
||||
|
||||
// First check if names are different to ensure stable alphabetic sort
|
||||
|
||||
@@ -748,7 +748,7 @@ std::set<RifEclipseSummaryAddress>
|
||||
if ( !usedFilters[cfIdx] )
|
||||
{
|
||||
RiaLogging::warning( "Vector filter \"" + summaryAddressFilters[static_cast<int>( cfIdx )] +
|
||||
"\" did not match anything in case: \"" + sumCase->caseName() + "\"" );
|
||||
"\" did not match anything in case: \"" + sumCase->nativeCaseName() + "\"" );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -780,7 +780,7 @@ std::vector<RimSummaryCurve*> RicSummaryPlotFeatureImpl::addCurvesFromAddressFil
|
||||
if ( !usedFilters[cfIdx] )
|
||||
{
|
||||
RiaLogging::warning( "Vector filter \"" + curveFilters[static_cast<int>( cfIdx )] +
|
||||
"\" did not match anything in case: \"" + summaryCase->caseName() + "\"" );
|
||||
"\" did not match anything in case: \"" + summaryCase->nativeCaseName() + "\"" );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ bool operator<( const RifDataSourceForRftPlt& addr1, const RifDataSourceForRftPl
|
||||
{
|
||||
if ( addr1.summaryCase() && addr2.summaryCase() )
|
||||
{
|
||||
if ( addr1.summaryCase()->caseName() == addr2.summaryCase()->caseName() )
|
||||
if ( addr1.summaryCase()->displayCaseName() == addr2.summaryCase()->displayCaseName() )
|
||||
{
|
||||
if ( addr1.ensemble() && addr2.ensemble() )
|
||||
{
|
||||
@@ -252,7 +252,7 @@ bool operator<( const RifDataSourceForRftPlt& addr1, const RifDataSourceForRftPl
|
||||
}
|
||||
return addr1.ensemble() < addr2.ensemble();
|
||||
}
|
||||
return addr1.summaryCase()->caseName() < addr2.summaryCase()->caseName();
|
||||
return addr1.summaryCase()->displayCaseName() < addr2.summaryCase()->displayCaseName();
|
||||
}
|
||||
return addr1.summaryCase() < addr2.summaryCase();
|
||||
}
|
||||
|
||||
@@ -28,11 +28,8 @@
|
||||
#include "RimGeoMechModels.h"
|
||||
#include "RimMeasurement.h"
|
||||
#include "RimObservedDataCollection.h"
|
||||
#include "RimObservedSummaryData.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCaseMainCollection.h"
|
||||
#include "RimSurfaceCollection.h"
|
||||
#include "RimValveTemplateCollection.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimOilField, "ResInsightOilField" );
|
||||
@@ -128,73 +125,6 @@ const RimValveTemplateCollection* RimOilField::valveTemplateCollection() const
|
||||
return completionTemplateCollection()->valveTemplateCollection();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimOilField::uniqueShortNameForCase( RimSummaryCase* summaryCase )
|
||||
{
|
||||
std::set<QString> allAutoShortNames;
|
||||
|
||||
std::vector<RimSummaryCase*> allCases = summaryCaseMainCollection->allSummaryCases();
|
||||
std::vector<RimObservedSummaryData*> observedDataCases = observedDataCollection->allObservedSummaryData();
|
||||
|
||||
for ( auto observedData : observedDataCases )
|
||||
{
|
||||
allCases.push_back( observedData );
|
||||
}
|
||||
|
||||
for ( RimSummaryCase* sumCase : allCases )
|
||||
{
|
||||
if ( sumCase && sumCase != summaryCase )
|
||||
{
|
||||
allAutoShortNames.insert( sumCase->shortName() );
|
||||
}
|
||||
}
|
||||
|
||||
bool foundUnique = false;
|
||||
|
||||
QString caseName = summaryCase->caseName();
|
||||
QString shortName;
|
||||
|
||||
if ( caseName.size() > 2 )
|
||||
{
|
||||
QString candidate;
|
||||
candidate += caseName[0];
|
||||
|
||||
for ( int i = 1; i < caseName.size(); ++i )
|
||||
{
|
||||
if ( allAutoShortNames.count( candidate + caseName[i] ) == 0 )
|
||||
{
|
||||
shortName = candidate + caseName[i];
|
||||
foundUnique = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
shortName = caseName.left( 2 );
|
||||
if ( allAutoShortNames.count( shortName ) == 0 )
|
||||
{
|
||||
foundUnique = true;
|
||||
}
|
||||
}
|
||||
|
||||
int autoNumber = 0;
|
||||
|
||||
while ( !foundUnique )
|
||||
{
|
||||
QString candidate = shortName + QString::number( autoNumber++ );
|
||||
if ( allAutoShortNames.count( candidate ) == 0 )
|
||||
{
|
||||
shortName = candidate;
|
||||
foundUnique = true;
|
||||
}
|
||||
}
|
||||
|
||||
return shortName;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -57,8 +57,6 @@ public:
|
||||
RimValveTemplateCollection* valveTemplateCollection();
|
||||
const RimValveTemplateCollection* valveTemplateCollection() const;
|
||||
|
||||
QString uniqueShortNameForCase( RimSummaryCase* summaryCase );
|
||||
|
||||
caf::PdmChildField<RimEclipseCaseCollection*> analysisModels;
|
||||
caf::PdmChildField<RimGeoMechModels*> geoMechModels;
|
||||
caf::PdmChildField<RimWellPathCollection*> wellPathCollection;
|
||||
|
||||
@@ -132,7 +132,7 @@ void RimSummaryCalculationVariable::fieldChangedByUi( const caf::PdmFieldHandle*
|
||||
QString RimSummaryCalculationVariable::summaryAddressDisplayString() const
|
||||
{
|
||||
QString caseName;
|
||||
if ( m_case() ) caseName = m_case()->caseName();
|
||||
if ( m_case() ) caseName = m_case()->displayCaseName();
|
||||
|
||||
return RiaSummaryCurveDefinition::curveDefinitionText( caseName, m_summaryAddress()->address() );
|
||||
}
|
||||
|
||||
@@ -336,7 +336,7 @@ QString RimWellLogRftCurve::createCurveAutoName()
|
||||
}
|
||||
else if ( m_summaryCase )
|
||||
{
|
||||
name.push_back( m_summaryCase->caseName() );
|
||||
name.push_back( m_summaryCase->displayCaseName() );
|
||||
}
|
||||
else if ( m_observedFmuRftData )
|
||||
{
|
||||
|
||||
@@ -184,8 +184,8 @@ void RimDerivedEnsembleCase::calculate( const RifEclipseSummaryAddress& address
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimDerivedEnsembleCase::caseName() const
|
||||
{
|
||||
auto case1Name = m_summaryCase1->caseName();
|
||||
auto case2Name = m_summaryCase2->caseName();
|
||||
auto case1Name = m_summaryCase1->displayCaseName();
|
||||
auto case2Name = m_summaryCase2->displayCaseName();
|
||||
|
||||
if ( case1Name == case2Name )
|
||||
return case1Name;
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "RifSummaryReaderInterface.h"
|
||||
|
||||
#include "RimMainPlotCollection.h"
|
||||
#include "RimObservedDataCollection.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimSummaryCaseCollection.h"
|
||||
@@ -30,6 +31,7 @@
|
||||
|
||||
#include "cvfAssert.h"
|
||||
|
||||
#include "RimObservedSummaryData.h"
|
||||
#include <QFileInfo>
|
||||
|
||||
CAF_PDM_ABSTRACT_SOURCE_INIT( RimSummaryCase, "SummaryCase" );
|
||||
@@ -178,6 +180,14 @@ RifReaderRftInterface* RimSummaryCase::rftReader()
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimSummaryCase::errorMessagesFromReader()
|
||||
{
|
||||
return QString();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -191,8 +201,8 @@ void RimSummaryCase::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderin
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCase::updateTreeItemName()
|
||||
{
|
||||
if ( caseName() != shortName() )
|
||||
this->setUiName( caseName() + " (" + shortName() + ")" );
|
||||
if ( caseName() != displayCaseName() )
|
||||
this->setUiName( caseName() + " (" + displayCaseName() + ")" );
|
||||
else
|
||||
this->setUiName( caseName() );
|
||||
}
|
||||
@@ -200,11 +210,19 @@ void RimSummaryCase::updateTreeItemName()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimSummaryCase::shortName() const
|
||||
QString RimSummaryCase::displayCaseName() const
|
||||
{
|
||||
return m_shortName();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimSummaryCase::nativeCaseName() const
|
||||
{
|
||||
return caseName();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -226,6 +244,77 @@ void RimSummaryCase::initAfterRead()
|
||||
updateOptionSensitivity();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimSummaryCase::uniqueShortNameForCase( RimSummaryCase* summaryCase )
|
||||
{
|
||||
RimOilField* oilField = nullptr;
|
||||
summaryCase->firstAncestorOrThisOfType( oilField );
|
||||
CVF_ASSERT( oilField );
|
||||
|
||||
std::set<QString> allAutoShortNames;
|
||||
|
||||
std::vector<RimSummaryCase*> allCases = oilField->summaryCaseMainCollection->allSummaryCases();
|
||||
std::vector<RimObservedSummaryData*> observedDataCases = oilField->observedDataCollection->allObservedSummaryData();
|
||||
|
||||
for ( auto observedData : observedDataCases )
|
||||
{
|
||||
allCases.push_back( observedData );
|
||||
}
|
||||
|
||||
for ( RimSummaryCase* sumCase : allCases )
|
||||
{
|
||||
if ( sumCase && sumCase != summaryCase )
|
||||
{
|
||||
allAutoShortNames.insert( sumCase->displayCaseName() );
|
||||
}
|
||||
}
|
||||
|
||||
bool foundUnique = false;
|
||||
|
||||
QString caseName = summaryCase->caseName();
|
||||
QString shortName;
|
||||
|
||||
if ( caseName.size() > 2 )
|
||||
{
|
||||
QString candidate;
|
||||
candidate += caseName[0];
|
||||
|
||||
for ( int i = 1; i < caseName.size(); ++i )
|
||||
{
|
||||
if ( allAutoShortNames.count( candidate + caseName[i] ) == 0 )
|
||||
{
|
||||
shortName = candidate + caseName[i];
|
||||
foundUnique = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
shortName = caseName.left( 2 );
|
||||
if ( allAutoShortNames.count( shortName ) == 0 )
|
||||
{
|
||||
foundUnique = true;
|
||||
}
|
||||
}
|
||||
|
||||
int autoNumber = 0;
|
||||
|
||||
while ( !foundUnique )
|
||||
{
|
||||
QString candidate = shortName + QString::number( autoNumber++ );
|
||||
if ( allAutoShortNames.count( candidate ) == 0 )
|
||||
{
|
||||
shortName = candidate;
|
||||
foundUnique = true;
|
||||
}
|
||||
}
|
||||
|
||||
return shortName;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -233,11 +322,7 @@ void RimSummaryCase::updateAutoShortName()
|
||||
{
|
||||
if ( m_useAutoShortName )
|
||||
{
|
||||
RimOilField* oilField = nullptr;
|
||||
this->firstAncestorOrThisOfType( oilField );
|
||||
CVF_ASSERT( oilField );
|
||||
|
||||
m_shortName = oilField->uniqueShortNameForCase( this );
|
||||
m_shortName = RimSummaryCase::uniqueShortNameForCase( this );
|
||||
}
|
||||
else if ( m_shortName() == DEFAULT_DISPLAY_NAME )
|
||||
{
|
||||
|
||||
@@ -45,8 +45,8 @@ public:
|
||||
~RimSummaryCase() override;
|
||||
|
||||
virtual QString summaryHeaderFilename() const;
|
||||
virtual QString caseName() const = 0;
|
||||
QString shortName() const;
|
||||
QString displayCaseName() const;
|
||||
QString nativeCaseName() const;
|
||||
|
||||
RiaEclipseUnitTools::UnitSystemType unitsSystem();
|
||||
|
||||
@@ -58,10 +58,7 @@ public:
|
||||
virtual void createRftReaderInterface() {}
|
||||
virtual RifSummaryReaderInterface* summaryReader() = 0;
|
||||
virtual RifReaderRftInterface* rftReader();
|
||||
virtual QString errorMessagesFromReader()
|
||||
{
|
||||
return QString();
|
||||
}
|
||||
virtual QString errorMessagesFromReader();
|
||||
|
||||
virtual void updateFilePathsFromProjectPath( const QString& newProjectPath, const QString& oldProjectPath ) = 0;
|
||||
|
||||
@@ -83,6 +80,13 @@ protected:
|
||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
|
||||
void updateTreeItemName();
|
||||
|
||||
virtual QString caseName() const = 0;
|
||||
|
||||
private:
|
||||
void initAfterRead() override;
|
||||
static QString uniqueShortNameForCase( RimSummaryCase* summaryCase );
|
||||
|
||||
protected:
|
||||
caf::PdmField<QString> m_shortName;
|
||||
caf::PdmField<bool> m_useAutoShortName;
|
||||
caf::PdmField<caf::FilePath> m_summaryHeaderFilename;
|
||||
@@ -91,7 +95,4 @@ protected:
|
||||
std::shared_ptr<RigCaseRealizationParameters> m_crlParameters;
|
||||
|
||||
static const QString DEFAULT_DISPLAY_NAME;
|
||||
|
||||
private:
|
||||
void initAfterRead() override;
|
||||
};
|
||||
|
||||
@@ -544,13 +544,13 @@ QString RimSummaryCaseMainCollection::uniqueShortNameForCase( RimSummaryCase* su
|
||||
{
|
||||
if ( sumCase && sumCase != summaryCase )
|
||||
{
|
||||
allAutoShortNames.insert( sumCase->shortName() );
|
||||
allAutoShortNames.insert( sumCase->displayCaseName() );
|
||||
}
|
||||
}
|
||||
|
||||
bool foundUnique = false;
|
||||
|
||||
QString caseName = summaryCase->caseName();
|
||||
QString caseName = summaryCase->nativeCaseName();
|
||||
QString shortName;
|
||||
|
||||
if ( caseName.size() > 2 )
|
||||
|
||||
@@ -385,7 +385,7 @@ QList<caf::PdmOptionItemInfo> RimSummaryCurve::calculateValueOptions( const caf:
|
||||
|
||||
for ( RimSummaryCase* rimCase : cases )
|
||||
{
|
||||
options.push_back( caf::PdmOptionItemInfo( rimCase->caseName(), rimCase ) );
|
||||
options.push_back( caf::PdmOptionItemInfo( rimCase->displayCaseName(), rimCase ) );
|
||||
}
|
||||
|
||||
if ( options.size() > 0 )
|
||||
@@ -794,12 +794,12 @@ QString RimSummaryCurve::curveExportDescription( const RifEclipseSummaryAddress&
|
||||
{
|
||||
return QString( "%1.%2.%3" )
|
||||
.arg( QString::fromStdString( addressUiText ) )
|
||||
.arg( m_yValuesSummaryCase->caseName() )
|
||||
.arg( m_yValuesSummaryCase->nativeCaseName() )
|
||||
.arg( group->name() );
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString( "%1.%2" ).arg( QString::fromStdString( addressUiText ) ).arg( m_yValuesSummaryCase->caseName() );
|
||||
return QString( "%1.%2" ).arg( QString::fromStdString( addressUiText ) ).arg( m_yValuesSummaryCase->nativeCaseName() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ QString RimSummaryCurveAutoName::curveNameY( const RifEclipseSummaryAddress& sum
|
||||
std::string caseNameY;
|
||||
if ( caseNameY.empty() && summaryCurve && summaryCurve->summaryCaseY() )
|
||||
{
|
||||
caseNameY = summaryCurve->summaryCaseY()->caseName().toStdString();
|
||||
caseNameY = summaryCurve->summaryCaseY()->displayCaseName().toStdString();
|
||||
}
|
||||
|
||||
{
|
||||
@@ -114,7 +114,7 @@ QString RimSummaryCurveAutoName::curveNameX( const RifEclipseSummaryAddress& sum
|
||||
std::string caseNameX;
|
||||
if ( caseNameX.empty() && summaryCurve && summaryCurve->summaryCaseX() )
|
||||
{
|
||||
caseNameX = summaryCurve->summaryCaseX()->caseName().toStdString();
|
||||
caseNameX = summaryCurve->summaryCaseX()->displayCaseName().toStdString();
|
||||
}
|
||||
|
||||
{
|
||||
|
||||
@@ -2107,7 +2107,7 @@ void populateSummaryCurvesData( std::vector<RimSummaryCurve*> curves, SummaryCur
|
||||
if ( isObservedCurve && ( curveType & CURVE_TYPE_OBSERVED ) == 0 ) continue;
|
||||
if ( !isObservedCurve && ( curveType & CURVE_TYPE_GRID ) == 0 ) continue;
|
||||
|
||||
QString curveCaseName = curve->summaryCaseY()->caseName();
|
||||
QString curveCaseName = curve->summaryCaseY()->displayCaseName();
|
||||
|
||||
size_t casePosInList = cvf::UNDEFINED_SIZE_T;
|
||||
for ( size_t i = 0; i < curvesData->caseNames.size(); i++ )
|
||||
|
||||
@@ -504,7 +504,7 @@ void RimSummaryPlotFilterTextCurveSetEditor::appendOptionItemsForSources( QList<
|
||||
// Top level cases
|
||||
for ( const auto& sumCase : sumCaseMainColl->topLevelSummaryCases() )
|
||||
{
|
||||
options.push_back( caf::PdmOptionItemInfo( sumCase->caseName(), sumCase ) );
|
||||
options.push_back( caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -539,7 +539,7 @@ void RimSummaryPlotFilterTextCurveSetEditor::appendOptionItemsForSources( QList<
|
||||
|
||||
for ( const auto& sumCase : sumCaseColl->allSummaryCases() )
|
||||
{
|
||||
auto optionItem = caf::PdmOptionItemInfo( sumCase->caseName(), sumCase );
|
||||
auto optionItem = caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase );
|
||||
optionItem.setLevel( 1 );
|
||||
options.push_back( optionItem );
|
||||
}
|
||||
|
||||
@@ -293,7 +293,7 @@ void RimSummaryPlotNameHelper::extractPlotTitleSubStrings()
|
||||
|
||||
if ( summaryCase )
|
||||
{
|
||||
m_titleCaseName = summaryCase->shortName();
|
||||
m_titleCaseName = summaryCase->displayCaseName();
|
||||
}
|
||||
}
|
||||
else if ( ensembleCases.size() == 1 && summaryCases.empty() )
|
||||
|
||||
@@ -193,7 +193,7 @@ QList<caf::PdmOptionItemInfo>
|
||||
auto summaryCases = RimSummaryPlotSourceStepping::summaryCasesForSourceStepping();
|
||||
for ( auto sumCase : summaryCases )
|
||||
{
|
||||
options.append( caf::PdmOptionItemInfo( sumCase->caseName(), sumCase ) );
|
||||
options.append( caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase ) );
|
||||
}
|
||||
|
||||
return options;
|
||||
|
||||
@@ -1333,7 +1333,7 @@ void RiuSummaryCurveDefSelection::appendOptionItemsForSources( QList<caf::PdmOpt
|
||||
// Top level cases
|
||||
for ( const auto& sumCase : sumCaseMainColl->topLevelSummaryCases() )
|
||||
{
|
||||
options.push_back( caf::PdmOptionItemInfo( sumCase->caseName(), sumCase ) );
|
||||
options.push_back( caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1368,7 +1368,7 @@ void RiuSummaryCurveDefSelection::appendOptionItemsForSources( QList<caf::PdmOpt
|
||||
|
||||
for ( const auto& sumCase : sumCaseColl->allSummaryCases() )
|
||||
{
|
||||
auto optionItem = caf::PdmOptionItemInfo( sumCase->caseName(), sumCase );
|
||||
auto optionItem = caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase );
|
||||
optionItem.setLevel( 1 );
|
||||
options.push_back( optionItem );
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
sumCurve = dynamic_cast<RimSummaryCurve*>( riuCurve->ownerRimCurve() );
|
||||
}
|
||||
|
||||
return sumCurve && sumCurve->summaryCaseY() ? sumCurve->summaryCaseY()->caseName() : "";
|
||||
return sumCurve && sumCurve->summaryCaseY() ? sumCurve->summaryCaseY()->displayCaseName() : "";
|
||||
}
|
||||
};
|
||||
static EnsembleCurveInfoTextProvider ensembleCurveInfoTextProvider;
|
||||
|
||||
Reference in New Issue
Block a user