mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 07:26:03 -06:00
Fault result: Moved result mapping from collection to fault result
This commit is contained in:
parent
11967c5161
commit
6416a6d71d
@ -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<RivFaultPartMgr> 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<RivFaultPartMgr> rivFaultPart = m_faultParts[i];
|
||||
CVF_ASSERT(rivFaultPart.notNull());
|
||||
|
@ -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<cvf::Transform> m_scaleTransform;
|
||||
const RimFaultCollection* m_faultCollection;
|
||||
caf::PdmPointer<RimReservoirView> m_reservoirView;
|
||||
cvf::Collection<RivFaultPartMgr> m_faultParts;
|
||||
bool m_forceVisibility;
|
||||
};
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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<RigGridBase*> 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<RigGridBase*> 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<RigGridBase*> grids;
|
||||
|
@ -45,7 +45,7 @@ RimFaultResultSlot::RimFaultResultSlot()
|
||||
{
|
||||
CAF_PDM_InitObject("Fault Result Slot", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_visualizationMode, "VisualizationMode", caf::AppEnum<RimFaultResultSlot::FaultVisualizationMode>(RimFaultResultSlot::CELL_RESULT_MAPPING), "Fault Color Mapping", "", "", "");
|
||||
CAF_PDM_InitField(&visualizationMode, "VisualizationMode", caf::AppEnum<RimFaultResultSlot::FaultVisualizationMode>(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();
|
||||
}
|
||||
|
@ -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<RimResultSlot*> m_customResultSlot;
|
||||
|
||||
caf::PdmPointer<RimReservoirView> m_reservoirView;
|
||||
|
Loading…
Reference in New Issue
Block a user