mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4773 Ensemble RFT: load formation file when loading observed data
This commit is contained in:
parent
912e2063df
commit
79da8ba5b5
@ -40,6 +40,26 @@
|
||||
|
||||
CAF_CMD_SOURCE_INIT( RicImportFormationNamesFeature, "RicImportFormationNamesFeature" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFormationNames* RicImportFormationNamesFeature::importFormationFiles( const QStringList& fileNames )
|
||||
{
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
RimFormationNamesCollection* fomNameColl = proj->activeOilField()->formationNamesCollection();
|
||||
if ( !fomNameColl )
|
||||
{
|
||||
fomNameColl = new RimFormationNamesCollection;
|
||||
proj->activeOilField()->formationNamesCollection = fomNameColl;
|
||||
}
|
||||
|
||||
// For each file, find existing Formation names item, or create new
|
||||
RimFormationNames* formationNames = fomNameColl->importFiles( fileNames );
|
||||
fomNameColl->updateConnectedEditors();
|
||||
|
||||
return formationNames;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -67,20 +87,14 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked )
|
||||
app->setLastUsedDialogDirectory( "BINARY_GRID", QFileInfo( fileNames.last() ).absolutePath() );
|
||||
|
||||
// Find or create the FomationNamesCollection
|
||||
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
RimFormationNamesCollection* fomNameColl = proj->activeOilField()->formationNamesCollection();
|
||||
if ( !fomNameColl )
|
||||
{
|
||||
fomNameColl = new RimFormationNamesCollection;
|
||||
proj->activeOilField()->formationNamesCollection = fomNameColl;
|
||||
}
|
||||
|
||||
// For each file, find existing Formation names item, or create new
|
||||
RimFormationNames* formationName = fomNameColl->importFiles( fileNames );
|
||||
RimFormationNames* formationName = importFormationFiles( fileNames );
|
||||
|
||||
if ( fileNames.size() > 1 ) return;
|
||||
|
||||
if ( formationName )
|
||||
{
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
|
||||
std::vector<RimCase*> cases;
|
||||
proj->allCases( cases );
|
||||
|
||||
@ -98,13 +112,12 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked )
|
||||
}
|
||||
}
|
||||
|
||||
fomNameColl->updateConnectedEditors();
|
||||
|
||||
if ( formationName )
|
||||
{
|
||||
Riu3DMainWindowTools::selectAsCurrentItem( formationName );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
|
@ -19,6 +19,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "cafCmdFeature.h"
|
||||
class RimFormationNames;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@ -27,6 +28,8 @@ class RicImportFormationNamesFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
static RimFormationNames* importFormationFiles( const QStringList& fileNames );
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
bool isCommandEnabled() override;
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "RicImportObservedFmuDataFeature.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RicImportFormationNamesFeature.h"
|
||||
#include "RifReaderFmuRft.h"
|
||||
|
||||
#include "RimObservedDataCollection.h"
|
||||
@ -32,7 +33,9 @@
|
||||
#include "cafSelectionManager.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QDir>
|
||||
#include <QFileDialog>
|
||||
#include <QFileInfo>
|
||||
#include <QMessageBox>
|
||||
|
||||
CAF_CMD_SOURCE_INIT( RicImportObservedFmuDataFeature, "RicImportObservedFmuDataFeature" );
|
||||
@ -62,6 +65,14 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog()
|
||||
for ( const QString& subDir : subDirsWithFmuData )
|
||||
{
|
||||
importedData = observedDataCollection->createAndAddFmuRftDataFromPath( subDir );
|
||||
QDir dir( subDir );
|
||||
QString layerZoneFile = dir.absoluteFilePath( "layer_zone_table.txt" );
|
||||
if ( QFileInfo::exists( layerZoneFile ) )
|
||||
{
|
||||
QStringList fileNames;
|
||||
fileNames << layerZoneFile;
|
||||
RicImportFormationNamesFeature::importFormationFiles( fileNames );
|
||||
}
|
||||
}
|
||||
if ( importedData != nullptr )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user