mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2369 Elm props: Only delete results from the closed files
This commit is contained in:
@@ -135,7 +135,7 @@ void RigFemPartResultsCollection::addElementPropertyFiles(const std::vector<QStr
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigFemPartResultsCollection::removeElementPropertyFiles(const std::vector<QString>& filenames)
|
||||
std::vector<RigFemResultAddress> RigFemPartResultsCollection::removeElementPropertyFiles(const std::vector<QString>& filenames)
|
||||
{
|
||||
std::vector<RigFemResultAddress> addressesToRemove;
|
||||
|
||||
@@ -155,6 +155,8 @@ void RigFemPartResultsCollection::removeElementPropertyFiles(const std::vector<Q
|
||||
{
|
||||
this->deleteResult(address);
|
||||
}
|
||||
|
||||
return addressesToRemove;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
RigFormationNames* activeFormationNames();
|
||||
|
||||
void addElementPropertyFiles(const std::vector<QString>& filenames);
|
||||
void removeElementPropertyFiles(const std::vector<QString>& filenames);
|
||||
std::vector<RigFemResultAddress> removeElementPropertyFiles(const std::vector<QString>& filenames);
|
||||
|
||||
void setCalculationParameters(double cohesion, double frictionAngleRad);
|
||||
double parameterCohesion() const { return m_cohesion;}
|
||||
|
||||
@@ -99,6 +99,19 @@ public:
|
||||
|
||||
return (componentName < other.componentName);
|
||||
}
|
||||
|
||||
bool operator== (const RigFemResultAddress& other) const
|
||||
{
|
||||
if ( resultPosType != other.resultPosType
|
||||
|| fieldName != other.fieldName
|
||||
|| componentName != other.componentName
|
||||
|| timeLapseBaseFrameIdx != other.timeLapseBaseFrameIdx)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -557,17 +557,29 @@ void RimGeoMechCase::closeSelectedElementPropertyFiles()
|
||||
|
||||
m_elementPropertyFileNameIndexUiSelection.v().clear();
|
||||
|
||||
std::vector<RigFemResultAddress> addressesToDelete;
|
||||
|
||||
if (m_geoMechCaseData.notNull())
|
||||
{
|
||||
geoMechData()->femPartResults()->removeElementPropertyFiles(filesToClose);
|
||||
addressesToDelete = geoMechData()->femPartResults()->removeElementPropertyFiles(filesToClose);
|
||||
}
|
||||
|
||||
for (RimGeoMechView* view : geoMechViews())
|
||||
{
|
||||
for (RigFemResultAddress address : addressesToDelete)
|
||||
{
|
||||
if (address == view->cellResultResultDefinition()->resultAddress())
|
||||
{
|
||||
view->cellResult()->setResultAddress(RigFemResultAddress());
|
||||
}
|
||||
|
||||
for (RimGeoMechPropertyFilter* propertyFilter : view->geoMechPropertyFilterCollection()->propertyFilters())
|
||||
{
|
||||
propertyFilter->resultDefinition().p()->setResultAddress(RigFemResultAddress());
|
||||
if (address == propertyFilter->resultDefinition->resultAddress())
|
||||
{
|
||||
propertyFilter->resultDefinition->setResultAddress(RigFemResultAddress());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
view->loadDataAndUpdate();
|
||||
|
||||
Reference in New Issue
Block a user