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.
This commit is contained in:
Magne Sjaastad 2014-08-26 11:47:14 +02:00
parent b3fd96d72e
commit f69413087a
5 changed files with 34 additions and 65 deletions

View File

@ -25,10 +25,11 @@
#include "cafPdmFieldCvfColor.h" #include "cafPdmFieldCvfColor.h"
#include "RimFaultCollection.h"
#include "RigMainGrid.h" #include "RigMainGrid.h"
#include "RimReservoirView.h" #include "RimFaultCollection.h"
#include "RimFaultResultSlot.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]; RimFault* rimFault = faultCollection->faults[i];
if (m_reservoirView->faultResultSettings()->showCustomFaultResult() && if (cellResultSlot && (cellResultSlot->hasResult() || cellResultSlot->isTernarySaturationSelected()) )
m_reservoirView->faultResultSettings()->visualizationMode() == RimFaultResultSlot::FAULT_COLOR)
{ {
m_faultParts[i]->applySingleColorEffect(); m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot);
} }
else else
{ {
m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot); m_faultParts[i]->applySingleColorEffect();
} }
} }
} }

View File

@ -160,7 +160,7 @@ void Rim3dOverlayInfoConfig::update3DInfo()
infoText += QString("<table border=0 cellspacing=5 ><tr><td>Min</td><td>P10</td> <td>Mean</td> <td>P90</td> <td>Max</td> </tr>" infoText += QString("<table border=0 cellspacing=5 ><tr><td>Min</td><td>P10</td> <td>Mean</td> <td>P90</td> <td>Max</td> </tr>"
"<tr><td>%1</td><td> %2</td><td> %3</td><td> %4</td><td> %5 </td></tr></table>").arg(min).arg(p10).arg(mean).arg(p90).arg(max); "<tr><td>%1</td><td> %2</td><td> %3</td><td> %4</td><td> %5 </td></tr></table>").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; QString faultMapping;
bool isShowingGrid = m_reservoirView->faultCollection()->isGridVisualizationMode(); bool isShowingGrid = m_reservoirView->faultCollection()->isGridVisualizationMode();
@ -185,10 +185,7 @@ void Rim3dOverlayInfoConfig::update3DInfo()
} }
infoText += QString("<b>Fault results: </b> %1<br>").arg(faultMapping); infoText += QString("<b>Fault results: </b> %1<br>").arg(faultMapping);
}
if (m_reservoirView->faultResultSettings()->customFaultResult())
{
infoText += QString("<b>Fault Property:</b> %1 <br>").arg(m_reservoirView->faultResultSettings()->customFaultResult()->resultVariable()); infoText += QString("<b>Fault Property:</b> %1 <br>").arg(m_reservoirView->faultResultSettings()->customFaultResult()->resultVariable());
} }
} }

View File

