#4608 Add only one legend item per RFT ensemble

This commit is contained in:
Gaute Lindkvist 2019-08-22 14:20:04 +02:00
parent 510ea3f8be
commit 4bddefeb0c
2 changed files with 12 additions and 5 deletions

View File

@ -404,6 +404,8 @@ void RimWellRftPlot::updateCurvesInPlot(const std::set<RiaRftPltCurveDefinition>
defineCurveColorsAndSymbols(allCurveDefs);
std::set<RimSummaryCaseCollection*> ensemblesWithSummaryCurves;
// Add new curves
for (const RiaRftPltCurveDefinition& curveDefToAdd : allCurveDefs)
{
@ -428,10 +430,15 @@ void RimWellRftPlot::updateCurvesInPlot(const std::set<RiaRftPltCurveDefinition>
plotTrack->addCurve(curve);
auto rftCase = curveDefToAdd.address().summaryCase();
curve->setSummaryCase(rftCase);
curve->setEnsemble(curveDefToAdd.address().ensemble());
RifEclipseRftAddress address(simWellName, curveDefToAdd.timeStep(), RifEclipseRftAddress::PRESSURE);
curve->setRftAddress(address);
curve->setZOrder(1);
applyCurveAppearance(curve);
bool isFirstSummaryCurveInEnsemble = ensemblesWithSummaryCurves.count(curveDefToAdd.address().ensemble()) == 0u;
curve->showLegend(isFirstSummaryCurveInEnsemble);
ensemblesWithSummaryCurves.insert(curveDefToAdd.address().ensemble());
}
else if (m_showStatisticsCurves && curveDefToAdd.address().sourceType() == RifDataSourceForRftPlt::ENSEMBLE_RFT)
{

View File

@ -308,14 +308,14 @@ QString RimWellLogRftCurve::createCurveAutoName()
{
name.push_back(m_eclipseResultCase->caseUserDescription());
}
else if (m_ensemble) // Summary RFT curves have both ensemble and summary set. Prioritize ensemble for name.
{
name.push_back(m_ensemble->name());
}
else if (m_summaryCase)
{
name.push_back(m_summaryCase->caseName());
}
else if (m_ensemble)
{
name.push_back(m_ensemble->name());
}
if (wellLogChannelName() != caf::AppEnum<RifEclipseRftAddress::RftWellLogChannelType>::text(RifEclipseRftAddress::NONE))
{
RifEclipseRftAddress::RftWellLogChannelType channelNameEnum =
@ -592,7 +592,7 @@ RifReaderRftInterface* RimWellLogRftCurve::rftReader() const
{
return m_eclipseResultCase()->rftReader();
}
else if (m_summaryCase())
else if (m_summaryCase()) // Summary RFT curves have both summary and ensemble set. Prioritize summary for reader.
{
return m_summaryCase()->rftReader();
}