#14345 Restore view visibility for the cell filter view filter type

The cell filter view filter type was changed to use the cell filter
geometry to include cells inside the filters that are inactive in the
view's case, at the cost of ignoring property filters in the view. That
use case is now covered by the data filter type, which evaluates the
filters per calculation case. Restore the original visible cells
semantics for the cell filter view filter type, so property filters in
the view affect the calculation again.
This commit is contained in:
Kristian Bendiksen committed 2026-09-16 10:53:31 +02:00
1 parent 5a7e043837
commit b62738ff8a
1 file changed
+4 -14
@@ -273,23 +273,13 @@ bool RimGridCalculation::calculate()
}
}
// The visible cells of the view, including the effect of property filters evaluated on the view's
// case. Cells inside the filters that are inactive in the view's case are not part of the mask; use
// the data filter type to evaluate filters per calculation case.
cvf::ref<cvf::UByteArray> inputValueVisibilityFilter;
if ( useCellFilterView )
{
if ( auto eclipseView = dynamic_cast<RimEclipseView*>( m_cellFilterView() ) )
{
// Use the cell filter geometry, independent of the active cells in the view's case. Cells inside the
// filters that are inactive in the view's case can be active in other calculation cases, and must be
// included when the calculation is applied to additional cases.
inputValueVisibilityFilter = new cvf::UByteArray;
eclipseView->calculateCellVisibility( inputValueVisibilityFilter.p(),
{ RANGE_FILTERED, RANGE_FILTERED_INACTIVE },
eclipseView->currentTimeStep() );
}
else
{
inputValueVisibilityFilter = m_cellFilterView()->currentTotalCellVisibility();
}
inputValueVisibilityFilter = m_cellFilterView()->currentTotalCellVisibility();
}
std::optional<std::vector<size_t>> timeSteps = std::nullopt;