#2895 Fix performance related to case name in plot tracking text

This commit is contained in:
Jacob Støren
2018-05-11 10:34:09 +02:00
parent 1b2f287579
commit 0d233e2568
5 changed files with 83 additions and 17 deletions

View File

@@ -60,6 +60,8 @@
#include "RimMainPlotCollection.h"
#include "RimSummaryPlotCollection.h"
#include "RimSummaryCase.h"
#include "RiuRimQwtPlotCurve.h"
#include "RimSummaryCurve.h"
#include <float.h>
@@ -75,23 +77,11 @@ public:
//--------------------------------------------------------------------------------------------------
virtual QString curveInfoText(QwtPlotCurve* curve) override
{
RimProject* project = RiaApplication::instance()->project();
RiuRimQwtPlotCurve* riuCurve = dynamic_cast<RiuRimQwtPlotCurve*>(curve);
RimSummaryCurve* sumCurve = nullptr;
// Lookup RimSummaryCurve from QwtPlotCurve
for (auto const plot : project->mainPlotCollection->summaryPlotCollection()->summaryPlots())
if (riuCurve)
{
for (auto const curveSet : plot->ensembleCurveSetCollection()->curveSets())
{
for (auto const currSumCurve : curveSet->curves())
{
if (currSumCurve->qwtPlotCurve() == curve)
{
sumCurve = currSumCurve;
break;
}
}
}
sumCurve = dynamic_cast<RimSummaryCurve*>(riuCurve->ownerRimCurve());
}
return sumCurve && sumCurve->summaryCaseY() ? sumCurve->summaryCaseY()->caseName() : "";