(#625) Added access to the generalized propertyFilterCollection in the view

This commit is contained in:
Jacob Støren 2015-11-12 10:48:13 +01:00
parent 8b8fd51862
commit 7b65cb91ce
13 changed files with 67 additions and 31 deletions

View File

@ -144,7 +144,7 @@ std::vector<RivGeoMechPartMgrCache::Key> RivGeoMechVizLogic::keysToVisiblePartMg
{
visiblePartMgrs.push_back(RivGeoMechPartMgrCache::Key(OVERRIDDEN_CELL_VISIBILITY, -1));
}
else if (timeStepIndex >= 0 && m_geomechView->propertyFilterCollection()->hasActiveFilters())
else if (timeStepIndex >= 0 && m_geomechView->geoMechPropertyFilterCollection()->hasActiveFilters())
{
visiblePartMgrs.push_back(RivGeoMechPartMgrCache::Key(PROPERTY_FILTERED, timeStepIndex));
}
@ -209,7 +209,7 @@ RivGeoMechPartMgr* RivGeoMechVizLogic::getUpdatedPartMgr(RivGeoMechPartMgrCache:
caseData->femParts()->part(femPartIdx),
pMgrKey.frameIndex(),
rangeFiltVisibility.p(),
m_geomechView->propertyFilterCollection()
m_geomechView->geoMechPropertyFilterCollection()
);
}
else if (pMgrKey.geometryType() == OVERRIDDEN_CELL_VISIBILITY)

View File

@ -458,7 +458,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredNoneWellCellGeometry(size_t
(*cellVisibility)[cellIdx] = (*rangeVisibility)[cellIdx] || (*fenceVisibility)[cellIdx];
}
computePropertyVisibility(cellVisibility.p(), grids[gIdx], frameIndex, cellVisibility.p(), m_reservoirView->propertyFilterCollection());
computePropertyVisibility(cellVisibility.p(), grids[gIdx], frameIndex, cellVisibility.p(), m_reservoirView->eclipsePropertyFilterCollection());
m_propFilteredGeometryFrames[frameIndex]->setCellVisibility(gIdx, cellVisibility.p());
}
@ -542,7 +542,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredWellGeometry(size_t frameInd
(*cellVisibility)[cellIdx] = (*wellFenceCells)[cellIdx] || (*rangeVisibility)[cellIdx] || (*wellCellsOutsideRange)[cellIdx];
}
computePropertyVisibility(cellVisibility.p(), grids[gIdx], frameIndex, cellVisibility.p(), m_reservoirView->propertyFilterCollection());
computePropertyVisibility(cellVisibility.p(), grids[gIdx], frameIndex, cellVisibility.p(), m_reservoirView->eclipsePropertyFilterCollection());
m_propFilteredWellGeometryFrames[frameIndex]->setCellVisibility(gIdx, cellVisibility.p());
}

View File

