mirror of
https://github.com/OPM/ResInsight.git
synced 2026-09-03 20:53:13 -05:00
Read grid dimensions and verify equality before adding a result case
Harmonized and refactored creation of RimResultCases p4#: 21156
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include "RimResultCase.h"
|
||||
#include "cafProgressInfo.h"
|
||||
#include "RigActiveCellInfo.h"
|
||||
#include "RigGridManager.h"
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimIdenticalGridCaseGroup, "RimIdenticalGridCaseGroup");
|
||||
@@ -78,15 +79,15 @@ void RimIdenticalGridCaseGroup::addCase(RimCase* reservoir)
|
||||
|
||||
if (!reservoir) return;
|
||||
|
||||
RigMainGrid* incomingMainGrid = reservoir->reservoirData()->mainGrid();
|
||||
|
||||
if (!m_mainGrid)
|
||||
{
|
||||
m_mainGrid = incomingMainGrid;
|
||||
m_mainGrid = reservoir->reservoirData()->mainGrid();
|
||||
}
|
||||
else
|
||||
{
|
||||
reservoir->reservoirData()->setMainGrid(m_mainGrid);
|
||||
}
|
||||
|
||||
CVF_ASSERT(m_mainGrid == incomingMainGrid);
|
||||
|
||||
caseCollection()->reservoirs().push_back(reservoir);
|
||||
|
||||
if (statisticsCaseCollection->reservoirs().size() == 0)
|
||||
@@ -423,3 +424,26 @@ RimCase* RimIdenticalGridCaseGroup::mainCase()
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimIdenticalGridCaseGroup::canCaseBeAdded(RimCase* reservoir) const
|
||||
{
|
||||
CVF_ASSERT(reservoir && reservoir->reservoirData() && reservoir->reservoirData()->mainGrid());
|
||||
|
||||
if (!m_mainGrid)
|
||||
{
|
||||
// Empty case group, reservoir can be added
|
||||
return true;
|
||||
}
|
||||
|
||||
RigMainGrid* incomingMainGrid = reservoir->reservoirData()->mainGrid();
|
||||
|
||||
if (RigGridManager::isEqual(m_mainGrid, incomingMainGrid))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user