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 "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();
}
}
}

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>"
"<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;
bool isShowingGrid = m_reservoirView->faultCollection()->isGridVisualizationMode();
@ -185,10 +185,7 @@ void Rim3dOverlayInfoConfig::update3DInfo()
}
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());
}
}

View File

@ -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::FaultVisualizationMode>(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<caf::PdmOptionItemInfo> RimFaultResultSlot::calculateValueOptions(const ca
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
{
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<bool> showNNCs;
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 );

View File

@ -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<RivReservoirViewPartMgr::ReservoirGeometryCacheType> 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;