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 (cellResultSlot
&& ( cellResultSlot->resultVariable() == RimDefines::combinedTransmissibilityResultName()
|| cellResultSlot->resultVariable() == RimDefines::combinedRiTransResultName()
|| cellResultSlot->resultVariable() == RimDefines::combinedRiMultResultName()
|| cellResultSlot->resultVariable() == RimDefines::combinedRiAreaNormTransResultName()
))
bool showNncsWithScalarMappedColor = false;
if (cellResultSlot)
{
size_t scalarSetIndex = cellResultSlot->scalarResultIndex();
if (m_grid->mainGrid()->nncData()->hasScalarValues(scalarSetIndex))
{
showNncsWithScalarMappedColor = true;
}
}
if (showNncsWithScalarMappedColor)
{
size_t scalarSetIndex = cellResultSlot->scalarResultIndex();

View File

@ -93,6 +93,8 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
RimFaultCollection* faultCollection = m_reservoirView->faultCollection();
if (!faultCollection) return;
RimFaultResultSlot* faultResultSlot = m_reservoirView->faultResultSettings();
bool isShowingGrid = faultCollection->isGridVisualizationMode();
if (!faultCollection->showFaultCollection() && !isShowingGrid) return;
@ -144,7 +146,16 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
{
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 upperBound = (*pfIt)->upperBound();
size_t scalarResultIndex = (*pfIt)->resultDefinition->gridScalarIndex();
size_t scalarResultIndex = (*pfIt)->resultDefinition->scalarResultIndex();
size_t adjustedTimeStepIndex = timeStepIndex;

View File

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

View File

@ -18,10 +18,14 @@
#include "RimFaultResultSlot.h"
#include "RigCaseData.h"
#include "RigMainGrid.h"
#include "RimCase.h"
#include "RimReservoirView.h"
#include "RimResultSlot.h"
#include "RiuMainWindow.h"
#include "RimUiTreeModelPdm.h"
#include "RiuMainWindow.h"
@ -47,6 +51,8 @@ RimFaultResultSlot::RimFaultResultSlot()
m_customFaultResult->m_porosityModelUiField.setOwnerObject(this);
m_customFaultResult->m_resultVariableUiField.setOwnerObject(this);
CAF_PDM_InitField(&hideNncsWhenNoResultIsAvailable, "HideNncsWhenNoResultIsAvailable", true, "Hide NNC geometry if no NNC result is available", "", "", "");
updateFieldVisibility();
}
@ -150,3 +156,22 @@ bool RimFaultResultSlot::hasValidCustomResult()
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);
caf::PdmField<bool> showCustomFaultResult;
caf::PdmField<bool> hideNncsWhenNoResultIsAvailable;
bool hasValidCustomResult();
bool isNncResultAvailable();
RimResultSlot* customFaultResult();
void updateFieldVisibility();