diff --git a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp index edf8642a9c..ff01f2bd59 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp @@ -101,7 +101,12 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model) CVF_ASSERT(rivFaultPart.notNull()); // Parts that is overridden by the grid settings - bool forceDisplayOfFault = isShowingGrid; + bool forceDisplayOfFault = false; + if (!m_faultCollection->showFaultsOutsideFilters()) + { + forceDisplayOfFault = isShowingGrid; + } + if (m_forceVisibility) { forceDisplayOfFault = true; diff --git a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp index 47f8977158..73ee88346a 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp +++ b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp @@ -615,7 +615,7 @@ void RimReservoirView::createDisplayModel() if (!this->propertyFilterCollection()->hasActiveFilters() || faultCollection()->showFaultsOutsideFilters) { - std::vector faultGeometryTypesToAppend = visibleFaultParts(); + std::vector faultGeometryTypesToAppend = visibleFaultGeometryTypes(); RivReservoirViewPartMgr::ReservoirGeometryCacheType faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend); @@ -630,7 +630,6 @@ void RimReservoirView::createDisplayModel() } updateFaultForcedVisibility(); - } // Compute triangle count, Debug only @@ -709,7 +708,7 @@ void RimReservoirView::updateCurrentTimeStep() if (faultCollection()->showFaultsOutsideFilters) { - std::vector faultGeometryTypesToAppend = visibleFaultParts(); + std::vector faultGeometryTypesToAppend = visibleFaultGeometryTypes(); for (size_t i = 0; i < faultGeometryTypesToAppend.size(); i++) { @@ -1941,31 +1940,20 @@ void RimReservoirView::updateFaultForcedVisibility() // As fault geometry is visible in grid visualization mode, fault geometry must be forced visible // even if the fault item is disabled in project tree view - caf::FixedArray forceOn; - - for (size_t i = 0; i < RivReservoirViewPartMgr::PROPERTY_FILTERED; i++) + if (!faultCollection->showFaultCollection) { - forceOn[i] = false; + m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(RivReservoirViewPartMgr::ALL_WELL_CELLS, true); } - std::vector faultParts = visibleFaultParts(); - for (size_t i = 0; i < faultParts.size(); i++) - { - forceOn[faultParts[i]]; - } - - for (size_t i = 0; i < RivReservoirViewPartMgr::PROPERTY_FILTERED; i++) - { - RivReservoirViewPartMgr::ReservoirGeometryCacheType cacheType = (RivReservoirViewPartMgr::ReservoirGeometryCacheType)i; - - m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(cacheType, forceOn[i]); - } + m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(RivReservoirViewPartMgr::RANGE_FILTERED, true); + m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(RivReservoirViewPartMgr::VISIBLE_WELL_FENCE_CELLS, true); + m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(RivReservoirViewPartMgr::VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER, true); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RimReservoirView::visibleFaultParts() const +std::vector RimReservoirView::visibleFaultGeometryTypes() const { std::vector faultParts; @@ -2043,7 +2031,7 @@ std::vector RimReservoirVie void RimReservoirView::updateFaultColors() { // Update all fault geometry - std::vector faultGeometriesToRecolor = visibleFaultParts(); + std::vector faultGeometriesToRecolor = visibleFaultGeometryTypes(); for (size_t i = 0; i < faultGeometriesToRecolor.size(); ++i) { diff --git a/ApplicationCode/ProjectDataModel/RimReservoirView.h b/ApplicationCode/ProjectDataModel/RimReservoirView.h index 95ae186b5a..4c37031753 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirView.h +++ b/ApplicationCode/ProjectDataModel/RimReservoirView.h @@ -191,7 +191,7 @@ private: void updateStaticCellColors(unsigned short geometryType); void updateLegends(); - std::vector visibleFaultParts() const; + std::vector visibleFaultGeometryTypes() const; void updateFaultForcedVisibility(); void updateFaultColors();