Custom color and custom plot title

This commit is contained in:
Magne Sjaastad 2019-03-18 14:31:06 +01:00
parent 614a3628f0
commit 69c264edf5
5 changed files with 52 additions and 3 deletions

View File

@ -821,6 +821,14 @@ RimPlotAxisProperties* RimGridCrossPlot::yAxisProperties()
return m_yAxisProperties(); return m_yAxisProperties();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimGridCrossPlotNameConfig* RimGridCrossPlot::nameConfig()
{
return m_nameConfig();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// Name Configuration /// Name Configuration
/// ///

View File

@ -109,6 +109,8 @@ protected:
RimPlotAxisProperties* xAxisProperties(); RimPlotAxisProperties* xAxisProperties();
RimPlotAxisProperties* yAxisProperties(); RimPlotAxisProperties* yAxisProperties();
RimGridCrossPlotNameConfig* nameConfig();
private: private:
caf::PdmField<bool> m_showLegend; caf::PdmField<bool> m_showLegend;
caf::PdmField<int> m_legendFontSize; caf::PdmField<int> m_legendFontSize;

View File

@ -15,6 +15,7 @@
// for more details. // for more details.
// //
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
#include "RimGridCrossPlotCurveSet.h" #include "RimGridCrossPlotCurveSet.h"
#include "RiaApplication.h" #include "RiaApplication.h"
@ -114,6 +115,9 @@ RimGridCrossPlotCurveSet::RimGridCrossPlotCurveSet()
CAF_PDM_InitFieldNoDefault(&m_crossPlotCurves, "CrossPlotCurves", "Curves", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_crossPlotCurves, "CrossPlotCurves", "Curves", "", "", "");
m_crossPlotCurves.uiCapability()->setUiTreeHidden(true); m_crossPlotCurves.uiCapability()->setUiTreeHidden(true);
CAF_PDM_InitField(&m_useCustomColor, "UseCustomColor", false, "Use Custom Color", "", "", "");
CAF_PDM_InitField(&m_customColor, "CustomColor", cvf::Color3f(cvf::Color3f::BLACK), "Custom Color", "", "", "");
setDefaults(); setDefaults();
} }
@ -427,11 +431,18 @@ void RimGridCrossPlotCurveSet::createCurves(const RigEclipseCrossPlotResult& res
m_groupedResults.clear(); m_groupedResults.clear();
if (!groupingEnabled()) if (!groupingEnabled())
{ {
const caf::ColorTable& colors = RiaColorTables::contrastCategoryPaletteColors();
int colorIndex = indexInPlot();
RimGridCrossPlotCurve* curve = new RimGridCrossPlotCurve(); RimGridCrossPlotCurve* curve = new RimGridCrossPlotCurve();
if (m_useCustomColor)
{
curve->setColor(m_customColor());
}
else
{
const caf::ColorTable& colors = RiaColorTables::contrastCategoryPaletteColors();
int colorIndex = indexInPlot();
curve->setColor(colors.cycledColor3f(colorIndex)); curve->setColor(colors.cycledColor3f(colorIndex));
}
curve->setGroupingInformation(indexInPlot(), 0); curve->setGroupingInformation(indexInPlot(), 0);
curve->setSamples(result.xValues, result.yValues); curve->setSamples(result.xValues, result.yValues);
curve->updateCurveAppearance(); curve->updateCurveAppearance();
@ -916,6 +927,18 @@ void RimGridCrossPlotCurveSet::setFromCaseAndEquilibriumRegion(RimEclipseResultC
m_yAxisProperty->setEclipseCase(eclipseCase); m_yAxisProperty->setEclipseCase(eclipseCase);
m_yAxisProperty->setResultType(RiaDefines::STATIC_NATIVE); m_yAxisProperty->setResultType(RiaDefines::STATIC_NATIVE);
m_yAxisProperty->setResultVariable("DEPTH"); m_yAxisProperty->setResultVariable("DEPTH");
m_grouping = NO_GROUPING;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGridCrossPlotCurveSet::setCustomColor(const cvf::Color3f color)
{
m_useCustomColor = true;
m_customColor = color;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -30,6 +30,9 @@
#include "cafPdmObject.h" #include "cafPdmObject.h"
#include "cafPdmPtrField.h" #include "cafPdmPtrField.h"
// Include to make Pdm work for cvf::Color
#include "cafPdmFieldCvfColor.h"
#include <cvfArray.h> #include <cvfArray.h>
#include <QList> #include <QList>
@ -122,6 +125,7 @@ public:
bool isYAxisLogarithmic() const; bool isYAxisLogarithmic() const;
void setFromCaseAndEquilibriumRegion(RimEclipseResultCase* eclipseResultCase, const QString& dynamicResultName); void setFromCaseAndEquilibriumRegion(RimEclipseResultCase* eclipseResultCase, const QString& dynamicResultName);
void setCustomColor(const cvf::Color3f color);
protected: protected:
void initAfterRead() override; void initAfterRead() override;
@ -162,4 +166,6 @@ private:
std::map<int, RigEclipseCrossPlotResult> m_groupedResults; std::map<int, RigEclipseCrossPlotResult> m_groupedResults;
caf::PdmField<bool> m_useCustomColor;
caf::PdmField<cvf::Color3f> m_customColor;
}; };

View File

@ -38,17 +38,27 @@ RimSaturationPressurePlot::RimSaturationPressurePlot()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimSaturationPressurePlot::assignCaseAndEquilibriumRegion(RimEclipseResultCase* eclipseResultCase, int equilibriumRegion) void RimSaturationPressurePlot::assignCaseAndEquilibriumRegion(RimEclipseResultCase* eclipseResultCase, int equilibriumRegion)
{ {
nameConfig()->addDataSetNames = false;
QString caseName = eclipseResultCase->caseUserDescription();
QString plotTitle = QString("%1 - EQLNUM %2").arg(caseName).arg(equilibriumRegion);
nameConfig()->setCustomName(plotTitle);
{ {
RimGridCrossPlotCurveSet* curveSet = createCurveSet(); RimGridCrossPlotCurveSet* curveSet = createCurveSet();
curveSet->setFromCaseAndEquilibriumRegion(eclipseResultCase, "PRESSURE"); curveSet->setFromCaseAndEquilibriumRegion(eclipseResultCase, "PRESSURE");
curveSet->setCustomColor(cvf::Color3::BLUE);
} }
{ {
RimGridCrossPlotCurveSet* curveSet = createCurveSet(); RimGridCrossPlotCurveSet* curveSet = createCurveSet();
curveSet->setFromCaseAndEquilibriumRegion(eclipseResultCase, "PDEW"); curveSet->setFromCaseAndEquilibriumRegion(eclipseResultCase, "PDEW");
curveSet->setCustomColor(cvf::Color3::RED);
} }
{ {
RimGridCrossPlotCurveSet* curveSet = createCurveSet(); RimGridCrossPlotCurveSet* curveSet = createCurveSet();
curveSet->setFromCaseAndEquilibriumRegion(eclipseResultCase, "PBUB"); curveSet->setFromCaseAndEquilibriumRegion(eclipseResultCase, "PBUB");
curveSet->setCustomColor(cvf::Color3::GREEN);
} }
RimPlotAxisProperties* yAxisProps = yAxisProperties(); RimPlotAxisProperties* yAxisProps = yAxisProperties();