mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4003 Use the preferences settings when creating default summary plots.
Refactored to make assigning default curve appearance easier.
This commit is contained in:
@@ -20,10 +20,15 @@
|
||||
|
||||
#include "RiaColorTables.h"
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "RiuQwtPlotCurve.h"
|
||||
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimProject.h"
|
||||
|
||||
#include "RifSummaryReaderInterface.h"
|
||||
|
||||
#include "cvfVector3.h"
|
||||
|
||||
@@ -61,10 +66,10 @@ bool isExcplicitHandled(char secondChar)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCurveAppearanceCalculator::RimSummaryCurveAppearanceCalculator(const std::set<RiaSummaryCurveDefinition>& curveDefinitions, const std::set<std::string>& allSummaryCaseNames, const std::set<std::string>& allSummaryWellNames)
|
||||
RimSummaryCurveAppearanceCalculator::RimSummaryCurveAppearanceCalculator(const std::set<RiaSummaryCurveDefinition>& curveDefinitions)
|
||||
{
|
||||
m_allSummaryCaseNames = allSummaryCaseNames;
|
||||
m_allSummaryWellNames = allSummaryWellNames;
|
||||
m_allSummaryCaseNames = getAllSummaryCaseNames();
|
||||
m_allSummaryWellNames = getAllSummaryWellNames();
|
||||
|
||||
for(const RiaSummaryCurveDefinition& curveDef : curveDefinitions)
|
||||
{
|
||||
@@ -517,3 +522,53 @@ cvf::Color3f RimSummaryCurveAppearanceCalculator::gradeColor(const cvf::Color3f&
|
||||
|
||||
return cvf::Color3f(newColor[0], newColor[1], newColor[2]);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<std::string> RimSummaryCurveAppearanceCalculator::getAllSummaryCaseNames()
|
||||
{
|
||||
std::set<std::string> summaryCaseHashes;
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
|
||||
std::vector<RimSummaryCase*> cases = proj->allSummaryCases();
|
||||
for (RimSummaryCase* rimCase : cases)
|
||||
{
|
||||
summaryCaseHashes.insert(rimCase->summaryHeaderFilename().toUtf8().constData());
|
||||
}
|
||||
|
||||
return summaryCaseHashes;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<std::string> RimSummaryCurveAppearanceCalculator::getAllSummaryWellNames()
|
||||
{
|
||||
std::set<std::string> summaryWellNames;
|
||||
RimProject* proj = RiaApplication::instance()->project();
|
||||
|
||||
std::vector<RimSummaryCase*> cases = proj->allSummaryCases();
|
||||
for (RimSummaryCase* rimCase : cases)
|
||||
{
|
||||
RifSummaryReaderInterface* reader = nullptr;
|
||||
if (rimCase)
|
||||
{
|
||||
reader = rimCase->summaryReader();
|
||||
}
|
||||
|
||||
if (reader)
|
||||
{
|
||||
const std::set<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses();
|
||||
|
||||
for (auto& address : allAddresses)
|
||||
{
|
||||
if (address.category() == RifEclipseSummaryAddress::SUMMARY_WELL)
|
||||
{
|
||||
summaryWellNames.insert(address.wellName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return summaryWellNames;
|
||||
}
|
||||
|
||||
@@ -32,9 +32,7 @@ class RiaSummaryCurveDefinition;
|
||||
class RimSummaryCurveAppearanceCalculator
|
||||
{
|
||||
public:
|
||||
explicit RimSummaryCurveAppearanceCalculator(const std::set<RiaSummaryCurveDefinition>& curveDefinitions,
|
||||
const std::set<std::string>& allSummaryCaseNames,
|
||||
const std::set<std::string>& allSummaryWellNames);
|
||||
explicit RimSummaryCurveAppearanceCalculator(const std::set<RiaSummaryCurveDefinition>& curveDefinitions);
|
||||
enum CurveAppearanceType
|
||||
{
|
||||
NONE,
|
||||
@@ -80,6 +78,9 @@ private:
|
||||
|
||||
cvf::Color3f gradeColor(const cvf::Color3f& color , float factor);
|
||||
|
||||
static std::set<std::string> getAllSummaryCaseNames();
|
||||
static std::set<std::string> getAllSummaryWellNames();
|
||||
|
||||
cvf::Color3f m_currentCurveBaseColor;
|
||||
float m_currentCurveGradient;
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@ bool RimSummaryFilter::isIncludedByFilter(const RifEclipseSummaryAddress& addr)
|
||||
|
||||
if(m_filterType() == SUM_FILTER_VAR_STRING)
|
||||
{
|
||||
return isStringMatch(m_completeVarStringFilter(), addr.uiText());
|
||||
return addr.isUiTextMatchingFilterText(m_completeVarStringFilter());
|
||||
}
|
||||
|
||||
if(!isStringMatch(m_filterQuantityName(), addr.quantityName())) return false;
|
||||
|
||||
@@ -63,6 +63,8 @@
|
||||
#include <set>
|
||||
#include <limits>
|
||||
#include <QDebug>
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
#include "RiaColorTables.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimSummaryPlot, "SummaryPlot");
|
||||
|
||||
@@ -342,6 +344,20 @@ std::vector<RimSummaryCurve*> RimSummaryPlot::summaryAndEnsembleCurves() const
|
||||
return curves;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::set<RiaSummaryCurveDefinition> RimSummaryPlot::summaryAndEnsembleCurveDefinitions() const
|
||||
{
|
||||
std::set<RiaSummaryCurveDefinition> allCurveDefs;
|
||||
|
||||
for (const auto& curve : this->summaryAndEnsembleCurves())
|
||||
{
|
||||
allCurveDefs.insert(RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY()));
|
||||
}
|
||||
return allCurveDefs;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -539,6 +555,31 @@ size_t RimSummaryPlot::singleColorCurveCount() const
|
||||
return colorIndex;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::applyDefaultCurveAppearances()
|
||||
{
|
||||
std::set<RiaSummaryCurveDefinition> allCurveDefs = this->summaryAndEnsembleCurveDefinitions();
|
||||
|
||||
RimSummaryCurveAppearanceCalculator curveLookCalc(allCurveDefs);
|
||||
|
||||
// Summary curves
|
||||
for (auto& curve : this->summaryCurves())
|
||||
{
|
||||
curve->resetAppearance();
|
||||
curveLookCalc.setupCurveLook(curve);
|
||||
}
|
||||
|
||||
// Ensemble curve sets
|
||||
int colorIndex = 0;
|
||||
for (auto& curveSet : this->ensembleCurveSetCollection()->curveSets())
|
||||
{
|
||||
if (curveSet->colorMode() != RimEnsembleCurveSet::SINGLE_COLOR) continue;
|
||||
curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex++));
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "RiaDefines.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
|
||||
#include "RifEclipseSummaryAddress.h"
|
||||
|
||||
@@ -107,6 +108,7 @@ public:
|
||||
QString asciiDataForPlotExport(DateTimePeriod resamplingPeriod = DateTimePeriod::NONE) const;
|
||||
|
||||
std::vector<RimSummaryCurve*> summaryAndEnsembleCurves() const;
|
||||
std::set<RiaSummaryCurveDefinition> summaryAndEnsembleCurveDefinitions() const;
|
||||
std::vector<RimSummaryCurve*> summaryCurves() const;
|
||||
void deleteAllSummaryCurves();
|
||||
RimSummaryCurveCollection* summaryCurveCollection() const;
|
||||
@@ -132,6 +134,7 @@ public:
|
||||
bool containsResamplableCurves() const;
|
||||
|
||||
size_t singleColorCurveCount() const;
|
||||
void applyDefaultCurveAppearances();
|
||||
|
||||
|
||||
bool hasCustomFontSizes(RiaDefines::FontSettingType fontSettingType, int defaultFontSize) const override;
|
||||
|
||||
Reference in New Issue
Block a user