From f69413087a82115eaefec89e46d302dd97d2b63d Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 26 Aug 2014 11:47:14 +0200 Subject: [PATCH] Custom fault result: Reorganized custom fault result selection Removed combo box used to specify fault color or custom result color. Fault colors is used if None is selected in result dialog. --- .../RivReservoirFaultsPartMgr.cpp | 12 ++--- .../Rim3dOverlayInfoConfig.cpp | 5 +- .../ProjectDataModel/RimFaultResultSlot.cpp | 50 +++++++------------ .../ProjectDataModel/RimFaultResultSlot.h | 12 ++--- .../ProjectDataModel/RimReservoirView.cpp | 20 +++----- 5 files changed, 34 insertions(+), 65 deletions(-) diff --git a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp index 7a418eb3ba..7ea48d38fd 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp @@ -25,10 +25,11 @@ #include "cafPdmFieldCvfColor.h" -#include "RimFaultCollection.h" #include "RigMainGrid.h" -#include "RimReservoirView.h" +#include "RimFaultCollection.h" #include "RimFaultResultSlot.h" +#include "RimReservoirView.h" +#include "RimResultSlot.h" //-------------------------------------------------------------------------------------------------- @@ -182,14 +183,13 @@ void RivReservoirFaultsPartMgr::updateColors(size_t timeStepIndex, RimResultSlot { RimFault* rimFault = faultCollection->faults[i]; - if (m_reservoirView->faultResultSettings()->showCustomFaultResult() && - m_reservoirView->faultResultSettings()->visualizationMode() == RimFaultResultSlot::FAULT_COLOR) + if (cellResultSlot && (cellResultSlot->hasResult() || cellResultSlot->isTernarySaturationSelected()) ) { - m_faultParts[i]->applySingleColorEffect(); + m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot); } else { - m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot); + m_faultParts[i]->applySingleColorEffect(); } } } diff --git a/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp b/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp index 33a7f6a880..40a464e9f8 100644 --- a/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp +++ b/ApplicationCode/ProjectDataModel/Rim3dOverlayInfoConfig.cpp @@ -160,7 +160,7 @@ void Rim3dOverlayInfoConfig::update3DInfo() infoText += QString("" "
MinP10 Mean P90 Max
%1 %2 %3 %4 %5
").arg(min).arg(p10).arg(mean).arg(p90).arg(max); - if (m_reservoirView->faultResultSettings()->visualizationMode() != RimFaultResultSlot::FAULT_COLOR) + if (m_reservoirView->faultResultSettings()->hasValidCustomResult()) { QString faultMapping; bool isShowingGrid = m_reservoirView->faultCollection()->isGridVisualizationMode(); @@ -185,10 +185,7 @@ void Rim3dOverlayInfoConfig::update3DInfo() } infoText += QString("Fault results: %1
").arg(faultMapping); - } - if (m_reservoirView->faultResultSettings()->customFaultResult()) - { infoText += QString("Fault Property: %1
").arg(m_reservoirView->faultResultSettings()->customFaultResult()->resultVariable()); } } diff --git a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp index dfdbcadf48..7bb41bb852 100644 --- a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp +++ b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp @@ -24,16 +24,6 @@ #include "RimUiTreeModelPdm.h" -namespace caf -{ - template<> - void AppEnum< RimFaultResultSlot::FaultVisualizationMode >::setUp() - { - addItem(RimFaultResultSlot::FAULT_COLOR, "FAULT_COLOR", "Fault Colors"); - addItem(RimFaultResultSlot::CUSTOM_RESULT_MAPPING, "CUSTOM_RESULT_MAPPING", "Custom Cell Results"); - setDefault(RimFaultResultSlot::FAULT_COLOR); - } -} CAF_PDM_SOURCE_INIT(RimFaultResultSlot, "RimFaultResultSlot"); @@ -47,7 +37,6 @@ RimFaultResultSlot::RimFaultResultSlot() CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", ""); showCustomFaultResult.setUiHidden(true); - CAF_PDM_InitField(&visualizationMode, "VisualizationMode", caf::AppEnum(RimFaultResultSlot::FAULT_COLOR), "Fault Color Mapping", "", "", ""); CAF_PDM_InitField(&showNNCs, "ShowNNCs", false, "Show NNCs", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_customFaultResult, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", ""); @@ -88,13 +77,6 @@ void RimFaultResultSlot::fieldChangedByUi(const caf::PdmFieldHandle* changedFiel m_customFaultResult->fieldChangedByUi(changedField, oldValue, newValue); - if (changedField == &visualizationMode) - { - updateFieldVisibility(); - - RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this); - } - if (changedField == &m_customFaultResult->m_resultVariableUiField) { RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this); @@ -127,12 +109,7 @@ void RimFaultResultSlot::updateFieldVisibility() //-------------------------------------------------------------------------------------------------- RimResultSlot* RimFaultResultSlot::customFaultResult() { - if (showCustomFaultResult() && this->visualizationMode() == CUSTOM_RESULT_MAPPING) - { - return this->m_customFaultResult(); - } - - return NULL; + return this->m_customFaultResult(); } //-------------------------------------------------------------------------------------------------- @@ -148,16 +125,12 @@ caf::PdmFieldHandle* RimFaultResultSlot::objectToggleField() //-------------------------------------------------------------------------------------------------- void RimFaultResultSlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) { - uiOrdering.add(&visualizationMode); uiOrdering.add(&showNNCs); - if (visualizationMode == CUSTOM_RESULT_MAPPING) - { - caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result"); - group1->add(&(m_customFaultResult->m_resultTypeUiField)); - group1->add(&(m_customFaultResult->m_porosityModelUiField)); - group1->add(&(m_customFaultResult->m_resultVariableUiField)); - } + caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result"); + group1->add(&(m_customFaultResult->m_resultTypeUiField)); + group1->add(&(m_customFaultResult->m_porosityModelUiField)); + group1->add(&(m_customFaultResult->m_resultVariableUiField)); } //-------------------------------------------------------------------------------------------------- @@ -168,3 +141,16 @@ QList RimFaultResultSlot::calculateValueOptions(const ca return m_customFaultResult->calculateValueOptions(fieldNeedingOptions, useOptionsOnly); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimFaultResultSlot::hasValidCustomResult() +{ + if (m_customFaultResult->hasResult() || m_customFaultResult->isTernarySaturationSelected()) + { + return true; + } + + return false; +} + diff --git a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h index 07d4be9a53..ccf3d410d8 100644 --- a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h +++ b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h @@ -32,12 +32,6 @@ class RimReservoirView; class RimFaultResultSlot : public caf::PdmObject { CAF_PDM_HEADER_INIT; -public: - enum FaultVisualizationMode - { - FAULT_COLOR, - CUSTOM_RESULT_MAPPING - }; public: RimFaultResultSlot(); @@ -45,13 +39,13 @@ public: void setReservoirView(RimReservoirView* ownerReservoirView); - caf::PdmField< caf::AppEnum< FaultVisualizationMode > > visualizationMode; caf::PdmField showNNCs; caf::PdmField showCustomFaultResult; + bool hasValidCustomResult(); + RimResultSlot* customFaultResult(); - RimResultSlot* customFaultResult(); - void updateFieldVisibility(); + void updateFieldVisibility(); virtual QList calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly ); diff --git a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp index ad6dcd7d65..b56a783381 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp +++ b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp @@ -921,10 +921,7 @@ void RimReservoirView::loadDataAndUpdate() CVF_ASSERT(this->cellEdgeResult() != NULL); this->cellEdgeResult()->loadResult(); - if (this->faultResultSettings()->customFaultResult()) - { - this->faultResultSettings()->customFaultResult()->loadResult(); - } + this->faultResultSettings()->customFaultResult()->loadResult(); this->faultResultSettings()->updateFieldVisibility(); updateViewerWidget(); @@ -1100,7 +1097,7 @@ void RimReservoirView::appendCellResultInfo(size_t gridIndex, size_t cellIndex, if (fault) { resultInfoText->append(QString("\nFault Name: %1\n").arg(fault->name())); - if (this->faultResultSettings()->customFaultResult()) + if (this->faultResultSettings()->hasValidCustomResult()) { resultInfoText->push_back("Fault result data:\n"); appendTextFromResultSlot(eclipseCase, gridIndex, cellIndex, this->m_currentTimeStep, this->faultResultSettings()->customFaultResult(), resultInfoText); @@ -1321,7 +1318,7 @@ void RimReservoirView::updateLegends() CVF_ASSERT(results); updateMinMaxValuesAndAddLegendToView(QString("Cell Results: \n"), this->cellResult(), results); - if (this->faultResultSettings()->customFaultResult()) + if (this->faultResultSettings()->hasValidCustomResult()) { updateMinMaxValuesAndAddLegendToView(QString("Fault Results: \n"), this->faultResultSettings()->customFaultResult(), results); } @@ -1986,19 +1983,14 @@ void RimReservoirView::updateFaultColors() std::vector faultGeometriesToRecolor = visibleFaultGeometryTypes(); RimResultSlot* faultResultSlot = this->cellResult(); - if (this->faultResultSettings()->customFaultResult()) + if (this->faultResultSettings()->showCustomFaultResult()) { faultResultSlot = this->faultResultSettings()->customFaultResult(); } - for (size_t i = 0; i < faultGeometriesToRecolor.size(); ++i) { - if (this->faultResultSettings()->visualizationMode() == RimFaultResultSlot::FAULT_COLOR) - { - m_reservoirGridPartManager->updateFaultColors(faultGeometriesToRecolor[i], m_currentTimeStep, faultResultSlot); - } - else if (this->animationMode() && this->cellEdgeResult()->hasResult()) + if (this->animationMode() && this->cellEdgeResult()->hasResult()) { m_reservoirGridPartManager->updateFaultCellEdgeResultColor(faultGeometriesToRecolor[i], m_currentTimeStep, faultResultSlot, this->cellEdgeResult()); } @@ -2039,7 +2031,7 @@ bool RimReservoirView::isTimeStepDependentDataVisible() const if (this->cellResult()->isTernarySaturationSelected()) return true; - if (this->faultResultSettings->customFaultResult()) + if (this->faultResultSettings->showCustomFaultResult()) { if (this->faultResultSettings->customFaultResult()->hasDynamicResult()) return true;