Heatmap: Draw lines between data points rather than big dots

By drawing oversize dots for each data point, dots were overlapping such that
the change in tissue presssure wasn't displayed at the right time - typically
out by 1-2 minutes, depending on dive duration.

Drawing a line between discrete points, the data points don't overlap and
change in tissue pressure is displayed at the right time.

Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Rick Walsh 2016-10-16 19:24:38 +11:00 committed by Dirk Hohndel
parent 713dd26d6c
commit a67d3f0e30

View file

@ -415,15 +415,15 @@ void DivePercentageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem
return;
painter->save();
QPen mypen;
mypen.setWidthF(vAxis->posAtValue(0) - vAxis->posAtValue(4));
mypen.setCosmetic(false);
mypen.setWidth(5);
QPolygonF poly = polygon();
for (int i = 0, modelDataCount = dataModel->rowCount(); i < modelDataCount; i++) {
for (int i = 1, modelDataCount = dataModel->rowCount(); i < modelDataCount; i++) {
if (i < poly.count()) {
double value = dataModel->index(i, vDataColumn).data().toDouble();
mypen.setBrush(QBrush(ColorScale(value)));
painter->setPen(mypen);
painter->drawPoint(poly[i]);
painter->drawLine(poly[i - 1], poly[i]);
}
}
painter->restore();