Do not add same case more than once in a grid case group

p4#: 21030
This commit is contained in:
Magne Sjaastad 2013-03-21 13:56:50 +01:00
parent b0503cabba
commit 7548e9c1bb
3 changed files with 25 additions and 0 deletions

View File

@ -342,3 +342,22 @@ void RimIdenticalGridCaseGroup::clearActiveCellUnions()
m_unionOfFractureActiveCells = new RigActiveCellInfo;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimIdenticalGridCaseGroup::contains(RimReservoir* reservoir) const
{
CVF_ASSERT(reservoir);
for (size_t i = 0; i < caseCollection()->reservoirs().size(); i++)
{
RimReservoir* rimReservoir = caseCollection()->reservoirs()[i];
if (reservoir->caseName == reservoir->caseName)
{
return true;
}
}
return false;
}

View File

@ -47,6 +47,7 @@ public:
void addCase(RimReservoir* reservoir);
void removeCase(RimReservoir* reservoir);
bool contains(RimReservoir* reservoir) const;
RimStatisticalCalculation* createAndAppendStatisticalCalculation();

View File

@ -605,6 +605,11 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, caf::PdmObjectG
{
RimResultReservoir* rimResultReservoir = typedObjects[i];
if (gridCaseGroup->contains(rimResultReservoir))
{
continue;
}
if (gridCaseGroup->mainGrid() == NULL)
{
rimResultReservoir->openEclipseGridFile();