mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1948 PLT plot. Support for setting doFillCurve flag
This commit is contained in:
parent
0c6fd31e07
commit
d591177872
@ -48,6 +48,8 @@ CAF_PDM_SOURCE_INIT(RimWellFlowRateCurve, "WellFlowRateCurve");
|
|||||||
RimWellFlowRateCurve::RimWellFlowRateCurve()
|
RimWellFlowRateCurve::RimWellFlowRateCurve()
|
||||||
{
|
{
|
||||||
CAF_PDM_InitObject("Flow Rate Curve", "", "", "");
|
CAF_PDM_InitObject("Flow Rate Curve", "", "", "");
|
||||||
|
m_groupId = 0;
|
||||||
|
m_doFillCurve = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -103,6 +105,22 @@ int RimWellFlowRateCurve::groupId() const
|
|||||||
return m_groupId;
|
return m_groupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimWellFlowRateCurve::setDoFillCurve(bool doFill)
|
||||||
|
{
|
||||||
|
m_doFillCurve = doFill;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool RimWellFlowRateCurve::doFillCurve() const
|
||||||
|
{
|
||||||
|
return m_doFillCurve;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -143,26 +161,29 @@ void RimWellFlowRateCurve::updateCurveAppearance()
|
|||||||
m_qwtPlotCurve->setStyle(QwtPlotCurve::Steps);
|
m_qwtPlotCurve->setStyle(QwtPlotCurve::Steps);
|
||||||
}
|
}
|
||||||
|
|
||||||
QColor curveQColor = QColor (m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte());
|
if (m_doFillCurve)
|
||||||
m_qwtPlotCurve->setBrush(QBrush( curveQColor));
|
{
|
||||||
|
QColor curveQColor = QColor (m_curveColor.value().rByte(), m_curveColor.value().gByte(), m_curveColor.value().bByte());
|
||||||
|
m_qwtPlotCurve->setBrush(QBrush( curveQColor));
|
||||||
|
|
||||||
QLinearGradient gradient;
|
QLinearGradient gradient;
|
||||||
gradient.setCoordinateMode(QGradient::StretchToDeviceMode);
|
gradient.setCoordinateMode(QGradient::StretchToDeviceMode);
|
||||||
gradient.setColorAt(0,curveQColor.darker(110));
|
gradient.setColorAt(0, curveQColor.darker(110));
|
||||||
gradient.setColorAt(0.15,curveQColor);
|
gradient.setColorAt(0.15, curveQColor);
|
||||||
gradient.setColorAt(0.25,curveQColor);
|
gradient.setColorAt(0.25, curveQColor);
|
||||||
gradient.setColorAt(0.4,curveQColor.darker(110));
|
gradient.setColorAt(0.4, curveQColor.darker(110));
|
||||||
gradient.setColorAt(0.6,curveQColor);
|
gradient.setColorAt(0.6, curveQColor);
|
||||||
gradient.setColorAt(0.8,curveQColor.darker(110));
|
gradient.setColorAt(0.8, curveQColor.darker(110));
|
||||||
gradient.setColorAt(1,curveQColor);
|
gradient.setColorAt(1, curveQColor);
|
||||||
m_qwtPlotCurve->setBrush(gradient);
|
m_qwtPlotCurve->setBrush(gradient);
|
||||||
|
|
||||||
QPen curvePen = m_qwtPlotCurve->pen();
|
QPen curvePen = m_qwtPlotCurve->pen();
|
||||||
curvePen.setColor(curveQColor.darker());
|
curvePen.setColor(curveQColor.darker());
|
||||||
m_qwtPlotCurve->setPen(curvePen);
|
m_qwtPlotCurve->setPen(curvePen);
|
||||||
m_qwtPlotCurve->setOrientation(Qt::Horizontal);
|
m_qwtPlotCurve->setOrientation(Qt::Horizontal);
|
||||||
m_qwtPlotCurve->setBaseline(0.0);
|
m_qwtPlotCurve->setBaseline(0.0);
|
||||||
m_qwtPlotCurve->setCurveAttribute(QwtPlotCurve::Inverted, true);
|
m_qwtPlotCurve->setCurveAttribute(QwtPlotCurve::Inverted, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -262,7 +283,7 @@ void RimWellFlowRateCurve::updateStackedPlotData()
|
|||||||
m_qwtPlotCurve->setSamples(stackedValues.data(), depthValues.data(), static_cast<int>(depthValues.size()));
|
m_qwtPlotCurve->setSamples(stackedValues.data(), depthValues.data(), static_cast<int>(depthValues.size()));
|
||||||
m_qwtPlotCurve->setLineSegmentStartStopIndices(polyLineStartStopIndices);
|
m_qwtPlotCurve->setLineSegmentStartStopIndices(polyLineStartStopIndices);
|
||||||
|
|
||||||
m_qwtPlotCurve->setZ(zPos);
|
m_qwtPlotCurve->setZ(doFillCurve() ? zPos : zPos + 10 /*?*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -47,6 +47,9 @@ public:
|
|||||||
void setGroupId(int groupId);
|
void setGroupId(int groupId);
|
||||||
int groupId() const;
|
int groupId() const;
|
||||||
|
|
||||||
|
void setDoFillCurve(bool doFill);
|
||||||
|
bool doFillCurve() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual QString createCurveAutoName() override;
|
virtual QString createCurveAutoName() override;
|
||||||
virtual void onLoadDataAndUpdate(bool updateParentPlot) override;
|
virtual void onLoadDataAndUpdate(bool updateParentPlot) override;
|
||||||
@ -61,5 +64,6 @@ private:
|
|||||||
QString m_tracerName;
|
QString m_tracerName;
|
||||||
|
|
||||||
int m_groupId;
|
int m_groupId;
|
||||||
|
bool m_doFillCurve;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -889,7 +889,8 @@ void RimWellPltPlot::updateCurvesInPlot(const std::set<std::pair<RifWellRftAddre
|
|||||||
const auto& channelName = channel->name();
|
const auto& channelName = channel->name();
|
||||||
if (selectedPhases.count(flowPhaseFromChannelName(channelName)) > 0)
|
if (selectedPhases.count(flowPhaseFromChannelName(channelName)) > 0)
|
||||||
{
|
{
|
||||||
addStackedCurve(channelName, rigWellLogFile->depthValues(), rigWellLogFile->values(channelName), plotTrack, curveGroupId);
|
addStackedCurve(channelName, rigWellLogFile->depthValues(), rigWellLogFile->values(channelName),
|
||||||
|
plotTrack, curveGroupId, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -906,7 +907,8 @@ void RimWellPltPlot::addStackedCurve(const QString& channelName,
|
|||||||
const std::vector<double>& depthValues,
|
const std::vector<double>& depthValues,
|
||||||
const std::vector<double>& accFlow,
|
const std::vector<double>& accFlow,
|
||||||
RimWellLogTrack* plotTrack,
|
RimWellLogTrack* plotTrack,
|
||||||
int curveGroupId)
|
int curveGroupId,
|
||||||
|
bool doFillCurve)
|
||||||
{
|
{
|
||||||
RimWellFlowRateCurve* curve = new RimWellFlowRateCurve;
|
RimWellFlowRateCurve* curve = new RimWellFlowRateCurve;
|
||||||
curve->setFlowValuesPrDepthValue(channelName, depthValues, accFlow);
|
curve->setFlowValuesPrDepthValue(channelName, depthValues, accFlow);
|
||||||
@ -917,6 +919,7 @@ void RimWellPltPlot::addStackedCurve(const QString& channelName,
|
|||||||
cvf::Color3f::DARK_GRAY;
|
cvf::Color3f::DARK_GRAY;
|
||||||
curve->setColor(color);
|
curve->setColor(color);
|
||||||
curve->setGroupId(curveGroupId);
|
curve->setGroupId(curveGroupId);
|
||||||
|
curve->setDoFillCurve(doFillCurve);
|
||||||
plotTrack->addCurve(curve);
|
plotTrack->addCurve(curve);
|
||||||
|
|
||||||
curve->loadDataAndUpdate(true);
|
curve->loadDataAndUpdate(true);
|
||||||
|
@ -154,7 +154,8 @@ private:
|
|||||||
const std::vector<double>& depthValues,
|
const std::vector<double>& depthValues,
|
||||||
const std::vector<double>& accFlow,
|
const std::vector<double>& accFlow,
|
||||||
RimWellLogTrack* plotTrack,
|
RimWellLogTrack* plotTrack,
|
||||||
int curveGroupId);
|
int curveGroupId,
|
||||||
|
bool doFillCurve);
|
||||||
|
|
||||||
bool isOnlyGridSourcesSelected() const;
|
bool isOnlyGridSourcesSelected() const;
|
||||||
bool isAnySourceAddressSelected(const std::set<RifWellRftAddress>& addresses) const;
|
bool isAnySourceAddressSelected(const std::set<RifWellRftAddress>& addresses) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user