mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-15 01:42:13 -05:00
Support horizontally stacked curves (#8553)
* #8548 Horizontal track : Improve stacked curves * Add horizontal track bar * Show relevant scroll bar for horizontal and vertical plots * Show max property value at top for horizontal plots
This commit is contained in:
1 parent
5c72d31cc9
commit
4ed5250d3b
5 files changed
+115
-35
No files matched your search
@@ -1508,7 +1508,6 @@ RiuPlotWidget* RimWellLogTrack::doCreatePlotViewWidget( QWidget* mainWindowParen
|
||||
if ( m_plotWidget == nullptr )
|
||||
{
|
||||
m_plotWidget = new RiuWellLogTrack( this, mainWindowParent );
|
||||
m_plotWidget->setAxisInverted( getDepthAxis(), true );
|
||||
updateAxisScaleEngine();
|
||||
|
||||
for ( size_t cIdx = 0; cIdx < m_curves.size(); ++cIdx )
|
||||
@@ -1975,6 +1974,20 @@ void RimWellLogTrack::updateAxisScaleEngine()
|
||||
{
|
||||
if ( !m_plotWidget ) return;
|
||||
|
||||
RimDepthTrackPlot* wellLogPlot = nullptr;
|
||||
this->firstAncestorOrThisOfType( wellLogPlot );
|
||||
if ( wellLogPlot )
|
||||
{
|
||||
if ( wellLogPlot->depthOrientation() == RimDepthTrackPlot::DepthOrientation::VERTICAL )
|
||||
{
|
||||
m_plotWidget->setAxisInverted( RiuPlotAxis::defaultLeft(), true );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_plotWidget->setAxisInverted( RiuPlotAxis::defaultLeft(), false );
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_isLogarithmicScaleEnabled )
|
||||
{
|
||||
m_plotWidget->qwtPlot()->setAxisScaleEngine( QwtPlot::xTop, new QwtLogScaleEngine );
|
||||
@@ -2488,6 +2501,14 @@ void RimWellLogTrack::updateStackedCurveData()
|
||||
|
||||
if ( allDepthValues.empty() ) continue;
|
||||
|
||||
bool isVerticalTrack = true;
|
||||
RimDepthTrackPlot* wellLogPlot;
|
||||
this->firstAncestorOrThisOfType( wellLogPlot );
|
||||
if ( wellLogPlot )
|
||||
{
|
||||
isVerticalTrack = ( wellLogPlot->depthOrientation() == RimDepthTrackPlot::DepthOrientation::VERTICAL );
|
||||
}
|
||||
|
||||
size_t stackIndex = 0u;
|
||||
std::vector<double> allStackedValues( allDepthValues.size(), 0.0 );
|
||||
for ( auto curve : stackedCurvesInGroup )
|
||||
@@ -2511,10 +2532,10 @@ void RimWellLogTrack::updateStackedCurveData()
|
||||
false,
|
||||
m_isLogarithmicScaleEnabled );
|
||||
|
||||
auto plotDepthValues = tempCurveData.depthValuesByIntervals( depthType, displayUnit );
|
||||
auto plotDepthValues = tempCurveData.depths( depthType );
|
||||
auto polyLineStartStopIndices = tempCurveData.polylineStartStopIndices();
|
||||
|
||||
curve->setOverrideCurveData( allStackedValues, plotDepthValues, polyLineStartStopIndices );
|
||||
curve->setOverrideCurveData( allStackedValues, plotDepthValues, polyLineStartStopIndices, isVerticalTrack );
|
||||
curve->setZOrder( zPos );
|
||||
|
||||
if ( !dynamic_cast<RimWellFlowRateCurve*>( curve ) )
|
||||
|
||||
Reference in new issue
Block a user