Make sure statistics cases are displayed in an Eclipse view

This commit is contained in:
Magne Sjaastad 2024-09-23 11:51:32 +02:00
parent 5792a3a53f
commit 9b150ca38a
6 changed files with 35 additions and 7 deletions

View File

@ -71,7 +71,7 @@ void RicImportGridCalculationExpressionsFeature::onActionTriggered( bool isCheck
auto calcColl = proj->gridCalculationCollection();
RimEclipseCase* firstCase = nullptr;
auto eclCases = RimEclipseCaseTools::allEclipseGridCases();
auto eclCases = RimEclipseCaseTools::nativeEclipseGridCases();
if ( !eclCases.empty() ) firstCase = eclCases.front();
for ( auto calc : calculations )

View File

@ -101,7 +101,7 @@ void RicNewViewFeature::onActionTriggered( bool isChecked )
{
// Use cases from grid ensemble if applicable
auto gridEnsemble = viewCollection->firstAncestorOfType<RimEclipseCaseEnsemble>();
auto eclipseCases = gridEnsemble ? gridEnsemble->cases() : RimEclipseCaseTools::allEclipseGridCases();
auto eclipseCases = gridEnsemble ? gridEnsemble->cases() : RimEclipseCaseTools::nativeEclipseGridCases();
if ( !eclipseCases.empty() )
{

View File

@ -22,6 +22,8 @@
#include "RimEclipseStatisticsCase.h"
#include "RimProject.h"
#include "GeoMech/RimGeoMechCase.h"
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -58,7 +60,7 @@ std::vector<RimEclipseResultCase*> RimEclipseCaseTools::eclipseResultCases()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimEclipseCase*> RimEclipseCaseTools::allEclipseGridCases()
std::vector<RimEclipseCase*> RimEclipseCaseTools::nativeEclipseGridCases()
{
// Find all Eclipse cases, including all single grid cases and source cases in a grid case group. Statistics cases are excluded.
@ -81,3 +83,26 @@ std::vector<RimEclipseCase*> RimEclipseCaseTools::allEclipseGridCases()
return {};
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimEclipseCase*> RimEclipseCaseTools::allEclipseGridCases()
{
RimProject* proj = RimProject::current();
if ( proj )
{
std::vector<RimEclipseCase*> eclipseCases;
for ( auto c : proj->allGridCases() )
{
if ( auto ec = dynamic_cast<RimEclipseCase*>( c ) )
{
eclipseCases.push_back( ec );
}
}
return eclipseCases;
}
return {};
}

View File

@ -35,6 +35,9 @@ public:
// Result cases based on RimEclipseCaseTools::elipseCases()
static std::vector<RimEclipseResultCase*> eclipseResultCases();
// All Eclipse cases including grid case group source cases, excluding statistics cases
// All native Eclipse cases including grid case group source cases, excluding statistics cases
static std::vector<RimEclipseCase*> nativeEclipseGridCases();
// All Eclipse cases including statistics cases
static std::vector<RimEclipseCase*> allEclipseGridCases();
};

View File

@ -266,7 +266,7 @@ std::vector<RimEclipseCase*> RimGridCalculation::outputEclipseCases() const
{
// Find all Eclipse cases suitable for grid calculations. This includes all single grid cases and source cases in a grid case group.
// Exclude the statistics cases, as it is not possible to use them in a grid calculations.
return RimEclipseCaseTools::allEclipseGridCases();
return RimEclipseCaseTools::nativeEclipseGridCases();
}
if ( m_additionalCasesType() == RimGridCalculation::AdditionalCasesType::GRID_CASE_GROUP )
@ -402,7 +402,7 @@ QList<caf::PdmOptionItemInfo> RimGridCalculation::calculateValueOptions( const c
firstInputCase = inputCases()[0];
}
for ( auto eclipseCase : RimEclipseCaseTools::allEclipseGridCases() )
for ( auto eclipseCase : RimEclipseCaseTools::nativeEclipseGridCases() )
{
if ( !eclipseCase ) continue;
if ( firstInputCase && !firstInputCase->isGridSizeEqualTo( eclipseCase ) ) continue;

View File

@ -110,7 +110,7 @@ QList<caf::PdmOptionItemInfo> RimResultSelectionUi::calculateValueOptions( const
if ( fieldNeedingOptions == &m_eclipseCase )
{
for ( auto* c : RimEclipseCaseTools::allEclipseGridCases() )
for ( auto* c : RimEclipseCaseTools::nativeEclipseGridCases() )
{
options.push_back( caf::PdmOptionItemInfo( c->caseUserDescription(), c, false, c->uiIconProvider() ) );
}