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" );
|
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,42 +87,35 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked )
|
|||||||
app->setLastUsedDialogDirectory( "BINARY_GRID", QFileInfo( fileNames.last() ).absolutePath() );
|
app->setLastUsedDialogDirectory( "BINARY_GRID", QFileInfo( fileNames.last() ).absolutePath() );
|
||||||
|
|
||||||
// Find or create the FomationNamesCollection
|
// Find or create the FomationNamesCollection
|
||||||
|
RimFormationNames* formationName = importFormationFiles( 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* formationName = fomNameColl->importFiles( fileNames );
|
|
||||||
|
|
||||||
if ( fileNames.size() > 1 ) return;
|
if ( fileNames.size() > 1 ) return;
|
||||||
|
|
||||||
std::vector<RimCase*> cases;
|
|
||||||
proj->allCases( cases );
|
|
||||||
|
|
||||||
if ( !cases.empty() )
|
|
||||||
{
|
|
||||||
Rim3dView* activeView = RiaApplication::instance()->activeReservoirView();
|
|
||||||
if ( activeView )
|
|
||||||
{
|
|
||||||
RimCase* ownerCase = activeView->ownerCase();
|
|
||||||
if ( ownerCase )
|
|
||||||
{
|
|
||||||
ownerCase->setFormationNames( formationName );
|
|
||||||
ownerCase->updateConnectedEditors();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fomNameColl->updateConnectedEditors();
|
|
||||||
|
|
||||||
if ( formationName )
|
if ( formationName )
|
||||||
{
|
{
|
||||||
Riu3DMainWindowTools::selectAsCurrentItem( formationName );
|
RimProject* proj = RiaApplication::instance()->project();
|
||||||
|
|
||||||
|
std::vector<RimCase*> cases;
|
||||||
|
proj->allCases( cases );
|
||||||
|
|
||||||
|
if ( !cases.empty() )
|
||||||
|
{
|
||||||
|
Rim3dView* activeView = RiaApplication::instance()->activeReservoirView();
|
||||||
|
if ( activeView )
|
||||||
|
{
|
||||||
|
RimCase* ownerCase = activeView->ownerCase();
|
||||||
|
if ( ownerCase )
|
||||||
|
{
|
||||||
|
ownerCase->setFormationNames( formationName );
|
||||||
|
ownerCase->updateConnectedEditors();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( formationName )
|
||||||
|
{
|
||||||
|
Riu3DMainWindowTools::selectAsCurrentItem( formationName );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "cafCmdFeature.h"
|
#include "cafCmdFeature.h"
|
||||||
|
class RimFormationNames;
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
///
|
///
|
||||||
@ -27,6 +28,8 @@ class RicImportFormationNamesFeature : public caf::CmdFeature
|
|||||||
{
|
{
|
||||||
CAF_CMD_HEADER_INIT;
|
CAF_CMD_HEADER_INIT;
|
||||||
|
|
||||||
|
static RimFormationNames* importFormationFiles( const QStringList& fileNames );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overrides
|
// Overrides
|
||||||
bool isCommandEnabled() override;
|
bool isCommandEnabled() override;
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include "RicImportObservedFmuDataFeature.h"
|
#include "RicImportObservedFmuDataFeature.h"
|
||||||
|
|
||||||
#include "RiaApplication.h"
|
#include "RiaApplication.h"
|
||||||
|
#include "RicImportFormationNamesFeature.h"
|
||||||
#include "RifReaderFmuRft.h"
|
#include "RifReaderFmuRft.h"
|
||||||
|
|
||||||
#include "RimObservedDataCollection.h"
|
#include "RimObservedDataCollection.h"
|
||||||
@ -32,7 +33,9 @@
|
|||||||
#include "cafSelectionManager.h"
|
#include "cafSelectionManager.h"
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
#include <QDir>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
#include <QFileInfo>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
CAF_CMD_SOURCE_INIT( RicImportObservedFmuDataFeature, "RicImportObservedFmuDataFeature" );
|
CAF_CMD_SOURCE_INIT( RicImportObservedFmuDataFeature, "RicImportObservedFmuDataFeature" );
|
||||||
@ -62,6 +65,14 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog()
|
|||||||
for ( const QString& subDir : subDirsWithFmuData )
|
for ( const QString& subDir : subDirsWithFmuData )
|
||||||
{
|
{
|
||||||
importedData = observedDataCollection->createAndAddFmuRftDataFromPath( subDir );
|
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 )
|
if ( importedData != nullptr )
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user