Stop invalid analysis plot filters from removing cases

This commit is contained in:
Gaute Lindkvist 2020-10-02 10:46:10 +02:00 committed by Magne Sjaastad
parent b1c2c56d9e
commit 890b7f8ca5
3 changed files with 23 additions and 1 deletions

View File

@ -1097,7 +1097,7 @@ void RimAnalysisPlot::applyFilter( const RimPlotDataFilterItem* filter,
{ {
const std::vector<RiaSummaryCurveDefinition> curveDefsToFilter; const std::vector<RiaSummaryCurveDefinition> curveDefsToFilter;
if ( !filter->isActive() ) return; if ( !filter->isActive() || !filter->isValid() ) return;
std::vector<RiaSummaryCurveDefinition> filteredCurveDefs; std::vector<RiaSummaryCurveDefinition> filteredCurveDefs;
@ -1166,6 +1166,10 @@ void RimAnalysisPlot::applyFilter( const RimPlotDataFilterItem* filter,
} }
} }
} }
else
{
casesToKeep = ( *filteredSumCases );
}
} }
else else
{ {

View File

@ -127,6 +127,23 @@ RimPlotDataFilterItem::~RimPlotDataFilterItem()
{ {
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPlotDataFilterItem::isValid() const
{
if ( m_filterTarget() == ENSEMBLE_CASE && ensembleParameterName().isEmpty() )
{
return false;
}
else if ( ( m_filterTarget() == SUMMARY_CASE || m_filterTarget() == SUMMARY_ITEM ) && !summaryAddress().isValid() )
{
return false;
}
return true;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -90,6 +90,7 @@ public:
bool isActive() const { return m_isActive(); } bool isActive() const { return m_isActive(); }
FilterTarget filterTarget() const { return m_filterTarget(); } FilterTarget filterTarget() const { return m_filterTarget(); }
bool isValid() const;
RifEclipseSummaryAddress summaryAddress() const; RifEclipseSummaryAddress summaryAddress() const;