From e029d0ea1d486dd3dbbfa4519a2125da202f22e4 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 25 Nov 2013 12:19:18 +0200 Subject: Change qreals to floats + Fix default axes to sensible + Fix some rounding errors in surface creation Task-number: QTRD-2622 Change-Id: I44450efc1e77ac8d8dbefc75814345949b8fb1f1 Reviewed-by: Mika Salmela --- src/datavisualization/engine/surface3dcontroller.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'src/datavisualization/engine/surface3dcontroller.cpp') diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index b1271c50..54614576 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -289,21 +289,11 @@ void Surface3DController::setSelectedPoint(const QPoint &position, QSurface3DSer // If the selected point is outside data window, or there is no selected point, disable slicing // TODO: (QTRD-2351) This logic doesn't match the renderer logic for non straight surfaces, // but that logic needs to change anyway, so this is good for now. - float axisMinX = float(m_axisX->min()); - float axisMaxX = float(m_axisX->max()); - float axisMinZ = float(m_axisZ->min()); - float axisMaxZ = float(m_axisZ->max()); - - // Comparisons between float and double are not accurate, so fudge our comparison values - // a little to get all rows and columns into view that need to be visible. - // TODO: Probably unnecessary after QTRD-2622 done - const float fudgeFactor = 0.00001f; - float fudgedAxisXRange = (axisMaxX - axisMinX) * fudgeFactor; - float fudgedAxisZRange = (axisMaxZ - axisMinZ) * fudgeFactor; - axisMinX -= fudgedAxisXRange; - axisMinZ -= fudgedAxisZRange; - axisMaxX += fudgedAxisXRange; - axisMaxZ += fudgedAxisZRange; + float axisMinX = m_axisX->min(); + float axisMaxX = m_axisX->max(); + float axisMinZ = m_axisZ->min(); + float axisMaxZ = m_axisZ->max(); + QSurfaceDataItem item = proxy->array()->at(pos.x())->at(pos.y()); if (item.x() < axisMinX || item.x() > axisMaxX || item.z() < axisMinZ || item.z() > axisMaxZ) { -- cgit v1.2.3