(#396) Disconnected EclipseResultDefiniton from EclipseView

So that it can be used in WellLogCurves
This commit is contained in:
Jacob Støren 2015-09-01 13:56:35 +02:00
parent c9887c26c6
commit 9df1e48543
7 changed files with 52 additions and 42 deletions

View File

@ -96,7 +96,7 @@ void RicEclipsePropertyFilterFeatureImpl::setDefaults(RimEclipsePropertyFilter*
RimEclipseView* reservoirView = propertyFilterCollection->reservoirView(); RimEclipseView* reservoirView = propertyFilterCollection->reservoirView();
CVF_ASSERT(reservoirView); CVF_ASSERT(reservoirView);
propertyFilter->resultDefinition->setReservoirView(reservoirView); propertyFilter->resultDefinition->setEclipseCase(reservoirView->eclipseCase());
propertyFilter->resultDefinition->setResultVariable(reservoirView->cellResult->resultVariable()); propertyFilter->resultDefinition->setResultVariable(reservoirView->cellResult->resultVariable());
propertyFilter->resultDefinition->setPorosityModel(reservoirView->cellResult->porosityModel()); propertyFilter->resultDefinition->setPorosityModel(reservoirView->cellResult->porosityModel());
propertyFilter->resultDefinition->setResultType(reservoirView->cellResult->resultType()); propertyFilter->resultDefinition->setResultType(reservoirView->cellResult->resultType());

View File

@ -181,7 +181,7 @@ void RimEclipseCellColors::initAfterRead()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseCellColors::setReservoirView(RimEclipseView* ownerReservoirView) void RimEclipseCellColors::setReservoirView(RimEclipseView* ownerReservoirView)
{ {
RimEclipseResultDefinition::setReservoirView(ownerReservoirView); this->setEclipseCase(ownerReservoirView->eclipseCase());
m_reservoirView = ownerReservoirView; m_reservoirView = ownerReservoirView;
@ -192,6 +192,14 @@ void RimEclipseCellColors::setReservoirView(RimEclipseView* ownerReservoirView)
this->ternaryLegendConfig()->setReservoirView(ownerReservoirView); this->ternaryLegendConfig()->setReservoirView(ownerReservoirView);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimEclipseView* RimEclipseCellColors::reservoirView()
{
return m_reservoirView;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///

View File

@ -41,26 +41,29 @@ public:
RimEclipseCellColors(); RimEclipseCellColors();
virtual ~RimEclipseCellColors(); virtual ~RimEclipseCellColors();
virtual void setReservoirView(RimEclipseView* ownerReservoirView); void setReservoirView(RimEclipseView* ownerReservoirView);
RimEclipseView* reservoirView();
RimLegendConfig* legendConfig();
RimLegendConfig* legendConfig();
caf::PdmChildField<RimTernaryLegendConfig*> ternaryLegendConfig; caf::PdmChildField<RimTernaryLegendConfig*> ternaryLegendConfig;
// Overridden methods virtual void setResultVariable(const QString& resultName);
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
virtual void setResultVariable(const QString& resultName);
protected: protected:
// Overridden methods
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
friend class RimEclipseFaultColors; friend class RimEclipseFaultColors;
virtual void initAfterRead(); virtual void initAfterRead();
private: private:
void changeLegendConfig(QString resultVarNameOfNewLegend); void changeLegendConfig(QString resultVarNameOfNewLegend);
caf::PdmChildArrayField<RimLegendConfig*> m_legendConfigData; caf::PdmChildArrayField<RimLegendConfig*> m_legendConfigData;
caf::PdmPtrField<RimLegendConfig*> m_legendConfigPtrField; caf::PdmPtrField<RimLegendConfig*> m_legendConfigPtrField;
caf::PdmPointer<RimEclipseView> m_reservoirView;
// Obsolete
caf::PdmChildField<RimLegendConfig*> obsoleteField_legendConfig; caf::PdmChildField<RimLegendConfig*> obsoleteField_legendConfig;
}; };

View File

@ -249,7 +249,7 @@ void RimEclipsePropertyFilter::initAfterRead()
{ {
resultDefinition->initAfterRead(); resultDefinition->initAfterRead();
resultDefinition->setReservoirView(parentContainer()->reservoirView()); resultDefinition->setEclipseCase(parentContainer()->reservoirView()->eclipseCase());
resultDefinition->loadResult(); resultDefinition->loadResult();
updateIconState(); updateIconState();
computeResultValueRange(); computeResultValueRange();

View File

@ -40,7 +40,6 @@ CAF_PDM_SOURCE_INIT(RimEclipseResultDefinition, "ResultDefinition");
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimEclipseResultDefinition::RimEclipseResultDefinition() RimEclipseResultDefinition::RimEclipseResultDefinition()
//: m_gridScalarResultIndex(cvf::UNDEFINED_SIZE_T)
{ {
CAF_PDM_InitObject("Result Definition", "", "", ""); CAF_PDM_InitObject("Result Definition", "", "", "");
@ -76,30 +75,29 @@ RimEclipseResultDefinition::~RimEclipseResultDefinition()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseResultDefinition::setReservoirView(RimEclipseView* ownerReservoirView) void RimEclipseResultDefinition::setEclipseCase(RimEclipseCase* eclipseCase)
{ {
m_reservoirView = ownerReservoirView; m_eclipseCase = eclipseCase;
updateFieldVisibility();
updateFieldVisibility();
} }
QStringList RimEclipseResultDefinition::getResultVariableListForCurrentUIFieldSettings() QStringList RimEclipseResultDefinition::getResultVariableListForCurrentUIFieldSettings()
{ {
if (!m_reservoirView || !m_reservoirView->eclipseCase() ) return QStringList(); if (!m_eclipseCase ) return QStringList();
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_porosityModelUiField()); RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_porosityModelUiField());
return m_reservoirView->eclipseCase()->results(porosityModel)->cellResults()->resultNames(m_resultTypeUiField()); return m_eclipseCase->results(porosityModel)->cellResults()->resultNames(m_resultTypeUiField());
} }
RimReservoirCellResultsStorage* RimEclipseResultDefinition::currentGridCellResults() const RimReservoirCellResultsStorage* RimEclipseResultDefinition::currentGridCellResults() const
{ {
if (!m_reservoirView || !m_reservoirView->eclipseCase()) return NULL; if (!m_eclipseCase ) return NULL;
RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_porosityModel()); RifReaderInterface::PorosityModelResultType porosityModel = RigCaseCellResultsData::convertFromProjectModelPorosityModel(m_porosityModel());
return m_reservoirView->eclipseCase()->results(porosityModel); return m_eclipseCase->results(porosityModel);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -128,8 +126,8 @@ void RimEclipseResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
if (&m_resultVariableUiField == changedField) if (&m_resultVariableUiField == changedField)
{ {
m_porosityModel = m_porosityModelUiField; m_porosityModel = m_porosityModelUiField;
m_resultType = m_resultTypeUiField; m_resultType = m_resultTypeUiField;
m_resultVariable = m_resultVariableUiField; m_resultVariable = m_resultVariableUiField;
loadResult(); loadResult();
@ -139,8 +137,14 @@ void RimEclipseResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
{ {
propFilter->setToDefaultValues(); propFilter->setToDefaultValues();
propFilter->updateFilterName(); propFilter->updateFilterName();
m_reservoirView->scheduleGeometryRegen(PROPERTY_FILTERED);
m_reservoirView->scheduleCreateDisplayModelAndRedraw(); RimView* view = NULL;
this->firstAnchestorOrThisOfType(view);
if (view)
{
view->scheduleGeometryRegen(PROPERTY_FILTERED);
view->scheduleCreateDisplayModelAndRedraw();
}
} }
if (dynamic_cast<RimEclipseCellColors*>(this)) if (dynamic_cast<RimEclipseCellColors*>(this))
@ -334,13 +338,6 @@ bool RimEclipseResultDefinition::hasDynamicResult() const
return false; return false;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimEclipseView* RimEclipseResultDefinition::reservoirView()
{
return m_reservoirView;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
@ -397,12 +394,11 @@ bool RimEclipseResultDefinition::isTernarySaturationSelected() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEclipseResultDefinition::updateFieldVisibility() void RimEclipseResultDefinition::updateFieldVisibility()
{ {
if (m_reservoirView && if (m_eclipseCase &&
m_reservoirView->eclipseCase() && m_eclipseCase->reservoirData() &&
m_reservoirView->eclipseCase()->reservoirData() && m_eclipseCase->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS) )
m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS) )
{ {
if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->reservoirActiveCellCount() == 0) if (m_eclipseCase->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->reservoirActiveCellCount() == 0)
{ {
m_porosityModelUiField.uiCapability()->setUiHidden(true); m_porosityModelUiField.uiCapability()->setUiHidden(true);
} }

View File

@ -31,6 +31,7 @@
class RimEclipseView; class RimEclipseView;
class RigCaseCellResultsData; class RigCaseCellResultsData;
class RimReservoirCellResultsStorage; class RimReservoirCellResultsStorage;
class RimEclipseCase;
//================================================================================================== //==================================================================================================
/// ///
/// ///
@ -42,8 +43,7 @@ public:
RimEclipseResultDefinition(); RimEclipseResultDefinition();
virtual ~RimEclipseResultDefinition(); virtual ~RimEclipseResultDefinition();
virtual void setReservoirView(RimEclipseView* ownerReservoirView); void setEclipseCase(RimEclipseCase* eclipseCase);
RimEclipseView* reservoirView();
RimDefines::ResultCatType resultType() const { return m_resultType(); } RimDefines::ResultCatType resultType() const { return m_resultType(); }
void setResultType(RimDefines::ResultCatType val); void setResultType(RimDefines::ResultCatType val);
@ -78,7 +78,7 @@ protected:
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModelUiField; caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModelUiField;
caf::PdmField<QString> m_resultVariableUiField; caf::PdmField<QString> m_resultVariableUiField;
caf::PdmPointer<RimEclipseView> m_reservoirView; caf::PdmPointer<RimEclipseCase> m_eclipseCase;
protected: protected:

View File

@ -662,7 +662,7 @@ void RimEclipseView::loadDataAndUpdate()
QMessageBox::warning(RiuMainWindow::instance(), QMessageBox::warning(RiuMainWindow::instance(),
"Error when opening project file", "Error when opening project file",
"Could not open the Eclipse Grid file: \n"+ m_reservoir->gridFileName()); "Could not open the Eclipse Grid file: \n"+ m_reservoir->gridFileName());
m_reservoir = NULL; this->setEclipseCase( NULL);
return; return;
} }
} }
@ -1031,6 +1031,9 @@ void RimEclipseView::updateMinMaxValuesAndAddLegendToView(QString legendLabel, R
void RimEclipseView::setEclipseCase(RimEclipseCase* reservoir) void RimEclipseView::setEclipseCase(RimEclipseCase* reservoir)
{ {
m_reservoir = reservoir; m_reservoir = reservoir;
cellResult()->setEclipseCase(reservoir);
faultResultSettings()->customFaultResult()->setEclipseCase(reservoir);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------