#2213 Formations: On import, set formation on active case

This commit is contained in:
Rebecca Cox 2017-12-01 13:24:43 +01:00
parent 917b824177
commit a2a7155d1c
7 changed files with 44 additions and 12 deletions

View File

@ -27,6 +27,7 @@
#include "RimGeoMechCase.h" #include "RimGeoMechCase.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimView.h"
#include "RigEclipseCaseData.h" #include "RigEclipseCaseData.h"
#include "RigFemPartResultsCollection.h" #include "RigFemPartResultsCollection.h"
@ -37,6 +38,7 @@
#include <QAction> #include <QAction>
#include <QFileDialog> #include <QFileDialog>
CAF_CMD_SOURCE_INIT(RicImportFormationNamesFeature, "RicImportFormationNamesFeature"); CAF_CMD_SOURCE_INIT(RicImportFormationNamesFeature, "RicImportFormationNamesFeature");
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -78,21 +80,14 @@ void RicImportFormationNamesFeature::onActionTriggered(bool isChecked)
std::vector<RimCase*> cases; std::vector<RimCase*> cases;
proj->allCases(cases); proj->allCases(cases);
if (cases.size() == 1) if (!cases.empty())
{ {
std::vector<RimEclipseCase*> eclCases = proj->eclipseCases(); RimView* activeView = RiaApplication::instance()->activeReservoirView();
if (eclCases.size() == 1) RimCase* ownerCase = activeView->ownerCase();
{
eclCases[0]->activeFormationNames = formationName;
eclCases[0]->eclipseCaseData()->setActiveFormationNames(formationName->formationNamesData());
}
std::vector<RimGeoMechCase*> geoMechCases = proj->geoMechCases(); if (ownerCase)
if (geoMechCases.size() == 1)
{ {
geoMechCases[0]->activeFormationNames = formationName; ownerCase->setFormationNames(formationName);
geoMechCases[0]->geoMechData()->femPartResults()->setActiveFormationNames(formationName->formationNamesData());
} }
} }

View File

@ -66,6 +66,14 @@ cvf::Vec3d RimCase::displayModelOffset() const
return cvf::Vec3d::ZERO; return cvf::Vec3d::ZERO;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimCase::setFormationNames(RimFormationNames* formationNames)
{
activeFormationNames = formationNames;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -63,6 +63,7 @@ public:
virtual cvf::Vec3d displayModelOffset() const; virtual cvf::Vec3d displayModelOffset() const;
virtual void updateFormationNamesData() = 0; virtual void updateFormationNamesData() = 0;
virtual void setFormationNames(RimFormationNames* formationNames);
virtual double characteristicCellSize() const = 0; virtual double characteristicCellSize() const = 0;

View File

@ -775,6 +775,18 @@ double RimEclipseCase::characteristicCellSize() const
return 10.0; return 10.0;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseCase::setFormationNames(RimFormationNames* formationNames)
{
activeFormationNames = formationNames;
if (m_rigEclipseCase.notNull() && formationNames != nullptr)
{
m_rigEclipseCase->setActiveFormationNames(formationNames->formationNamesData());
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -107,6 +107,8 @@ public:
virtual double characteristicCellSize() const override; virtual double characteristicCellSize() const override;
virtual void setFormationNames(RimFormationNames* formationNames) override;
protected: protected:
virtual void initAfterRead(); virtual void initAfterRead();
virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ); virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue );

View File

@ -304,6 +304,18 @@ double RimGeoMechCase::characteristicCellSize() const
return 10.0; return 10.0;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGeoMechCase::setFormationNames(RimFormationNames* formationNames)
{
activeFormationNames = formationNames;
if (m_geoMechCaseData.notNull() && formationNames != nullptr)
{
m_geoMechCaseData->femPartResults()->setActiveFormationNames(formationNames->formationNamesData());
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -67,6 +67,8 @@ public:
virtual double characteristicCellSize() const override; virtual double characteristicCellSize() const override;
virtual void setFormationNames(RimFormationNames* formationNames) override;
// Fields: // Fields:
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews; caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;