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

View File

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

View File

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

View File

@ -775,6 +775,18 @@ double RimEclipseCase::characteristicCellSize() const
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 void setFormationNames(RimFormationNames* formationNames) override;
protected:
virtual void initAfterRead();
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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
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 void setFormationNames(RimFormationNames* formationNames) override;
// Fields:
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;