(#401) WIP: Activated the visibility calculation code.

Started on mapping calculation.
This commit is contained in:
Jacob Støren 2015-09-15 10:13:43 +02:00
parent f092c4daef
commit 36bc2f8f69
4 changed files with 20 additions and 13 deletions

View File

@ -34,6 +34,7 @@
#include "RigFemPartResultsCollection.h" #include "RigFemPartResultsCollection.h"
#include "RimViewLink.h" #include "RimViewLink.h"
#include "RimViewLinker.h" #include "RimViewLinker.h"
#include "RigCaseToCaseCellMapper.h"
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
@ -175,7 +176,6 @@ void RivFemElmVisibilityCalculator::computeOverriddenCellVisibility(cvf::UByteAr
const RigFemPart* femPart, const RigFemPart* femPart,
RimViewLink* masterViewLink) RimViewLink* masterViewLink)
{ {
#if 0
CVF_ASSERT(elmVisibilities != NULL); CVF_ASSERT(elmVisibilities != NULL);
CVF_ASSERT(femPart != NULL); CVF_ASSERT(femPart != NULL);
@ -186,13 +186,13 @@ void RivFemElmVisibilityCalculator::computeOverriddenCellVisibility(cvf::UByteAr
elmVisibilities->resize(elmCount); elmVisibilities->resize(elmCount);
elmVisibilities->setAll(false); elmVisibilities->setAll(false);
RigCaseToCaseCellMapper* cellMapper = masterViewLink->cellMapper(); const RigCaseToCaseCellMapper* cellMapper = masterViewLink->cellMapper();
for (size_t elmIdx = 0; elmIdx < elmCount; ++elmIdx) for (int elmIdx = 0; elmIdx < elmCount; ++elmIdx)
{ {
// We are assuming that there is only one part. // We are assuming that there is only one part.
int cellCount = 0; int cellCount = 0;
const int* cellIndicesInMasterCase = cellMapper->masterCaseCellIndex(elmIdx, &cellCount); const int* cellIndicesInMasterCase = cellMapper->masterCaseCellIndices(elmIdx, &cellCount);
for (int mcIdx = 0; mcIdx < cellCount; ++mcIdx) for (int mcIdx = 0; mcIdx < cellCount; ++mcIdx)
{ {
@ -200,6 +200,5 @@ void RivFemElmVisibilityCalculator::computeOverriddenCellVisibility(cvf::UByteAr
} }
} }
#endif
} }

View File

@ -42,6 +42,7 @@
#include "RivGridPartMgr.h" #include "RivGridPartMgr.h"
#include "RimViewLink.h" #include "RimViewLink.h"
#include "RimViewLinker.h" #include "RimViewLinker.h"
#include "RigCaseToCaseCellMapper.h"
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
@ -602,7 +603,6 @@ void RivReservoirViewPartMgr::computeOverriddenCellVisibility(cvf::UByteArray* c
RimView* masterView = masterViewLink->ownerViewLinker()->mainView(); RimView* masterView = masterViewLink->ownerViewLinker()->mainView();
#if 0
// get cell visibility // get cell visibility
#if 1 #if 1
cvf::ref<cvf::UByteArray> totCellVisibility = masterView->currentTotalCellVisibility(); cvf::ref<cvf::UByteArray> totCellVisibility = masterView->currentTotalCellVisibility();
@ -618,14 +618,14 @@ void RivReservoirViewPartMgr::computeOverriddenCellVisibility(cvf::UByteArray* c
cellVisibility->resize(gridCellCount); cellVisibility->resize(gridCellCount);
cellVisibility->setAll(false); cellVisibility->setAll(false);
RigCaseToCaseCellMapper* cellMapper = masterViewLink->cellMapper(); const RigCaseToCaseCellMapper* cellMapper = masterViewLink->cellMapper();
for (size_t lcIdx = 0; lcIdx < gridCellCount; ++lcIdx) for (size_t lcIdx = 0; lcIdx < gridCellCount; ++lcIdx)
{ {
#if 1 #if 1
size_t reservoirCellIdx = grid->reservoirCellIndex(lcIdx); int reservoirCellIdx = static_cast<int>(grid->reservoirCellIndex(lcIdx));
int cellCount = 0; int cellCount = 0;
const int* cellIndicesInMasterCase = cellMapper->masterCaseCellIndex(reservoirCellIdx, &cellCount); const int* cellIndicesInMasterCase = cellMapper->masterCaseCellIndices(reservoirCellIdx, &cellCount);
for (int mcIdx = 0; mcIdx < cellCount; ++mcIdx) for (int mcIdx = 0; mcIdx < cellCount; ++mcIdx)
{ {
@ -646,7 +646,6 @@ void RivReservoirViewPartMgr::computeOverriddenCellVisibility(cvf::UByteArray* c
} }
#endif #endif
} }
#endif
} }

View File

@ -18,6 +18,7 @@
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
#include "RigCaseToCaseCellMapper.h" #include "RigCaseToCaseCellMapper.h"
#include "RigFemPart.h"
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -29,6 +30,7 @@ RigCaseToCaseCellMapper::RigCaseToCaseCellMapper(RigMainGrid* masterEclGrid, Rig
m_masterFemPart(dependentFemPart), m_masterFemPart(dependentFemPart),
m_dependentFemPart(NULL) m_dependentFemPart(NULL)
{ {
m_masterCellOrIntervalIndex.resize(dependentFemPart->elementCount(), cvf::UNDEFINED_INT);
} }
@ -72,9 +74,16 @@ RigCaseToCaseCellMapper::RigCaseToCaseCellMapper(RigFemPart* masterFemPart, RigF
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
const int * RigCaseToCaseCellMapper::masterCaseCellIndices(int dependentCaseReservoirCellIndex, int* masterCaseCellIndexCount) const int * RigCaseToCaseCellMapper::masterCaseCellIndices(int dependentCaseReservoirCellIndex, int* masterCaseCellIndexCount) const
{ {
int seriesIndex = m_masterCellOrIntervalIndex[dependentCaseReservoirCellIndex]; int seriesIndex = m_masterCellOrIntervalIndex[dependentCaseReservoirCellIndex];
if (seriesIndex == cvf::UNDEFINED_INT)
{
(*masterCaseCellIndexCount) = 0;
return NULL;
}
if (seriesIndex < 0) if (seriesIndex < 0)
{ {
(*masterCaseCellIndexCount) = static_cast<int>(m_masterCellIndexSeries[-seriesIndex].size()); (*masterCaseCellIndexCount) = static_cast<int>(m_masterCellIndexSeries[-seriesIndex].size());

View File

@ -41,7 +41,7 @@ public:
RigCaseToCaseCellMapper(RigFemPart* masterFemPart, RigMainGrid* dependentEclGrid); RigCaseToCaseCellMapper(RigFemPart* masterFemPart, RigMainGrid* dependentEclGrid);
RigCaseToCaseCellMapper(RigFemPart* masterFemPart, RigFemPart* dependentFemPart); RigCaseToCaseCellMapper(RigFemPart* masterFemPart, RigFemPart* dependentFemPart);
const int * masterCaseCellIndices(int dependentCaseReservoirCellIndex, int* masterCaseCellIndexCount); const int * masterCaseCellIndices(int dependentCaseReservoirCellIndex, int* masterCaseCellIndexCount) const;
const RigMainGrid* masterGrid() const { return m_masterGrid;} const RigMainGrid* masterGrid() const { return m_masterGrid;}
const RigMainGrid* dependentGrid() const { return m_dependentGrid;} const RigMainGrid* dependentGrid() const { return m_dependentGrid;}