Moved Fem visibility calculator to a separate file

Preparing for GeoMech Property filter
This commit is contained in:
Jacob Støren committed 2015-06-22 08:18:48 +02:00
1 parent 74efc8da1a
commit e9fe03f63a
6 files changed
+119 -56

No files matched your search

@@ -512,49 +512,3 @@ void RimGeoMechView::scheduleGeometryRegen(RivCellSetEnum geometryType)
m_vizLogic->scheduleGeometryRegen(geometryType);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RivElmVisibilityCalculator::computeAllVisible(cvf::UByteArray* elmVisibilities, const RigFemPart* femPart)
{
elmVisibilities->resize(femPart->elementCount());
elmVisibilities->setAll(true);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RivElmVisibilityCalculator::computeRangeVisibility(cvf::UByteArray* elmVisibilities, RigFemPart* femPart,
const cvf::CellRangeFilter& rangeFilter)
{
elmVisibilities->resize(femPart->elementCount());
const RigFemPartGrid* grid = femPart->structGrid();
if (rangeFilter.hasIncludeRanges())
{
for (int elmIdx = 0; elmIdx < femPart->elementCount(); ++elmIdx)
{
size_t mainGridI;
size_t mainGridJ;
size_t mainGridK;
grid->ijkFromCellIndex(elmIdx, &mainGridI, &mainGridJ, &mainGridK);
(*elmVisibilities)[elmIdx] = rangeFilter.isCellVisible(mainGridI, mainGridJ, mainGridK, false);
}
}
else
{
for (int elmIdx = 0; elmIdx < femPart->elementCount(); ++elmIdx)
{
size_t mainGridI;
size_t mainGridJ;
size_t mainGridK;
grid->ijkFromCellIndex(elmIdx, &mainGridI, &mainGridJ, &mainGridK);
(*elmVisibilities)[elmIdx] = !rangeFilter.isCellExcluded(mainGridI, mainGridJ, mainGridK, false);
}
}
}