##7903: Improve ensemble surface names

Update the name of statistics surface when created
Regenerate surface geo only when required
Create statistics surfaces when importing surface ensemble
This commit is contained in:
Magne Sjaastad
2021-08-26 15:12:27 +02:00
committed by GitHub
parent 795d9eecca
commit 49fa169db8
11 changed files with 226 additions and 98 deletions

View File

@@ -19,6 +19,7 @@
#include "RicImportEnsembleFeature.h"
#include "RiaApplication.h"
#include "RiaEnsembleNameTools.h"
#include "RiaFilePathTools.h"
#include "RiaPreferences.h"
#include "RiaSummaryTools.h"
@@ -76,7 +77,7 @@ void RicImportEnsembleFeature::onActionTriggered( bool isChecked )
if ( fileNames.isEmpty() ) return;
QString ensembleNameSuggestion = RiaSummaryTools::findSuitableEnsembleName( fileNames );
QString ensembleNameSuggestion = RiaEnsembleNameTools::findSuitableEnsembleName( fileNames );
QString ensembleName = askForEnsembleName( ensembleNameSuggestion );
if ( ensembleName.isEmpty() ) return;

View File

@@ -19,7 +19,11 @@
#include "RicImportEnsembleSurfaceFeature.h"
#include "RiaApplication.h"
#include "RiaEnsembleNameTools.h"
#include "RiaLogging.h"
#include "RiaSummaryTools.h"
#include "RicRecursiveFileSearchDialog.h"
#include "RimEnsembleSurface.h"
#include "RimFileSurface.h"
@@ -27,7 +31,7 @@
#include "RimProject.h"
#include "RimSurfaceCollection.h"
#include "RicRecursiveFileSearchDialog.h"
#include "Riu3DMainWindowTools.h"
#include <QAction>
#include <QFileInfo>
@@ -61,15 +65,24 @@ void RicImportEnsembleSurfaceFeature::onActionTriggered( bool isChecked )
QStringList fileNames = runRecursiveFileSearchDialog( "Import Ensemble Surface", pathCacheName );
if ( fileNames.isEmpty() ) return;
QString ensembleName = "Ensemble Surface";
if ( ensembleName.isEmpty() ) return;
QString ensembleName = RiaEnsembleNameTools::findSuitableEnsembleName( fileNames );
QString layerName = RiaEnsembleNameTools::findCommonBaseName( fileNames );
if ( !layerName.isEmpty() )
{
ensembleName += QString( " : %1" ).arg( layerName );
}
if ( ensembleName.isEmpty() ) ensembleName = "Ensemble Surface";
std::vector<RimFileSurface*> surfaces;
for ( QString fileName : fileNames )
for ( const auto& fileName : fileNames )
{
RimFileSurface* fileSurface = new RimFileSurface;
fileSurface->setSurfaceFilePath( fileName );
auto shortName = RiaEnsembleNameTools::uniqueShortName( fileName, fileNames );
fileSurface->setUserDescription( shortName );
if ( fileSurface->onLoadData() )
{
surfaces.push_back( fileSurface );
@@ -84,7 +97,11 @@ void RicImportEnsembleSurfaceFeature::onActionTriggered( bool isChecked )
ensemble->addFileSurface( surface );
RimProject::current()->activeOilField()->surfaceCollection->addEnsembleSurface( ensemble );
ensemble->loadDataAndUpdate();
RimProject::current()->activeOilField()->surfaceCollection->updateConnectedEditors();
Riu3DMainWindowTools::selectAsCurrentItem( ensemble );
}
//--------------------------------------------------------------------------------------------------