@ -24,16 +24,6 @@
#include "RimUiTreeModelPdm.h" #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"); CAF_PDM_SOURCE_INIT(RimFaultResultSlot, "RimFaultResultSlot");
@ -47,7 +37,6 @@ RimFaultResultSlot::RimFaultResultSlot()
CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", ""); CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", "");
showCustomFaultResult.setUiHidden(true); showCustomFaultResult.setUiHidden(true);
CAF_PDM_InitField(&visualizationMode, "VisualizationMode", caf::AppEnum<RimFaultResultSlot::FaultVisualizationMode>(RimFaultResultSlot::FAULT_COLOR), "Fault Color Mapping", "", "", "");
CAF_PDM_InitField(&showNNCs, "ShowNNCs", false, "Show NNCs", "", "", ""); CAF_PDM_InitField(&showNNCs, "ShowNNCs", false, "Show NNCs", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_customFaultResult, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", ""); 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); m_customFaultResult->fieldChangedByUi(changedField, oldValue, newValue);
if (changedField == &visualizationMode)
{
updateFieldVisibility();
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
}
if (changedField == &m_customFaultResult->m_resultVariableUiField) if (changedField == &m_customFaultResult->m_resultVariableUiField)
{ {
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this); RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
@ -127,12 +109,7 @@ void RimFaultResultSlot::updateFieldVisibility()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimResultSlot* RimFaultResultSlot::customFaultResult() RimResultSlot* RimFaultResultSlot::customFaultResult()
{ {
if (showCustomFaultResult() && this->visualizationMode() == CUSTOM_RESULT_MAPPING) return this->m_customFaultResult();
{
return this->m_customFaultResult();
}
return NULL;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -148,16 +125,12 @@ caf::PdmFieldHandle* RimFaultResultSlot::objectToggleField()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimFaultResultSlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) void RimFaultResultSlot::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{ {
uiOrdering.add(&visualizationMode);
uiOrdering.add(&showNNCs); uiOrdering.add(&showNNCs);
if (visualizationMode == CUSTOM_RESULT_MAPPING) caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result");
{ group1->add(&(m_customFaultResult->m_resultTypeUiField));
caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result"); group1->add(&(m_customFaultResult->m_porosityModelUiField));
group1->add(&(m_customFaultResult->m_resultTypeUiField)); group1->add(&(m_customFaultResult->m_resultVariableUiField));
group1->add(&(m_customFaultResult->m_porosityModelUiField));
group1->add(&(m_customFaultResult->m_resultVariableUiField));
}
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -168,3 +141,16 @@ QList<caf::PdmOptionItemInfo> RimFaultResultSlot::calculateValueOptions(const ca
return m_customFaultResult->calculateValueOptions(fieldNeedingOptions, useOptionsOnly); return m_customFaultResult->calculateValueOptions(fieldNeedingOptions, useOptionsOnly);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimFaultResultSlot::hasValidCustomResult()
{
if (m_customFaultResult->hasResult() || m_customFaultResult->isTernarySaturationSelected())
{
return true;
}
return false;
}

View File

@ -32,12 +32,6 @@ class RimReservoirView;
class RimFaultResultSlot : public caf::PdmObject class RimFaultResultSlot : public caf::PdmObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
public:
enum FaultVisualizationMode
{
FAULT_COLOR,
CUSTOM_RESULT_MAPPING
};
public: public:
RimFaultResultSlot(); RimFaultResultSlot();
@ -45,13 +39,13 @@ public:
void setReservoirView(RimReservoirView* ownerReservoirView); void setReservoirView(RimReservoirView* ownerReservoirView);
caf::PdmField< caf::AppEnum< FaultVisualizationMode > > visualizationMode;
caf::PdmField<bool> showNNCs; caf::PdmField<bool> showNNCs;
caf::PdmField<bool> showCustomFaultResult; caf::PdmField<bool> showCustomFaultResult;
bool hasValidCustomResult();
RimResultSlot* customFaultResult();
RimResultSlot* customFaultResult(); void updateFieldVisibility();
void updateFieldVisibility();
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly ); virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );

View File

@ -921,10 +921,7 @@ void RimReservoirView::loadDataAndUpdate()
CVF_ASSERT(this->cellEdgeResult() != NULL); CVF_ASSERT(this->cellEdgeResult() != NULL);
this->cellEdgeResult()->loadResult(); this->cellEdgeResult()->loadResult();
if (this->faultResultSettings()->customFaultResult()) this->faultResultSettings()->customFaultResult()->loadResult();
{
this->faultResultSettings()->customFaultResult()->loadResult();
}
this->faultResultSettings()->updateFieldVisibility(); this->faultResultSettings()->updateFieldVisibility();
updateViewerWidget(); updateViewerWidget();
@ -1100,7 +1097,7 @@ void RimReservoirView::appendCellResultInfo(size_t gridIndex, size_t cellIndex,
if (fault) if (fault)
{ {
resultInfoText->append(QString("\nFault Name: %1\n").arg(fault->name())); 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"); resultInfoText->push_back("Fault result data:\n");
appendTextFromResultSlot(eclipseCase, gridIndex, cellIndex, this->m_currentTimeStep, this->faultResultSettings()->customFaultResult(), resultInfoText); appendTextFromResultSlot(eclipseCase, gridIndex, cellIndex, this->m_currentTimeStep, this->faultResultSettings()->customFaultResult(), resultInfoText);
@ -1321,7 +1318,7 @@ void RimReservoirView::updateLegends()
CVF_ASSERT(results); CVF_ASSERT(results);
updateMinMaxValuesAndAddLegendToView(QString("Cell Results: \n"), this->cellResult(), 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); updateMinMaxValuesAndAddLegendToView(QString("Fault Results: \n"), this->faultResultSettings()->customFaultResult(), results);
} }
@ -1986,19 +1983,14 @@ void RimReservoirView::updateFaultColors()
std::vector<RivReservoirViewPartMgr::ReservoirGeometryCacheType> faultGeometriesToRecolor = visibleFaultGeometryTypes(); std::vector<RivReservoirViewPartMgr::ReservoirGeometryCacheType> faultGeometriesToRecolor = visibleFaultGeometryTypes();
RimResultSlot* faultResultSlot = this->cellResult(); RimResultSlot* faultResultSlot = this->cellResult();
if (this->faultResultSettings()->customFaultResult()) if (this->faultResultSettings()->showCustomFaultResult())
{ {
faultResultSlot = this->faultResultSettings()->customFaultResult(); faultResultSlot = this->faultResultSettings()->customFaultResult();
} }
for (size_t i = 0; i < faultGeometriesToRecolor.size(); ++i) for (size_t i = 0; i < faultGeometriesToRecolor.size(); ++i)
{ {
if (this->faultResultSettings()->visualizationMode() == RimFaultResultSlot::FAULT_COLOR) if (this->animationMode() && this->cellEdgeResult()->hasResult())
{
m_reservoirGridPartManager->updateFaultColors(faultGeometriesToRecolor[i], m_currentTimeStep, faultResultSlot);
}
else if (this->animationMode() && this->cellEdgeResult()->hasResult())
{ {
m_reservoirGridPartManager->updateFaultCellEdgeResultColor(faultGeometriesToRecolor[i], m_currentTimeStep, faultResultSlot, this->cellEdgeResult()); 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->cellResult()->isTernarySaturationSelected()) return true;
if (this->faultResultSettings->customFaultResult()) if (this->faultResultSettings->showCustomFaultResult())
{ {
if (this->faultResultSettings->customFaultResult()->hasDynamicResult()) return true; if (this->faultResultSettings->customFaultResult()->hasDynamicResult()) return true;