#2188 Missing fault faces

Make sure all visible geometry is marked as watertight to avoid open grid sections in some cases, especially when loading file and regeneration of geometry
This commit is contained in:
Magne Sjaastad 2017-12-05 18:20:29 +01:00
parent a285ae8f61
commit 3e844746eb
2 changed files with 18 additions and 8 deletions

View File

@ -190,6 +190,20 @@ void RimEclipseView::clampCurrentTimestep()
if (m_currentTimeStep < 0 ) m_currentTimeStep = 0;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseView::setVisibleGridParts(const std::vector<RivCellSetEnum>& cellSets)
{
m_visibleGridParts = cellSets;
// Always make sure visible grid parts are marked as watertight
for (RivCellSetEnum cellSetType : m_visibleGridParts)
{
m_reservoirGridPartManager->forceWatertightGeometryOnForType(cellSetType);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -375,7 +389,7 @@ void RimEclipseView::createDisplayModel()
// NOTE: This assignment must be done here, as m_visibleGridParts is used in code triggered by
// m_reservoirGridPartManager->appendStaticGeometryPartsToModel()
m_visibleGridParts = geometryTypesToAdd;
setVisibleGridParts(geometryTypesToAdd);
size_t frameIdx;
for (frameIdx = 0; frameIdx < frameModels.size(); ++frameIdx)
@ -394,11 +408,6 @@ void RimEclipseView::createDisplayModel()
if (faultCollection()->showFaultsOutsideFilters() || !this->eclipsePropertyFilterCollection()->hasActiveFilters() )
{
for (RivCellSetEnum cellSetType : m_visibleGridParts)
{
m_reservoirGridPartManager->forceWatertightGeometryOnForType(cellSetType);
}
std::set<RivCellSetEnum> faultGeometryTypesToAppend = allVisibleFaultGeometryTypes();
RivCellSetEnum faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend, faultCollection()->showFaultsOutsideFilters());
@ -536,7 +545,7 @@ void RimEclipseView::updateCurrentTimeStep()
geometriesToRecolor.push_back( PROPERTY_FILTERED_WELL_CELLS);
m_reservoirGridPartManager->appendDynamicGeometryPartsToModel(frameParts.p(), PROPERTY_FILTERED_WELL_CELLS, m_currentTimeStep, gridIndices);
m_visibleGridParts = geometriesToRecolor;
setVisibleGridParts(geometriesToRecolor);
std::set<RivCellSetEnum> faultGeometryTypesToAppend = allVisibleFaultGeometryTypes();
for (RivCellSetEnum geometryType : faultGeometryTypesToAppend)

View File

@ -179,8 +179,9 @@ private:
void syncronizeWellsWithResults();
void clampCurrentTimestep() override;
void setVisibleGridParts(const std::vector<RivCellSetEnum>& cellSets);
private:
caf::PdmChildField<RimEclipsePropertyFilterCollection*> m_propertyFilterCollection;
caf::PdmPointer<RimEclipsePropertyFilterCollection> m_overridePropertyFilterCollection;