@ -195,7 +195,7 @@ void RimEclipseCase::removeResult(const QString& resultName)
rebuildDisplayModel = true;
}
RimEclipsePropertyFilterCollection* propFilterCollection = reservoirView->propertyFilterCollection();
RimEclipsePropertyFilterCollection* propFilterCollection = reservoirView->eclipsePropertyFilterCollection();
for (size_t filter = 0; filter < propFilterCollection->propertyFilters().size(); filter++)
{
RimEclipsePropertyFilter* propertyFilter = propFilterCollection->propertyFilters()[filter];
@ -428,8 +428,8 @@ QStringList RimEclipseCase::timeStepStrings()
{
QStringList stringList;
int timeStepCount = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepCount(0);
for (size_t i = 0; i < timeStepCount; i++)
int timeStepCount = static_cast<int>(results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepCount(0));
for (int i = 0; i < timeStepCount; i++)
{
stringList += this->timeStepName(i);
}

View File

@ -302,7 +302,7 @@ void RimEclipseView::createDisplayModel()
}
else if (this->cellResult()->hasStaticResult()
|| this->cellEdgeResult()->hasResult()
|| this->propertyFilterCollection()->hasActiveFilters())
|| this->eclipsePropertyFilterCollection()->hasActiveFilters())
{
// The one and only result entry
timeStepIndices.push_back(0);
@ -334,7 +334,7 @@ void RimEclipseView::createDisplayModel()
// updateCurrentTimeStep requests the actual parts
if (!this->propertyFilterCollection()->hasActiveFilters()
if (!this->eclipsePropertyFilterCollection()->hasActiveFilters()
|| this->viewController() && this->viewController()->isVisibleCellsOveridden())
{
std::vector<RivCellSetEnum> geometryTypesToAdd;
@ -394,7 +394,7 @@ void RimEclipseView::createDisplayModel()
m_visibleGridParts = geometryTypesToAdd;
}
if (faultCollection()->showFaultsOutsideFilters() || !this->propertyFilterCollection()->hasActiveFilters() )
if (faultCollection()->showFaultsOutsideFilters() || !this->eclipsePropertyFilterCollection()->hasActiveFilters() )
{
forceFaultVisibilityOn();
@ -524,7 +524,7 @@ void RimEclipseView::updateCurrentTimeStep()
}
#endif
}
else if (this->propertyFilterCollection()->hasActiveFilters())
else if (this->eclipsePropertyFilterCollection()->hasActiveFilters())
{
cvf::ref<cvf::ModelBasicList> frameParts = new cvf::ModelBasicList;
@ -1413,7 +1413,7 @@ std::vector<RivCellSetEnum> RimEclipseView::visibleFaultGeometryTypes() const
faultParts.push_back(OVERRIDDEN_CELL_VISIBILITY);
}
}
else if (this->propertyFilterCollection()->hasActiveFilters() && !faultCollection()->showFaultsOutsideFilters())
else if (this->eclipsePropertyFilterCollection()->hasActiveFilters() && !faultCollection()->showFaultsOutsideFilters())
{
faultParts.push_back(PROPERTY_FILTERED);
faultParts.push_back(PROPERTY_FILTERED_WELL_CELLS);
@ -1516,7 +1516,7 @@ bool RimEclipseView::isTimeStepDependentDataVisible() const
{
if (this->cellResult()->hasDynamicResult()) return true;
if (this->propertyFilterCollection()->hasActiveDynamicFilters()) return true;
if (this->eclipsePropertyFilterCollection()->hasActiveDynamicFilters()) return true;
if (this->wellCollection->hasVisibleWellPipes()) return true;
@ -1614,7 +1614,7 @@ void RimEclipseView::addWellPathsToScene(cvf::Scene* scene,
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimEclipsePropertyFilterCollection* RimEclipseView::propertyFilterCollection()
RimEclipsePropertyFilterCollection* RimEclipseView::eclipsePropertyFilterCollection()
{
if (m_overridePropertyFilterCollection)
{
@ -1629,7 +1629,7 @@ RimEclipsePropertyFilterCollection* RimEclipseView::propertyFilterCollection()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimEclipsePropertyFilterCollection* RimEclipseView::propertyFilterCollection() const
const RimEclipsePropertyFilterCollection* RimEclipseView::eclipsePropertyFilterCollection() const
{
if (m_overridePropertyFilterCollection)
{
@ -1692,3 +1692,11 @@ void RimEclipseView::updateIconStateForFilterCollections()
m_propertyFilterCollection()->updateIconState();
m_propertyFilterCollection()->uiCapability()->updateConnectedEditors();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimPropertyFilterCollection* RimEclipseView::propertyFilterCollection() const
{
return eclipsePropertyFilterCollection();
}

View File

@ -99,9 +99,10 @@ public:
caf::PdmField<bool> showMainGrid;
// Access internal objects
virtual const RimPropertyFilterCollection* propertyFilterCollection() const;
RimEclipsePropertyFilterCollection* propertyFilterCollection();
const RimEclipsePropertyFilterCollection* propertyFilterCollection() const;
RimEclipsePropertyFilterCollection* eclipsePropertyFilterCollection();
const RimEclipsePropertyFilterCollection* eclipsePropertyFilterCollection() const;
void setOverridePropertyFilterCollection(RimEclipsePropertyFilterCollection* pfc);
RimReservoirCellResultsStorage* currentGridCellResults();

View File

@ -154,7 +154,7 @@ void RimGeoMechView::loadDataAndUpdate()
progress.setProgressDescription("Create Display model");
updateViewerWidget();
this->propertyFilterCollection()->loadAndInitializePropertyFilters();
this->geoMechPropertyFilterCollection()->loadAndInitializePropertyFilters();
this->scheduleCreateDisplayModelAndRedraw();
@ -486,7 +486,7 @@ void RimGeoMechView::clampCurrentTimestep()
//--------------------------------------------------------------------------------------------------
bool RimGeoMechView::isTimeStepDependentDataVisible()
{
return this->hasUserRequestedAnimation() && (this->cellResult()->hasResult() || this->propertyFilterCollection()->hasActiveFilters());
return this->hasUserRequestedAnimation() && (this->cellResult()->hasResult() || this->geoMechPropertyFilterCollection()->hasActiveFilters());
}
//--------------------------------------------------------------------------------------------------
@ -581,7 +581,21 @@ void RimGeoMechView::setOverridePropertyFilterCollection(RimGeoMechPropertyFilte
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimGeoMechPropertyFilterCollection* RimGeoMechView::propertyFilterCollection()
RimGeoMechPropertyFilterCollection* RimGeoMechView::geoMechPropertyFilterCollection()
{
if (m_overridePropertyFilterCollection)
{
return m_overridePropertyFilterCollection;
}
else
{
return m_propertyFilterCollection;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimGeoMechPropertyFilterCollection* RimGeoMechView::geoMechPropertyFilterCollection() const
{
if (m_overridePropertyFilterCollection)
{
@ -629,3 +643,11 @@ void RimGeoMechView::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
uiTreeOrdering.setForgetRemainingFields(true);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimPropertyFilterCollection* RimGeoMechView::propertyFilterCollection() const
{
return geoMechPropertyFilterCollection();
}

View File

@ -66,7 +66,10 @@ public:
caf::PdmChildField<RimGeoMechCellColors*> cellResult;
RimGeoMechPropertyFilterCollection* propertyFilterCollection();
virtual const RimPropertyFilterCollection* propertyFilterCollection() const;
RimGeoMechPropertyFilterCollection* geoMechPropertyFilterCollection();
const RimGeoMechPropertyFilterCollection* geoMechPropertyFilterCollection() const;
void setOverridePropertyFilterCollection(RimGeoMechPropertyFilterCollection* pfc);
bool isTimeStepDependentDataVisible();

View File

@ -44,7 +44,7 @@ RimPropertyFilterCollection::~RimPropertyFilterCollection()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPropertyFilterCollection::updateDisplayModelNotifyManagedViews()
void RimPropertyFilterCollection::updateDisplayModelNotifyManagedViews() const
{
RimView* view = NULL;
this->firstAnchestorOrThisOfType(view);

View File

@ -41,7 +41,7 @@ public:
virtual void loadAndInitializePropertyFilters() = 0;
void updateDisplayModelNotifyManagedViews();
void updateDisplayModelNotifyManagedViews() const;
virtual void updateIconState() = 0;
protected:

View File

@ -718,9 +718,9 @@ bool RimView::isMasterView() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimCellRangeFilterCollection* RimView::overrideRangeFilterCollection()
bool RimView::hasOverridenRangeFilterCollection()
{
return m_overrideRangeFilterCollection();
return m_overrideRangeFilterCollection() != NULL;
}
//--------------------------------------------------------------------------------------------------

View File

@ -42,6 +42,7 @@ class RimCellRangeFilterCollection;
class RiuViewer;
class RimViewLinker;
class RimViewController;
class RimPropertyFilterCollection;
namespace cvf
{
@ -76,10 +77,11 @@ public:
caf::PdmField<int> maximumFrameRate;
caf::PdmField<bool> hasUserRequestedAnimation;
virtual const RimPropertyFilterCollection* propertyFilterCollection() const = 0;
RimCellRangeFilterCollection* rangeFilterCollection();
const RimCellRangeFilterCollection* rangeFilterCollection() const;
RimCellRangeFilterCollection* overrideRangeFilterCollection();
bool hasOverridenRangeFilterCollection();
void setOverrideRangeFilterCollection(RimCellRangeFilterCollection* rfc);
void replaceRangeFilterCollectionWithOverride();

View File

@ -268,7 +268,7 @@ void RimViewController::updateOverrides()
{
if (isPropertyFilterOveridden())
{
manEclView->setOverridePropertyFilterCollection(masterEclipseView->propertyFilterCollection());
manEclView->setOverridePropertyFilterCollection(masterEclipseView->eclipsePropertyFilterCollection());
}
else
{
@ -284,7 +284,7 @@ void RimViewController::updateOverrides()
{
if (isPropertyFilterOveridden())
{
manGeoView->setOverridePropertyFilterCollection(masterGeoView->propertyFilterCollection());
manGeoView->setOverridePropertyFilterCollection(masterGeoView->geoMechPropertyFilterCollection());
}
else
{
@ -941,7 +941,7 @@ void RimViewController::updateRangeFilterOverrides(RimCellRangeFilter* changedRa
//--------------------------------------------------------------------------------------------------
void RimViewController::applyRangeFilterCollectionByUserChoice()
{
if (!m_managedView->overrideRangeFilterCollection())
if (!m_managedView->hasOverridenRangeFilterCollection())
{
return;
}

View File

@ -376,7 +376,7 @@ void RiuViewerCommands::slotAddEclipsePropertyFilter()
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(m_reservoirView.p());
if (eclipseView)
{
RimEclipsePropertyFilterCollection* filterCollection = eclipseView->propertyFilterCollection();
RimEclipsePropertyFilterCollection* filterCollection = eclipseView->eclipsePropertyFilterCollection();
RicEclipsePropertyFilterNewExec* propCmdExe = new RicEclipsePropertyFilterNewExec(filterCollection);
caf::CmdExecCommandManager::instance()->processExecuteCommand(propCmdExe);
}
@ -390,7 +390,7 @@ void RiuViewerCommands::slotAddGeoMechPropertyFilter()
RimGeoMechView* geoMechView = dynamic_cast<RimGeoMechView*>(m_reservoirView.p());
if (geoMechView)
{
RimGeoMechPropertyFilterCollection* filterCollection = geoMechView->propertyFilterCollection();
RimGeoMechPropertyFilterCollection* filterCollection = geoMechView->geoMechPropertyFilterCollection();
RicGeoMechPropertyFilterNewExec* propCmdExe = new RicGeoMechPropertyFilterNewExec(filterCollection);
caf::CmdExecCommandManager::instance()->processExecuteCommand(propCmdExe);
}