#4699 Guard use of TERNARY cell result in property filters

This commit is contained in:
Magne Sjaastad 2019-09-11 13:31:15 +02:00
parent da47acfc1c
commit b38904d158
2 changed files with 31 additions and 25 deletions

View File

@ -118,8 +118,12 @@ void RicEclipsePropertyFilterFeatureImpl::setDefaults(RimEclipsePropertyFilter*
RimEclipseView* reservoirView = nullptr;
propertyFilter->firstAncestorOrThisOfTypeAsserted(reservoirView);
propertyFilter->resultDefinition()->setEclipseCase(reservoirView->eclipseCase());
propertyFilter->resultDefinition()->simpleCopy(reservoirView->cellResult());
propertyFilter->resultDefinition()->setEclipseCase( reservoirView->eclipseCase() );
if ( !RiaDefines::isPerCellFaceResult( reservoirView->cellResult()->resultVariable() ) )
{
propertyFilter->resultDefinition()->simpleCopy( reservoirView->cellResult() );
}
propertyFilter->resultDefinition()->loadResult();
propertyFilter->setToDefaultValues();

View File

@ -1529,39 +1529,41 @@ QList<caf::PdmOptionItemInfo>
optionList.push_back(caf::PdmOptionItemInfo(s, s));
}
// Ternary Result
if (ternaryEnabled)
if ( addPerCellFaceOptionItems )
{
bool hasAtLeastOneTernaryComponent = false;
if (cellCenterResultNames.contains("SOIL"))
hasAtLeastOneTernaryComponent = true;
else if (cellCenterResultNames.contains("SGAS"))
hasAtLeastOneTernaryComponent = true;
else if (cellCenterResultNames.contains("SWAT"))
hasAtLeastOneTernaryComponent = true;
if (resultCatType == RiaDefines::DYNAMIC_NATIVE && hasAtLeastOneTernaryComponent)
for ( const QString& s : cellFaceResultNames )
{
optionList.push_front(
caf::PdmOptionItemInfo(RiaDefines::ternarySaturationResultName(), RiaDefines::ternarySaturationResultName()));
}
}
if (addPerCellFaceOptionItems)
{
for (const QString& s : cellFaceResultNames)
{
if (showDerivedResultsFirst)
if ( showDerivedResultsFirst )
{
optionList.push_front(caf::PdmOptionItemInfo(s, s));
optionList.push_front( caf::PdmOptionItemInfo( s, s ) );
}
else
{
optionList.push_back(caf::PdmOptionItemInfo(s, s));
optionList.push_back( caf::PdmOptionItemInfo( s, s ) );
}
}
// Ternary Result
if ( ternaryEnabled )
{
bool hasAtLeastOneTernaryComponent = false;
if ( cellCenterResultNames.contains( "SOIL" ) )
hasAtLeastOneTernaryComponent = true;
else if ( cellCenterResultNames.contains( "SGAS" ) )
hasAtLeastOneTernaryComponent = true;
else if ( cellCenterResultNames.contains( "SWAT" ) )
hasAtLeastOneTernaryComponent = true;
if ( resultCatType == RiaDefines::DYNAMIC_NATIVE && hasAtLeastOneTernaryComponent )
{
optionList.push_front( caf::PdmOptionItemInfo( RiaDefines::ternarySaturationResultName(),
RiaDefines::ternarySaturationResultName() ) );
}
}
}
optionList.push_front(caf::PdmOptionItemInfo(RiaDefines::undefinedResultName(), RiaDefines::undefinedResultName()));
optionList.push_front(
caf::PdmOptionItemInfo( RiaDefines::undefinedResultName(), RiaDefines::undefinedResultName() ) );
return optionList;
}