mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2999 Add support for specifying a list of single cells as range filter
This commit is contained in:
@@ -70,25 +70,47 @@ void RimCellRangeFilterCollection::compoundCellRangeFilter(cvf::CellRangeFilter*
|
||||
{
|
||||
if (rangeFilter->filterMode == RimCellFilter::INCLUDE)
|
||||
{
|
||||
cellRangeFilter->addCellIncludeRange(
|
||||
rangeFilter->startIndexI - 1,
|
||||
rangeFilter->startIndexJ - 1,
|
||||
rangeFilter->startIndexK - 1,
|
||||
rangeFilter->startIndexI - 1 + rangeFilter->cellCountI,
|
||||
rangeFilter->startIndexJ - 1 + rangeFilter->cellCountJ,
|
||||
rangeFilter->startIndexK - 1 + rangeFilter->cellCountK,
|
||||
rangeFilter->propagateToSubGrids());
|
||||
if (rangeFilter->useIndividualCellIndices())
|
||||
{
|
||||
for (const auto& cellIndex : rangeFilter->individualCellIndices())
|
||||
{
|
||||
cellRangeFilter->addCellInclude(
|
||||
cellIndex.x() - 1 , cellIndex.y() - 1, cellIndex.z() - 1, rangeFilter->propagateToSubGrids());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellRangeFilter->addCellIncludeRange(
|
||||
rangeFilter->startIndexI - 1,
|
||||
rangeFilter->startIndexJ - 1,
|
||||
rangeFilter->startIndexK - 1,
|
||||
rangeFilter->startIndexI - 1 + rangeFilter->cellCountI,
|
||||
rangeFilter->startIndexJ - 1 + rangeFilter->cellCountJ,
|
||||
rangeFilter->startIndexK - 1 + rangeFilter->cellCountK,
|
||||
rangeFilter->propagateToSubGrids());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellRangeFilter->addCellExcludeRange(
|
||||
rangeFilter->startIndexI - 1,
|
||||
rangeFilter->startIndexJ - 1,
|
||||
rangeFilter->startIndexK - 1,
|
||||
rangeFilter->startIndexI - 1 + rangeFilter->cellCountI,
|
||||
rangeFilter->startIndexJ - 1 + rangeFilter->cellCountJ,
|
||||
rangeFilter->startIndexK - 1 + rangeFilter->cellCountK,
|
||||
rangeFilter->propagateToSubGrids());
|
||||
if (rangeFilter->useIndividualCellIndices())
|
||||
{
|
||||
for (const auto& cellIndex : rangeFilter->individualCellIndices())
|
||||
{
|
||||
cellRangeFilter->addCellExclude(
|
||||
cellIndex.x() - 1, cellIndex.y() - 1, cellIndex.z() - 1, rangeFilter->propagateToSubGrids());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellRangeFilter->addCellExcludeRange(
|
||||
rangeFilter->startIndexI - 1,
|
||||
rangeFilter->startIndexJ - 1,
|
||||
rangeFilter->startIndexK - 1,
|
||||
rangeFilter->startIndexI - 1 + rangeFilter->cellCountI,
|
||||
rangeFilter->startIndexJ - 1 + rangeFilter->cellCountJ,
|
||||
rangeFilter->startIndexK - 1 + rangeFilter->cellCountK,
|
||||
rangeFilter->propagateToSubGrids());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user