#4219 Contact Pressure plots : Add color to annotation lines

This commit is contained in:
Magne Sjaastad
2019-03-22 15:11:56 +01:00
parent 49c66d0a5f
commit 0dd5d40199
7 changed files with 65 additions and 16 deletions

View File

@@ -28,8 +28,8 @@
#include "cafSelectionManager.h"
#include "cafTitledOverlayFrame.h"
#include "RimPlotAxisProperties.h"
#include "RimPlotAxisAnnotation.h"
#include "RimPlotAxisProperties.h"
#include "RiuPlotAnnotationTool.h"
#include <QMenu>
@@ -130,18 +130,11 @@ void RiuGridCrossQwtPlot::updateLegendSizesToMatchPlot()
//--------------------------------------------------------------------------------------------------
void RiuGridCrossQwtPlot::updateAnnotationObjects(RimPlotAxisProperties* axisProperties)
{
std::vector<QString> names;
std::vector<double> positions;
m_annotationTool->detachAllAnnotations();
for (auto a : axisProperties->annotations())
for (auto annotation : axisProperties->annotations())
{
names.push_back(a->name());
positions.push_back(a->value());
}
if (!names.empty())
{
m_annotationTool->attachWellPicks(this, names, positions);
m_annotationTool->attachAnnotationLine(this, annotation->color(), annotation->name(), annotation->value());
}
}

View File

@@ -92,6 +92,22 @@ void RiuPlotAnnotationTool::attachWellPicks(QwtPlot* plot, const std::vector<QSt
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuPlotAnnotationTool::attachAnnotationLine(QwtPlot* plot,
const QColor& color,
const QString& annotationText,
const double yPosition)
{
m_plot = plot;
QwtPlotMarker* line(new QwtPlotMarker());
RiuPlotAnnotationTool::horizontalDashedLineWithColor(line, color, annotationText, yPosition);
line->attach(m_plot);
m_markers.push_back(std::move(line));
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -112,10 +128,18 @@ void RiuPlotAnnotationTool::detachAllAnnotations()
///
//--------------------------------------------------------------------------------------------------
void RiuPlotAnnotationTool::horizontalDashedLine(QwtPlotMarker* line, const QString& name, double yValue)
{
horizontalDashedLineWithColor(line, QColor(0, 0, 100), name, yValue);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuPlotAnnotationTool::horizontalDashedLineWithColor(QwtPlotMarker* line, const QColor& color, const QString& name, double yValue)
{
QPen curvePen;
curvePen.setStyle(Qt::DashLine);
curvePen.setColor(QColor(0, 0, 100));
curvePen.setColor(color);
curvePen.setWidth(1);
line->setLineStyle(QwtPlotMarker::HLine);

View File

@@ -36,10 +36,14 @@ public:
void attachFormationNames(QwtPlot* plot, const std::vector<QString>& names, const std::vector<std::pair<double, double>> yPositions, bool showNames = true);
void attachWellPicks(QwtPlot* plot, const std::vector<QString>& names, const std::vector<double> yPositions);
void attachAnnotationLine(QwtPlot* plot, const QColor& color, const QString& annotationText, const double yPosition);
void detachAllAnnotations();
private:
static void horizontalDashedLine(QwtPlotMarker* line, const QString& name, double yValue);
static void horizontalDashedLineWithColor(QwtPlotMarker* line, const QColor& color, const QString& name, double yValue);
private:
QPointer<QwtPlot> m_plot;