diff --git a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp index 48e73ff06f..929baaae94 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.cpp @@ -27,18 +27,21 @@ #include "RimFaultCollection.h" #include "RigMainGrid.h" +#include "RimReservoirView.h" +#include "RimFaultResultSlot.h" //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigMainGrid* grid, const RimFaultCollection* faultCollection) -: m_faultCollection(faultCollection) +RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigMainGrid* grid, RimReservoirView* reservoirView) +: m_reservoirView(reservoirView) { CVF_ASSERT(grid); - if (faultCollection) + if (reservoirView) { + RimFaultCollection* faultCollection = reservoirView->faultCollection(); for (size_t i = 0; i < faultCollection->faults.size(); i++) { m_faultParts.push_back(new RivFaultPartMgr(grid, faultCollection, faultCollection->faults[i])); @@ -83,26 +86,27 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model) { CVF_ASSERT(model != NULL); - if (!m_faultCollection) return; + RimFaultCollection* faultCollection = m_reservoirView->faultCollection(); + if (!faultCollection) return; - bool isShowingGrid = m_faultCollection->isGridVisualizationMode(); - if (!m_faultCollection->showFaultCollection() && !isShowingGrid) return; + bool isShowingGrid = faultCollection->isGridVisualizationMode(); + if (!faultCollection->showFaultCollection() && !isShowingGrid) return; // Check match between model fault count and fault parts - CVF_ASSERT(m_faultCollection->faults.size() == m_faultParts.size()); + CVF_ASSERT(faultCollection->faults.size() == m_faultParts.size()); cvf::ModelBasicList parts; - for (size_t i = 0; i < m_faultCollection->faults.size(); i++) + for (size_t i = 0; i < faultCollection->faults.size(); i++) { - const RimFault* rimFault = m_faultCollection->faults[i]; + const RimFault* rimFault = faultCollection->faults[i]; cvf::ref rivFaultPart = m_faultParts[i]; CVF_ASSERT(rivFaultPart.notNull()); // Parts that is overridden by the grid settings bool forceDisplayOfFault = false; - if (!m_faultCollection->showFaultsOutsideFilters()) + if (!faultCollection->showFaultsOutsideFilters()) { forceDisplayOfFault = isShowingGrid; } @@ -114,17 +118,17 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model) if (rimFault->showFault() || forceDisplayOfFault) { - if (m_faultCollection->showFaultFaces() || forceDisplayOfFault) + if (faultCollection->showFaultFaces() || forceDisplayOfFault) { rivFaultPart->appendNativeFaultFacesToModel(&parts); } - if (m_faultCollection->showOppositeFaultFaces() || forceDisplayOfFault) + if (faultCollection->showOppositeFaultFaces() || forceDisplayOfFault) { rivFaultPart->appendOppositeFaultFacesToModel(&parts); } - if (m_faultCollection->showFaultFaces() || m_faultCollection->showOppositeFaultFaces() || m_faultCollection->showNNCs() || forceDisplayOfFault) + if (faultCollection->showFaultFaces() || faultCollection->showOppositeFaultFaces() || faultCollection->showNNCs() || forceDisplayOfFault) { rivFaultPart->appendMeshLinePartsToModel(&parts); } @@ -132,9 +136,9 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model) // Parts that is not overridden by the grid settings - if (rimFault->showFault() && m_faultCollection->showFaultCollection()) + if (rimFault->showFault() && faultCollection->showFaultCollection()) { - if (m_faultCollection->showNNCs()) + if (faultCollection->showNNCs()) { rivFaultPart->appendNNCFacesToModel(&parts); } @@ -166,26 +170,22 @@ void RivReservoirFaultsPartMgr::applySingleColorEffect() //-------------------------------------------------------------------------------------------------- void RivReservoirFaultsPartMgr::updateColors(size_t timeStepIndex, RimResultSlot* cellResultSlot) { - bool isShowingGrid = m_faultCollection->isGridVisualizationMode(); + if (!m_reservoirView) return; - for (size_t i = 0; i < m_faultCollection->faults.size(); i++) + RimFaultCollection* faultCollection = m_reservoirView->faultCollection(); + CVF_ASSERT(faultCollection); + + for (size_t i = 0; i < faultCollection->faults.size(); i++) { - RimFault* rimFault = m_faultCollection->faults[i]; + RimFault* rimFault = faultCollection->faults[i]; - if (isShowingGrid) + if (m_reservoirView->faultResult()->visualizationMode() == RimFaultResultSlot::FAULT_COLOR) { - m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot); + m_faultParts[i]->applySingleColorEffect(); } else { - if (m_faultCollection->showResultsOnFaults()) - { - m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot); - } - else - { - m_faultParts[i]->applySingleColorEffect(); - } + m_faultParts[i]->updateCellResultColor(timeStepIndex, cellResultSlot); } } } @@ -207,21 +207,23 @@ void RivReservoirFaultsPartMgr::updateCellEdgeResultColor(size_t timeStepIndex, void RivReservoirFaultsPartMgr::appendLabelPartsToModel(cvf::ModelBasicList* model) { CVF_ASSERT(model != NULL); + if (!m_reservoirView) return; - if (!m_faultCollection) return; + RimFaultCollection* faultCollection = m_reservoirView->faultCollection(); + CVF_ASSERT(faultCollection); - if (!m_faultCollection->showFaultCollection()) return; + if (!faultCollection->showFaultCollection()) return; - if (!m_faultCollection->showFaultLabel() ) return; + if (!faultCollection->showFaultLabel() ) return; // Check match between model fault count and fault parts - CVF_ASSERT(m_faultCollection->faults.size() == m_faultParts.size()); + CVF_ASSERT(faultCollection->faults.size() == m_faultParts.size()); cvf::ModelBasicList parts; - for (size_t i = 0; i < m_faultCollection->faults.size(); i++) + for (size_t i = 0; i < faultCollection->faults.size(); i++) { - const RimFault* rimFault = m_faultCollection->faults[i]; + const RimFault* rimFault = faultCollection->faults[i]; cvf::ref rivFaultPart = m_faultParts[i]; CVF_ASSERT(rivFaultPart.notNull()); diff --git a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h index 105b20468f..3bc9c23587 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h +++ b/ApplicationCode/ModelVisualization/RivReservoirFaultsPartMgr.h @@ -31,7 +31,7 @@ namespace cvf class RimResultSlot; class RimCellEdgeResultSlot; -class RimFaultCollection; +class RimReservoirView; //================================================================================================== /// @@ -39,7 +39,7 @@ class RimFaultCollection; class RivReservoirFaultsPartMgr : public cvf::Object { public: - RivReservoirFaultsPartMgr(const RigMainGrid* grid, const RimFaultCollection* faultCollection); + RivReservoirFaultsPartMgr(const RigMainGrid* grid, RimReservoirView* reservoirView); ~RivReservoirFaultsPartMgr(); void setTransform(cvf::Transform* scaleTransform); @@ -59,7 +59,7 @@ public: private: cvf::ref m_scaleTransform; - const RimFaultCollection* m_faultCollection; + caf::PdmPointer m_reservoirView; cvf::Collection m_faultParts; bool m_forceVisibility; }; diff --git a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp index 806bd08023..60dae98bd0 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.cpp @@ -28,7 +28,7 @@ //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RivReservoirPartMgr::clearAndSetReservoir(const RigCaseData* eclipseCase, const RimFaultCollection* faultCollection) +void RivReservoirPartMgr::clearAndSetReservoir(const RigCaseData* eclipseCase, RimReservoirView* reservoirView) { m_allGrids.clear(); @@ -44,7 +44,7 @@ void RivReservoirPartMgr::clearAndSetReservoir(const RigCaseData* eclipseCase, c if (eclipseCase->mainGrid()) { // Faults read from file are present only on main grid - m_faultsPartMgr = new RivReservoirFaultsPartMgr(eclipseCase->mainGrid(), faultCollection); + m_faultsPartMgr = new RivReservoirFaultsPartMgr(eclipseCase->mainGrid(), reservoirView); } } } diff --git a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h index 7f07979603..6f7075aeac 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h +++ b/ApplicationCode/ModelVisualization/RivReservoirPartMgr.h @@ -33,7 +33,7 @@ class RimResultSlot; class RimCellEdgeResultSlot; class RivGridPartMgr; class RigCaseData; -class RimFaultCollection; +class RimReservoirView; //================================================================================================== /// @@ -45,7 +45,7 @@ class RimFaultCollection; class RivReservoirPartMgr: public cvf::Object { public: - void clearAndSetReservoir(const RigCaseData* eclipseCase, const RimFaultCollection* faultCollection); + void clearAndSetReservoir(const RigCaseData* eclipseCase, RimReservoirView* reservoirView); void setTransform(cvf::Transform* scaleTransform); void setCellVisibility(size_t gridIndex, cvf::UByteArray* cellVisibilities ); void setFaultForceVisibility(bool isGeneratedByFilter); diff --git a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp index 8f8e095c3e..8346961b45 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp @@ -152,7 +152,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(ReservoirGeometryCacheType geom m_propFilteredGeometryFramesNeedsRegen[i] = true; if (m_propFilteredGeometryFrames[i].notNull()) { - m_propFilteredGeometryFrames[i]->clearAndSetReservoir(eclipseCase, m_reservoirView->faultCollection()); + m_propFilteredGeometryFrames[i]->clearAndSetReservoir(eclipseCase, m_reservoirView); m_propFilteredGeometryFrames[i]->setTransform(m_scaleTransform.p()); } } @@ -164,7 +164,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(ReservoirGeometryCacheType geom m_propFilteredWellGeometryFramesNeedsRegen[i] = true; if (m_propFilteredWellGeometryFrames[i].notNull()) { - m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir(eclipseCase, m_reservoirView->faultCollection()); + m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir(eclipseCase, m_reservoirView); m_propFilteredWellGeometryFrames[i]->setTransform(m_scaleTransform.p()); } } @@ -172,7 +172,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(ReservoirGeometryCacheType geom else { m_geometriesNeedsRegen[geomType] = true; - m_geometries[geomType].clearAndSetReservoir(eclipseCase, m_reservoirView->faultCollection()); + m_geometries[geomType].clearAndSetReservoir(eclipseCase, m_reservoirView); m_geometries[geomType].setTransform(m_scaleTransform.p()); } } @@ -239,7 +239,7 @@ void RivReservoirViewPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasicL void RivReservoirViewPartMgr::createGeometry(ReservoirGeometryCacheType geometryType) { RigCaseData* res = m_reservoirView->eclipseCase()->reservoirData(); - m_geometries[geometryType].clearAndSetReservoir(res, m_reservoirView->faultCollection()); + m_geometries[geometryType].clearAndSetReservoir(res, m_reservoirView); m_geometries[geometryType].setTransform(m_scaleTransform.p()); std::vector grids; @@ -395,7 +395,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredNoneWellCellGeometry(size_t if ( m_propFilteredGeometryFrames[frameIndex].isNull()) m_propFilteredGeometryFrames[frameIndex] = new RivReservoirPartMgr; - m_propFilteredGeometryFrames[frameIndex]->clearAndSetReservoir(res, m_reservoirView->faultCollection()); + m_propFilteredGeometryFrames[frameIndex]->clearAndSetReservoir(res, m_reservoirView); m_propFilteredGeometryFrames[frameIndex]->setTransform(m_scaleTransform.p()); std::vector grids; @@ -472,7 +472,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredWellGeometry(size_t frameInd if ( m_propFilteredWellGeometryFrames[frameIndex].isNull()) m_propFilteredWellGeometryFrames[frameIndex] = new RivReservoirPartMgr; - m_propFilteredWellGeometryFrames[frameIndex]->clearAndSetReservoir(res, m_reservoirView->faultCollection()); + m_propFilteredWellGeometryFrames[frameIndex]->clearAndSetReservoir(res, m_reservoirView); m_propFilteredWellGeometryFrames[frameIndex]->setTransform(m_scaleTransform.p()); std::vector grids; diff --git a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp index 249216a6fb..bb459ed023 100644 --- a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp +++ b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.cpp @@ -45,7 +45,7 @@ RimFaultResultSlot::RimFaultResultSlot() { CAF_PDM_InitObject("Fault Result Slot", "", "", ""); - CAF_PDM_InitField(&m_visualizationMode, "VisualizationMode", caf::AppEnum(RimFaultResultSlot::CELL_RESULT_MAPPING), "Fault Color Mapping", "", "", ""); + CAF_PDM_InitField(&visualizationMode, "VisualizationMode", caf::AppEnum(RimFaultResultSlot::CELL_RESULT_MAPPING), "Fault Color Mapping", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_customResultSlot, "CustomResultSlot", "Custom Fault Cell Result", ":/CellResult.png", "", ""); m_customResultSlot = new RimResultSlot(); @@ -74,7 +74,7 @@ void RimFaultResultSlot::setReservoirView(RimReservoirView* ownerReservoirView) //-------------------------------------------------------------------------------------------------- void RimFaultResultSlot::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) { - if (changedField == &m_visualizationMode) + if (changedField == &visualizationMode) { updateVisibility(); @@ -97,7 +97,7 @@ void RimFaultResultSlot::initAfterRead() //-------------------------------------------------------------------------------------------------- void RimFaultResultSlot::updateVisibility() { - if (this->m_visualizationMode() == FAULT_COLOR || this->m_visualizationMode() == CELL_RESULT_MAPPING) + if (this->visualizationMode() == FAULT_COLOR || this->visualizationMode() == CELL_RESULT_MAPPING) { this->m_customResultSlot.setUiHidden(true); this->m_customResultSlot.setUiChildrenHidden(true); @@ -114,7 +114,7 @@ void RimFaultResultSlot::updateVisibility() //-------------------------------------------------------------------------------------------------- RimResultSlot* RimFaultResultSlot::customResultSlot() { - if (this->m_visualizationMode() == CUSTOM_RESULT_MAPPING) + if (this->visualizationMode() == CUSTOM_RESULT_MAPPING) { return this->m_customResultSlot(); } diff --git a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h index 4ff776ed04..c8d57151b6 100644 --- a/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h +++ b/ApplicationCode/ProjectDataModel/RimFaultResultSlot.h @@ -43,10 +43,12 @@ public: public: RimFaultResultSlot(); virtual ~RimFaultResultSlot(); - + void setReservoirView(RimReservoirView* ownerReservoirView); - RimResultSlot* customResultSlot(); + caf::PdmField< caf::AppEnum< FaultVisualizationMode > > visualizationMode; + + RimResultSlot* customResultSlot(); void updateVisibility(); protected: @@ -54,7 +56,6 @@ protected: virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); private: - caf::PdmField< caf::AppEnum< FaultVisualizationMode > > m_visualizationMode; caf::PdmField m_customResultSlot; caf::PdmPointer m_reservoirView;