(#401) Fixed result coloring of cells/fault geometry part of cells.

And visibility of fault part of overridden visible cells
This commit is contained in:
Jacob Støren 2015-09-21 15:09:24 +02:00
parent bc13971fec
commit a2dc6628ad
2 changed files with 22 additions and 6 deletions

View File

@ -392,9 +392,9 @@ void RimEclipseView::createDisplayModel()
m_visibleGridParts = geometryTypesToAdd;
}
if (!this->propertyFilterCollection()->hasActiveFilters() || faultCollection()->showFaultsOutsideFilters())
if (faultCollection()->showFaultsOutsideFilters() || !this->propertyFilterCollection()->hasActiveFilters() )
{
updateFaultForcedVisibility();
forceFaultVisibilityOn();
std::vector<RivCellSetEnum> faultGeometryTypesToAppend = visibleFaultGeometryTypes();
@ -699,7 +699,7 @@ void RimEclipseView::loadDataAndUpdate()
syncronizeWellsWithResults();
createDisplayModelAndRedraw();
this->scheduleCreateDisplayModelAndRedraw();
if (cameraPosition().isIdentity())
{
@ -1292,8 +1292,14 @@ void RimEclipseView::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseView::updateFaultForcedVisibility()
void RimEclipseView::forceFaultVisibilityOn()
{
if (this->controllingViewLink() && this->controllingViewLink()->syncVisibleCells())
{
m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(OVERRIDDEN_CELL_VISIBILITY, true);
return;
}
// Force visibility of faults based on application state
// As fault geometry is visible in grid visualization mode, fault geometry must be forced visible
// even if the fault item is disabled in project tree view
@ -1316,7 +1322,17 @@ std::vector<RivCellSetEnum> RimEclipseView::visibleFaultGeometryTypes() const
std::vector<RivCellSetEnum> faultParts;
if (this->controllingViewLink() && this->controllingViewLink()->syncVisibleCells())
{
faultParts.push_back(OVERRIDDEN_CELL_VISIBILITY);
faultParts.push_back(OVERRIDDEN_CELL_VISIBILITY);
if (this->faultCollection()->showFaultsOutsideFilters())
{
faultParts.push_back(ACTIVE);
faultParts.push_back(ALL_WELL_CELLS);
if (this->showInactiveCells())
{
faultParts.push_back(INACTIVE);
}
}
}
else if (this->propertyFilterCollection()->hasActiveFilters() && !faultCollection()->showFaultsOutsideFilters())
{

View File

@ -150,7 +150,7 @@ private:
virtual void updateViewerWidgetWindowTitle();
std::vector<RivCellSetEnum> visibleFaultGeometryTypes() const;
void updateFaultForcedVisibility();
void forceFaultVisibilityOn();
void updateFaultColors();
void syncronizeWellsWithResults();