Fixed problems in auto nnc on/off

Consolidated Gui into Fault
This commit is contained in:
Jacob Støren 2014-09-09 13:07:01 +02:00
parent 4befec7897
commit 2f22624228
5 changed files with 33 additions and 29 deletions

View File

@ -30,7 +30,8 @@
#include "RimFaultResultSlot.h"
#include "RimReservoirView.h"
#include "RimResultSlot.h"
#include "RimCase.h"
#include "RigCaseData.h"
//--------------------------------------------------------------------------------------------------
///
@ -93,8 +94,7 @@ 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;
@ -141,15 +141,31 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
}
// Parts that is not overridden by the grid settings
RimFaultResultSlot* faultResultSlot = m_reservoirView->faultResultSettings();
RimResultSlot* cellResultSlot = m_reservoirView->cellResult();
if (rimFault->showFault() && faultCollection->showFaultCollection())
{
if (faultCollection->showNNCs())
{
bool showNncs = true;
if (faultResultSlot->hideNncsWhenNoResultIsAvailable())
if (faultCollection->hideNncsWhenNoResultIsAvailable())
{
showNncs = faultResultSlot->isNncResultAvailable();
size_t scalarResultIndex = cvf::UNDEFINED_SIZE_T;
if (faultResultSlot->showCustomFaultResult())
{
scalarResultIndex = faultResultSlot->customFaultResult()->scalarResultIndex();
}
else
{
scalarResultIndex = cellResultSlot->scalarResultIndex();
}
RigMainGrid* mainGrid = m_reservoirView->eclipseCase()->reservoirData()->mainGrid();
if (!(mainGrid && mainGrid->nncData()->hasScalarValues(scalarResultIndex)))
{
showNncs = false;
}
}
if (showNncs)

View File

@ -69,7 +69,8 @@ RimFaultCollection::RimFaultCollection()
cvf::Color3f defWellLabelColor = RiaApplication::instance()->preferences()->defaultWellLabelColor();
CAF_PDM_InitField(&faultLabelColor, "FaultLabelColor", defWellLabelColor, "Label color", "", "", "");
CAF_PDM_InitField(&showNNCs, "ShowNNCs", false, "Show NNCs", "", "", "");
CAF_PDM_InitField(&showNNCs, "ShowNNCs", true, "Show NNCs", "", "", "");
CAF_PDM_InitField(&hideNncsWhenNoResultIsAvailable, "HideNncsWhenNoResultIsAvailable", true, "Hide NNC geometry if no NNC result is available", "", "", "");
CAF_PDM_InitFieldNoDefault(&noCommonAreaNnncCollection, "NoCommonAreaNnncCollection", "NNCs With No Common Area", "", "", "");
noCommonAreaNnncCollection = new RimNoCommonAreaNncCollection;
@ -109,7 +110,8 @@ void RimFaultCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedFiel
&m_showFaultsOutsideFilters == changedField ||
&faultLabelColor == changedField ||
&faultResult == changedField ||
&showNNCs == changedField
&showNNCs == changedField ||
&hideNncsWhenNoResultIsAvailable == changedField
)
{
if (m_reservoirView)
@ -337,6 +339,11 @@ void RimFaultCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderi
ffviz->add(&showFaultFaces);
ffviz->add(&showOppositeFaultFaces);
ffviz->add(&faultResult);
caf::PdmUiGroup* nncViz = uiOrdering.addNewGroup("NNC Visibility");
nncViz->add(&showNNCs);
nncViz->add(&hideNncsWhenNoResultIsAvailable);
}
//--------------------------------------------------------------------------------------------------

View File

@ -75,6 +75,7 @@ public:
caf::PdmField<bool> showFaultCollection;
caf::PdmField<bool> showNNCs;
caf::PdmField<bool> hideNncsWhenNoResultIsAvailable;
caf::PdmPointersField<RimFault*> faults;
RimFault* findFaultByName(QString name);

View File

@ -51,7 +51,6 @@ 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();
}
@ -148,25 +147,9 @@ QList<caf::PdmOptionItemInfo> RimFaultResultSlot::calculateValueOptions(const ca
//--------------------------------------------------------------------------------------------------
bool RimFaultResultSlot::hasValidCustomResult()
{
if (m_customFaultResult->hasResult() || m_customFaultResult->isTernarySaturationSelected())
if (this->showCustomFaultResult())
{
return true;
}
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))
if (m_customFaultResult->hasResult() || m_customFaultResult->isTernarySaturationSelected())
{
return true;
}
@ -174,4 +157,3 @@ bool RimFaultResultSlot::isNncResultAvailable()
return false;
}

View File

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