#4580 Import Eclipse RFT data as part of ensemble import

This commit is contained in:
Gaute Lindkvist
2019-07-25 07:38:46 +02:00
parent 222f230687
commit 71da659506
77 changed files with 2960 additions and 848 deletions

View File

@@ -217,7 +217,7 @@ void RiuQwtPlotCurve::drawSymbols(QPainter *painter, const QwtSymbol &symbol,
}
float sqSkipDist = m_symbolSkipPixelDistance * m_symbolSkipPixelDistance;
float sqSkipToLastDiff = m_symbolSkipPixelDistance / 10 * m_symbolSkipPixelDistance / 10;
for (int pIdx = 1; pIdx < pointCount - 1; ++pIdx)
{
QPointF diff = points[pIdx] - lastDrawnSymbolPos;
@@ -225,6 +225,13 @@ void RiuQwtPlotCurve::drawSymbols(QPainter *painter, const QwtSymbol &symbol,
if (sqDistBetweenSymbols > sqSkipDist)
{
if (pIdx == pointCount - 2)
{
QPointF diffToBack = points.back() - points[pIdx];
float sqDistToBack = diffToBack.x() * diffToBack.x() + diffToBack.y() * diffToBack.y();
if (sqDistToBack < sqSkipToLastDiff)
continue;
}
pointsToDisplay.push_back(points[pIdx]);
lastDrawnSymbolPos = points[pIdx];
}

View File

@@ -54,7 +54,7 @@ RiuQwtSymbol::RiuQwtSymbol(PointSymbolEnum riuStyle, const QString& label, Label
case SYMBOL_DOWN_TRIANGLE:
style = QwtSymbol::DTriangle;
break;
case SYMBOL_LEFT_TRIANGLE:
case SYMBOL_LEFT_ALIGNED_TRIANGLE:
style = QwtSymbol::Path;
{
QPainterPath path;
@@ -66,7 +66,7 @@ RiuQwtSymbol::RiuQwtSymbol(PointSymbolEnum riuStyle, const QString& label, Label
setPinPoint(QPointF(0, 0));
}
break;
case SYMBOL_RIGHT_TRIANGLE:
case SYMBOL_RIGHT_ALIGNED_TRIANGLE:
style = QwtSymbol::Path;
{
QPainterPath path;
@@ -114,6 +114,11 @@ RiuQwtSymbol::RiuQwtSymbol(PointSymbolEnum riuStyle, const QString& label, Label
case SYMBOL_HEXAGON:
style = QwtSymbol::Hexagon;
break;
case SYMBOL_LEFT_TRIANGLE:
style = QwtSymbol::LTriangle;
break;
case SYMBOL_RIGHT_TRIANGLE:
style = QwtSymbol::RTriangle;
default:
break;
}
@@ -132,7 +137,7 @@ void RiuQwtSymbol::renderSymbols(QPainter *painter, const QPointF *points, int n
for (int i = 0; i < numPoints; i++)
{
auto position = points[i];
renderSymbolLabel(painter, position);
//renderSymbolLabel(painter, position);
}
}
}
@@ -174,7 +179,6 @@ RiuQwtSymbol::PointSymbolEnum RiuQwtSymbol::cycledSymbolStyle(int indexLevel1, i
{SYMBOL_ELLIPSE, SYMBOL_RECT, SYMBOL_DIAMOND},
{SYMBOL_DOWN_TRIANGLE, SYMBOL_UP_TRIANGLE},
{SYMBOL_LEFT_TRIANGLE, SYMBOL_RIGHT_TRIANGLE},
{SYMBOL_LEFT_ANGLED_TRIANGLE, SYMBOL_RIGHT_ANGLED_TRIANGLE},
{SYMBOL_CROSS, SYMBOL_XCROSS},
{SYMBOL_STAR1, SYMBOL_STAR2},
};
@@ -208,7 +212,8 @@ QRect RiuQwtSymbol::labelBoundingRect(const QPainter* painter, const QRect& symb
QPoint symbolPosition = symbolRect.topLeft();
int symbolWidth = symbolRect.width();
int symbolWidth = symbolRect.width();
int symbolHeight = symbolRect.height();
int labelWidth = painter->fontMetrics().width(m_label);
int labelHeight = painter->fontMetrics().height();
@@ -218,6 +223,10 @@ QRect RiuQwtSymbol::labelBoundingRect(const QPainter* painter, const QRect& symb
{
labelPosition = QPoint(symbolPosition.x() - labelWidth / 2, symbolPosition.y() - 5);
}
else if (m_labelPosition == LabelBelowSymbol)
{
labelPosition = QPoint(symbolPosition.x() - labelWidth / 2, symbolPosition.y() + symbolHeight + 5);
}
else if (m_labelPosition == LabelLeftOfSymbol)
{
labelPosition = QPoint(symbolPosition.x() - labelWidth - symbolWidth, symbolPosition.y());

View File

@@ -34,6 +34,7 @@ public:
enum LabelPosition
{
LabelAboveSymbol,
LabelBelowSymbol,
LabelLeftOfSymbol,
LabelRightOfSymbol
};
@@ -47,14 +48,16 @@ public:
SYMBOL_DOWN_TRIANGLE,
SYMBOL_CROSS,
SYMBOL_XCROSS,
SYMBOL_LEFT_TRIANGLE,
SYMBOL_RIGHT_TRIANGLE,
SYMBOL_LEFT_ALIGNED_TRIANGLE, // Aligned so pin point is at lower right corner
SYMBOL_RIGHT_ALIGNED_TRIANGLE, // Aligned so pin point is at lower left corner
SYMBOL_LEFT_ANGLED_TRIANGLE,
SYMBOL_RIGHT_ANGLED_TRIANGLE,
SYMBOL_UP_TRIANGLE,
SYMBOL_STAR1,
SYMBOL_STAR2,
SYMBOL_HEXAGON
SYMBOL_HEXAGON,
SYMBOL_LEFT_TRIANGLE,
SYMBOL_RIGHT_TRIANGLE
};
RiuQwtSymbol(PointSymbolEnum riuStyle, const QString& label, LabelPosition labelPosition = LabelAboveSymbol);

View File

@@ -201,16 +201,16 @@ void RiuWellPathComponentPlotItem::onLoadDataAndUpdate(bool updateParentPlot)
double markerDepth = startDepth;
while (markerDepth < endDepth - 5)
{
addMarker(-casingTrackEnd, markerDepth, markerSize, RiuQwtSymbol::SYMBOL_LEFT_TRIANGLE, componentColor());
addMarker(casingTrackEnd, markerDepth, markerSize, RiuQwtSymbol::SYMBOL_RIGHT_TRIANGLE, componentColor());
addMarker(-casingTrackEnd, markerDepth, markerSize, RiuQwtSymbol::SYMBOL_LEFT_ALIGNED_TRIANGLE, componentColor());
addMarker(casingTrackEnd, markerDepth, markerSize, RiuQwtSymbol::SYMBOL_RIGHT_ALIGNED_TRIANGLE, componentColor());
markerDepth += markerSpacing;
}
addMarker(casingTrackEnd, midDepth, 10, RiuQwtSymbol::SYMBOL_RIGHT_TRIANGLE, componentColor(0.0), label());
addMarker(casingTrackEnd, midDepth, 10, RiuQwtSymbol::SYMBOL_RIGHT_ALIGNED_TRIANGLE, componentColor(0.0), label());
QwtPlotItem* legendItem1 = createMarker(16.0, 0.0, 6, RiuQwtSymbol::SYMBOL_RIGHT_TRIANGLE, componentColor());
QwtPlotItem* legendItem1 = createMarker(16.0, 0.0, 6, RiuQwtSymbol::SYMBOL_RIGHT_ALIGNED_TRIANGLE, componentColor());
legendItem1->setLegendIconSize(QSize(4, 8));
QwtPlotItem* legendItem2 = createMarker(16.0, 8.0, 6, RiuQwtSymbol::SYMBOL_RIGHT_TRIANGLE, componentColor());
QwtPlotItem* legendItem2 = createMarker(16.0, 8.0, 6, RiuQwtSymbol::SYMBOL_RIGHT_ALIGNED_TRIANGLE, componentColor());
legendItem2->setLegendIconSize(QSize(4, 8));
m_combinedComponentGroup.addLegendItem(legendItem1);
m_combinedComponentGroup.addLegendItem(legendItem2);