Fault result: Moved result mapping from collection to fault result

This commit is contained in:
Magne Sjaastad
2014-07-31 10:49:23 +02:00
parent 11967c5161
commit 6416a6d71d
7 changed files with 57 additions and 54 deletions

View File

@@ -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());