(#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)); 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)); visiblePartMgrs.push_back(RivGeoMechPartMgrCache::Key(PROPERTY_FILTERED, timeStepIndex));
} }
@@ -209,7 +209,7 @@ RivGeoMechPartMgr* RivGeoMechVizLogic::getUpdatedPartMgr(RivGeoMechPartMgrCache:
caseData->femParts()->part(femPartIdx), caseData->femParts()->part(femPartIdx),
pMgrKey.frameIndex(), pMgrKey.frameIndex(),
rangeFiltVisibility.p(), rangeFiltVisibility.p(),
m_geomechView->propertyFilterCollection() m_geomechView->geoMechPropertyFilterCollection()
); );
} }
else if (pMgrKey.geometryType() == OVERRIDDEN_CELL_VISIBILITY) else if (pMgrKey.geometryType() == OVERRIDDEN_CELL_VISIBILITY)

View File

@@ -458,7 +458,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredNoneWellCellGeometry(size_t
(*cellVisibility)[cellIdx] = (*rangeVisibility)[cellIdx] || (*fenceVisibility)[cellIdx]; (*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()); 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]; (*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()); m_propFilteredWellGeometryFrames[frameIndex]->setCellVisibility(gIdx, cellVisibility.p());
} }

View File

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

View File

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

View File

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

View File

@@ -154,7 +154,7 @@ void RimGeoMechView::loadDataAndUpdate()
progress.setProgressDescription("Create Display model"); progress.setProgressDescription("Create Display model");
updateViewerWidget(); updateViewerWidget();
this->propertyFilterCollection()->loadAndInitializePropertyFilters(); this->geoMechPropertyFilterCollection()->loadAndInitializePropertyFilters();
this->scheduleCreateDisplayModelAndRedraw(); this->scheduleCreateDisplayModelAndRedraw();
@@ -486,7 +486,7 @@ void RimGeoMechView::clampCurrentTimestep()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimGeoMechView::isTimeStepDependentDataVisible() 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) if (m_overridePropertyFilterCollection)
{ {
@@ -629,3 +643,11 @@ void RimGeoMechView::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
uiTreeOrdering.setForgetRemainingFields(true); uiTreeOrdering.setForgetRemainingFields(true);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimPropertyFilterCollection* RimGeoMechView::propertyFilterCollection() const
{
return geoMechPropertyFilterCollection();
}

View File

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

View File

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

View File

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

View File

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

View File

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