mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3120 Summary plot export. Always include vector, case and optionally ensemble for summary curves in export data column headers
This commit is contained in:
@@ -94,6 +94,7 @@ public:
|
||||
void updateCurveNameNoLegendUpdate();
|
||||
|
||||
QString curveName() const { return m_curveName; }
|
||||
virtual QString curveExportDescription() const { return m_curveName; }
|
||||
|
||||
void updateCurveVisibility(bool updateParentPlot);
|
||||
void updateLegendEntryVisibilityAndPlotLegend();
|
||||
|
||||
@@ -26,10 +26,13 @@
|
||||
#include "RiaTimeHistoryCurveMerger.h"
|
||||
|
||||
#include "RimEclipseResultCase.h"
|
||||
#include "RimEnsembleCurveSet.h"
|
||||
#include "RimEnsembleCurveSetCollection.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimSummaryAddress.h"
|
||||
#include "RimSummaryCalculationCollection.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCaseCollection.h"
|
||||
#include "RimSummaryCrossPlot.h"
|
||||
#include "RimSummaryCurveAutoName.h"
|
||||
#include "RimSummaryCurveCollection.h"
|
||||
@@ -635,6 +638,34 @@ void RimSummaryCurve::applyCurveAutoNameSettings(const RimSummaryCurveAutoName&
|
||||
m_curveNameConfig->applySettings(autoNameSettings);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimSummaryCurve::curveExportDescription() const
|
||||
{
|
||||
auto address = m_yValuesCurveVariable->address();
|
||||
|
||||
RimEnsembleCurveSetCollection* coll;
|
||||
firstAncestorOrThisOfType(coll);
|
||||
|
||||
auto curveSet = coll ? coll->findRimCurveSetFromQwtCurve(m_qwtPlotCurve) : nullptr;
|
||||
auto group = curveSet ? curveSet->summaryCaseCollection() : nullptr;
|
||||
|
||||
if (group && group->isEnsemble())
|
||||
{
|
||||
return QString("%1.%2.%3")
|
||||
.arg(QString::fromStdString(address.uiText()))
|
||||
.arg(m_yValuesSummaryCase->caseName())
|
||||
.arg(group->name());
|
||||
}
|
||||
else
|
||||
{
|
||||
return QString("%1.%2")
|
||||
.arg(QString::fromStdString(address.uiText()))
|
||||
.arg(m_yValuesSummaryCase->caseName());
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -74,6 +74,8 @@ public:
|
||||
void updateQwtPlotAxis();
|
||||
void applyCurveAutoNameSettings(const RimSummaryCurveAutoName& autoNameSettings);
|
||||
|
||||
virtual QString curveExportDescription() const override;
|
||||
|
||||
protected:
|
||||
// RimPlotCurve overrides
|
||||
virtual QString createCurveAutoName() override;
|
||||
|
||||
@@ -1642,7 +1642,7 @@ void populateTimeHistoryCurvesData(std::vector<RimGridTimeHistoryCurve*> curves,
|
||||
if (curveCaseName == curvesData->caseNames[i]) casePosInList = i;
|
||||
}
|
||||
|
||||
CurveData curveData = { curve->curveName(), RifEclipseSummaryAddress(), curve->yValues() };
|
||||
CurveData curveData = { curve->curveExportDescription(), RifEclipseSummaryAddress(), curve->yValues() };
|
||||
|
||||
if (casePosInList == cvf::UNDEFINED_SIZE_T)
|
||||
{
|
||||
@@ -1674,7 +1674,7 @@ void populateAsciiDataCurvesData(std::vector<RimAsciiDataCurve*> curves, CurvesD
|
||||
|
||||
size_t casePosInList = cvf::UNDEFINED_SIZE_T;
|
||||
|
||||
CurveData curveData = { curve->curveName(), RifEclipseSummaryAddress(), curve->yValues() };
|
||||
CurveData curveData = { curve->curveExportDescription(), RifEclipseSummaryAddress(), curve->yValues() };
|
||||
|
||||
if (casePosInList == cvf::UNDEFINED_SIZE_T)
|
||||
{
|
||||
@@ -1711,7 +1711,7 @@ void populateSummaryCurvesData(std::vector<RimSummaryCurve*> curves, CurvesData*
|
||||
if (curveCaseName == curvesData->caseNames[i]) casePosInList = i;
|
||||
}
|
||||
|
||||
CurveData curveData = { curve->curveName(), curve->summaryAddressY(), curve->valuesY() };
|
||||
CurveData curveData = { curve->curveExportDescription(), curve->summaryAddressY(), curve->valuesY() };
|
||||
|
||||
if (casePosInList == cvf::UNDEFINED_SIZE_T)
|
||||
{
|
||||
@@ -1839,7 +1839,7 @@ void appendToExportData(QString& out, const std::vector<CurvesData>& curvesData)
|
||||
{
|
||||
for (size_t j = 0; j < data.allCurveData[i].size(); j++)
|
||||
{
|
||||
out += "\t" + data.allCurveData[i][j].name + " (" + data.caseNames[i] + ")";
|
||||
out += "\t" + data.allCurveData[i][j].name;
|
||||
}
|
||||
}
|
||||
out += "\n";
|
||||
|
||||
Reference in New Issue
Block a user