From 075c3eb6271081db8a1a692c169c0d31f939dc59 Mon Sep 17 00:00:00 2001 From: Gaute Lindkvist Date: Wed, 17 Oct 2018 13:51:19 +0200 Subject: [PATCH] 2d Maps: Fix bug when there's no range filters active --- .../ModelVisualization/Riv2dGridProjectionPartMgr.cpp | 10 +++++----- .../ProjectDataModel/Rim2dGridProjection.cpp | 9 +++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/ApplicationCode/ModelVisualization/Riv2dGridProjectionPartMgr.cpp b/ApplicationCode/ModelVisualization/Riv2dGridProjectionPartMgr.cpp index caa787b146..bf90091f8f 100644 --- a/ApplicationCode/ModelVisualization/Riv2dGridProjectionPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/Riv2dGridProjectionPartMgr.cpp @@ -79,17 +79,17 @@ void Riv2dGridProjectionPartMgr::removeTrianglesWithNoResult(cvf::UIntArray* ver for (size_t n = 0; n < vertices->size(); n += 3) { - bool anyInvalid = false; - for (size_t t = 0; !anyInvalid && t < 3; ++t) + bool anyValid = false; + for (size_t t = 0; !anyValid && t < 3; ++t) { cvf::uint vertexNumber = (*vertices)[n + t]; cvf::Vec2ui ij = m_2dGridProjection->ijFromGridIndex(vertexNumber); - if (!m_2dGridProjection->hasResultAt(ij.x(), ij.y())) + if (m_2dGridProjection->hasResultAt(ij.x(), ij.y())) { - anyInvalid = true; + anyValid = true; } } - for (size_t t = 0; !anyInvalid && t < 3; ++t) + for (size_t t = 0; anyValid && t < 3; ++t) { cvf::uint vertexNumber = (*vertices)[n + t]; trianglesWithResult.push_back(vertexNumber); diff --git a/ApplicationCode/ProjectDataModel/Rim2dGridProjection.cpp b/ApplicationCode/ProjectDataModel/Rim2dGridProjection.cpp index 47ccfdf487..6c5bf13a1d 100644 --- a/ApplicationCode/ProjectDataModel/Rim2dGridProjection.cpp +++ b/ApplicationCode/ProjectDataModel/Rim2dGridProjection.cpp @@ -312,8 +312,13 @@ std::vector> Rim2dGridProjection::visibleCellsAndWeight std::vector rangeFilterCollections; view->descendantsIncludingThisOfType(rangeFilterCollections); + + bool hasActiveFilters = rangeFilterCollections.front()->hasActiveFilters(); cvf::CellRangeFilter cellRangeFilter; - rangeFilterCollections.front()->compoundCellRangeFilter(&cellRangeFilter, mainGrid()->gridIndex()); + if (hasActiveFilters) + { + rangeFilterCollections.front()->compoundCellRangeFilter(&cellRangeFilter, mainGrid()->gridIndex()); + } const RigActiveCellInfo* activeCellInfo = eclipseCase()->eclipseCaseData()->activeCellInfo(RiaDefines::MATRIX_MODEL); @@ -338,7 +343,7 @@ std::vector> Rim2dGridProjection::visibleCellsAndWeight RigGridBase* localGrid = mainGrid()->gridAndGridLocalIdxFromGlobalCellIdx(globalCellIdx, &localCellIdx); size_t i, j, k; localGrid->ijkFromCellIndex(localCellIdx, &i, &j, &k); - if (cellRangeFilter.isCellVisible(i, j, k, !localGrid->isMainGrid())) + if (!hasActiveFilters || cellRangeFilter.isCellVisible(i, j, k, !localGrid->isMainGrid())) { localGrid->cellCornerVertices(localCellIdx, hexCorners); std::vector intersections;