Added checkbox for hiding NNC geometry when no NNC data is available

This commit is contained in:
Magne Sjaastad 2014-09-04 09:30:00 +02:00
parent 4fdb06e0e0
commit 5963d75085
6 changed files with 55 additions and 10 deletions

View File

@ -649,12 +649,19 @@ void RivFaultPartMgr::updateNNCColors(RimResultSlot* cellResultSlot)
{ {
if (m_NNCFaces.isNull()) return; if (m_NNCFaces.isNull()) return;
if (cellResultSlot bool showNncsWithScalarMappedColor = false;
&& ( cellResultSlot->resultVariable() == RimDefines::combinedTransmissibilityResultName()
|| cellResultSlot->resultVariable() == RimDefines::combinedRiTransResultName() if (cellResultSlot)
|| cellResultSlot->resultVariable() == RimDefines::combinedRiMultResultName() {
|| cellResultSlot->resultVariable() == RimDefines::combinedRiAreaNormTransResultName() size_t scalarSetIndex = cellResultSlot->scalarResultIndex();
))
if (m_grid->mainGrid()->nncData()->hasScalarValues(scalarSetIndex))
{
showNncsWithScalarMappedColor = true;
}
}
if (showNncsWithScalarMappedColor)
{ {
size_t scalarSetIndex = cellResultSlot->scalarResultIndex(); size_t scalarSetIndex = cellResultSlot->scalarResultIndex();

View File

@ -93,6 +93,8 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
RimFaultCollection* faultCollection = m_reservoirView->faultCollection(); RimFaultCollection* faultCollection = m_reservoirView->faultCollection();
if (!faultCollection) return; if (!faultCollection) return;
RimFaultResultSlot* faultResultSlot = m_reservoirView->faultResultSettings();
bool isShowingGrid = faultCollection->isGridVisualizationMode(); bool isShowingGrid = faultCollection->isGridVisualizationMode();
if (!faultCollection->showFaultCollection() && !isShowingGrid) return; if (!faultCollection->showFaultCollection() && !isShowingGrid) return;
@ -144,7 +146,16 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
{ {
if (faultCollection->showNNCs()) if (faultCollection->showNNCs())
{ {
rivFaultPart->appendNNCFacesToModel(&parts); bool showNncs = true;
if (faultResultSlot->hideNncsWhenNoResultIsAvailable())
{
showNncs = faultResultSlot->isNncResultAvailable();
}
if (showNncs)
{
rivFaultPart->appendNNCFacesToModel(&parts);
}
} }
} }
} }

View File

@ -713,7 +713,7 @@ void RivReservoirViewPartMgr::computePropertyVisibility(cvf::UByteArray* cellVis
const double lowerBound = (*pfIt)->lowerBound(); const double lowerBound = (*pfIt)->lowerBound();
const double upperBound = (*pfIt)->upperBound(); const double upperBound = (*pfIt)->upperBound();
size_t scalarResultIndex = (*pfIt)->resultDefinition->gridScalarIndex(); size_t scalarResultIndex = (*pfIt)->resultDefinition->scalarResultIndex();
size_t adjustedTimeStepIndex = timeStepIndex; size_t adjustedTimeStepIndex = timeStepIndex;

View File

@ -236,7 +236,7 @@ void RimCellPropertyFilter::computeResultValueRange()
double min = 0.0; double min = 0.0;
double max = 0.0; double max = 0.0;
size_t scalarIndex = resultDefinition->gridScalarIndex(); size_t scalarIndex = resultDefinition->scalarResultIndex();
if (scalarIndex != cvf::UNDEFINED_SIZE_T) if (scalarIndex != cvf::UNDEFINED_SIZE_T)
{ {
RimReservoirCellResultsStorage* results = resultDefinition->currentGridCellResults(); RimReservoirCellResultsStorage* results = resultDefinition->currentGridCellResults();

View File

@ -18,10 +18,14 @@
#include "RimFaultResultSlot.h" #include "RimFaultResultSlot.h"
#include "RigCaseData.h"
#include "RigMainGrid.h"
#include "RimCase.h"
#include "RimReservoirView.h" #include "RimReservoirView.h"
#include "RimResultSlot.h" #include "RimResultSlot.h"
#include "RiuMainWindow.h"
#include "RimUiTreeModelPdm.h" #include "RimUiTreeModelPdm.h"
#include "RiuMainWindow.h"
@ -47,6 +51,8 @@ RimFaultResultSlot::RimFaultResultSlot()
m_customFaultResult->m_porosityModelUiField.setOwnerObject(this); m_customFaultResult->m_porosityModelUiField.setOwnerObject(this);
m_customFaultResult->m_resultVariableUiField.setOwnerObject(this); m_customFaultResult->m_resultVariableUiField.setOwnerObject(this);
CAF_PDM_InitField(&hideNncsWhenNoResultIsAvailable, "HideNncsWhenNoResultIsAvailable", true, "Hide NNC geometry if no NNC result is available", "", "", "");
updateFieldVisibility(); updateFieldVisibility();
} }
@ -150,3 +156,22 @@ bool RimFaultResultSlot::hasValidCustomResult()
return false; return false;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimFaultResultSlot::isNncResultAvailable()
{
if (this->hasValidCustomResult())
{
size_t scalarSetIndex = this->customFaultResult()->scalarResultIndex();
RigMainGrid* mainGrid = m_reservoirView->eclipseCase()->reservoirData()->mainGrid();
if (mainGrid && mainGrid->nncData()->hasScalarValues(scalarSetIndex))
{
return true;
}
}
return false;
}

View File

@ -40,8 +40,10 @@ public:
void setReservoirView(RimReservoirView* ownerReservoirView); void setReservoirView(RimReservoirView* ownerReservoirView);
caf::PdmField<bool> showCustomFaultResult; caf::PdmField<bool> showCustomFaultResult;
caf::PdmField<bool> hideNncsWhenNoResultIsAvailable;
bool hasValidCustomResult(); bool hasValidCustomResult();
bool isNncResultAvailable();
RimResultSlot* customFaultResult(); RimResultSlot* customFaultResult();
void updateFieldVisibility(); void updateFieldVisibility();