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/axis/q3dabstractaxis.cpp | 54 +++---- src/datavisualization/axis/q3dabstractaxis.h | 16 +- src/datavisualization/axis/q3dabstractaxis_p.h | 10 +- src/datavisualization/axis/q3dvalueaxis.cpp | 10 +- src/datavisualization/axis/q3dvalueaxis_p.h | 6 +- src/datavisualization/data/baritemmodelhandler.cpp | 2 +- src/datavisualization/data/barrenderitem_p.h | 8 +- src/datavisualization/data/qbardataitem.cpp | 8 +- src/datavisualization/data/qbardataitem.h | 8 +- src/datavisualization/data/qbardataproxy.cpp | 2 +- .../data/qheightmapsurfacedataproxy.cpp | 74 ++++++--- src/datavisualization/data/qscatterdataitem.cpp | 4 +- src/datavisualization/data/qscatterdataitem.h | 7 +- src/datavisualization/data/qsurfacedataproxy.cpp | 6 +- src/datavisualization/data/scatterrenderitem_p.h | 7 +- .../data/surfaceitemmodelhandler.cpp | 2 +- .../doc/snippets/doc_src_q3dbars_construction.cpp | 2 +- .../engine/abstract3dcontroller.cpp | 11 +- .../engine/abstract3dcontroller_p.h | 4 +- .../engine/abstract3drenderer.cpp | 6 +- .../engine/abstract3drenderer_p.h | 4 +- src/datavisualization/engine/axisrendercache.cpp | 12 +- src/datavisualization/engine/axisrendercache_p.h | 12 +- src/datavisualization/engine/bars3dcontroller.cpp | 10 +- src/datavisualization/engine/bars3drenderer.cpp | 34 ++--- src/datavisualization/engine/bars3drenderer_p.h | 2 +- src/datavisualization/engine/drawer.cpp | 6 +- src/datavisualization/engine/q3dbars.cpp | 4 +- src/datavisualization/engine/q3dbars.h | 8 +- src/datavisualization/engine/q3dcamera.cpp | 168 ++++++++++----------- src/datavisualization/engine/q3dcamera.h | 54 +++---- src/datavisualization/engine/q3dcamera_p.h | 16 +- src/datavisualization/engine/q3dscene.cpp | 6 +- src/datavisualization/engine/q3dscene.h | 12 +- src/datavisualization/engine/q3dscene_p.h | 2 +- src/datavisualization/engine/q3dsurface.cpp | 1 + src/datavisualization/engine/q3dwindow_p.h | 2 +- src/datavisualization/engine/scatter3drenderer.cpp | 13 +- src/datavisualization/engine/scatter3drenderer_p.h | 2 +- src/datavisualization/engine/selectionpointer.cpp | 4 +- .../engine/surface3dcontroller.cpp | 20 +-- src/datavisualization/engine/surface3drenderer.cpp | 43 ++---- src/datavisualization/engine/surface3drenderer_p.h | 2 +- src/datavisualization/input/q3dinputhandler.cpp | 4 +- .../input/qtouch3dinputhandler.cpp | 6 +- .../input/qtouch3dinputhandler_p.h | 2 +- src/datavisualization/utils/surfaceobject.cpp | 8 +- src/datavisualization/utils/texturehelper.cpp | 4 +- src/datavisualization/utils/utils.cpp | 4 +- src/datavisualization/utils/utils_p.h | 6 +- src/datavisualizationqml2/declarativebars.cpp | 4 +- src/datavisualizationqml2/declarativebars_p.h | 8 +- 52 files changed, 368 insertions(+), 362 deletions(-) (limited to 'src') diff --git a/src/datavisualization/axis/q3dabstractaxis.cpp b/src/datavisualization/axis/q3dabstractaxis.cpp index b0372adc..82d6e775 100644 --- a/src/datavisualization/axis/q3dabstractaxis.cpp +++ b/src/datavisualization/axis/q3dabstractaxis.cpp @@ -177,7 +177,7 @@ void Q3DAbstractAxis::setTitle(QString title) * When setting the range, the max is adjusted if necessary, to ensure that the range remains valid. * \note For Q3DCategoryAxis this specifies the index range of rows or columns to show. */ -void Q3DAbstractAxis::setRange(qreal min, qreal max) +void Q3DAbstractAxis::setRange(float min, float max) { d_ptr->setRange(min, max); setAutoAdjustRange(false); @@ -191,7 +191,7 @@ void Q3DAbstractAxis::setRange(qreal min, qreal max) * valid. * \note For Q3DCategoryAxis this specifies the index of the first row or column to show. */ -void Q3DAbstractAxis::setMin(qreal min) +void Q3DAbstractAxis::setMin(float min) { d_ptr->setMin(min); setAutoAdjustRange(false); @@ -205,18 +205,18 @@ void Q3DAbstractAxis::setMin(qreal min) * valid. * \note For Q3DCategoryAxis this specifies the index of the last row or column to show. */ -void Q3DAbstractAxis::setMax(qreal max) +void Q3DAbstractAxis::setMax(float max) { d_ptr->setMax(max); setAutoAdjustRange(false); } -qreal Q3DAbstractAxis::min() const +float Q3DAbstractAxis::min() const { return d_ptr->m_min; } -qreal Q3DAbstractAxis::max() const +float Q3DAbstractAxis::max() const { return d_ptr->m_max; } @@ -249,8 +249,8 @@ Q3DAbstractAxisPrivate::Q3DAbstractAxisPrivate(Q3DAbstractAxis *q, Q3DAbstractAx m_orientation(Q3DAbstractAxis::AxisOrientationNone), m_type(type), m_isDefaultAxis(false), - m_min(0.0), - m_max(10.0), + m_min(0.0f), + m_max(10.0f), m_autoAdjust(true), m_onlyPositiveValues(false), m_allowMinMaxSame(false) @@ -274,21 +274,21 @@ void Q3DAbstractAxisPrivate::updateLabels() // Default implementation does nothing } -void Q3DAbstractAxisPrivate::setRange(qreal min, qreal max) +void Q3DAbstractAxisPrivate::setRange(float min, float max) { bool adjusted = false; if (m_onlyPositiveValues) { - if (min < 0.0) { - min = 0.0; + if (min < 0.0f) { + min = 0.0f; adjusted = true; } - if (max < 0.0) { - max = 0.0; + if (max < 0.0f) { + max = 0.0f; adjusted = true; } } // If min >= max, we adjust ranges so that - // m_max becomes (min + 1.0) + // m_max becomes (min + 1.0f) // as axes need some kind of valid range. bool dirty = false; if (m_min != min) { @@ -297,7 +297,7 @@ void Q3DAbstractAxisPrivate::setRange(qreal min, qreal max) } if (m_max != max || min > max || (!m_allowMinMaxSame && min == max)) { if (min > max || (!m_allowMinMaxSame && min == max)) { - m_max = min + 1.0; + m_max = min + 1.0f; adjusted = true; } else { m_max = max; @@ -315,11 +315,11 @@ void Q3DAbstractAxisPrivate::setRange(qreal min, qreal max) } } -void Q3DAbstractAxisPrivate::setMin(qreal min) +void Q3DAbstractAxisPrivate::setMin(float min) { if (m_onlyPositiveValues) { - if (min < 0.0) { - min = 0.0; + if (min < 0.0f) { + min = 0.0f; qWarning() << "Warning: Tried to set negative minimum for an axis that only supports" " positive values:" << min; } @@ -327,8 +327,8 @@ void Q3DAbstractAxisPrivate::setMin(qreal min) if (m_min != min) { if (min > m_max || (!m_allowMinMaxSame && min == m_max)) { - qreal oldMax = m_max; - m_max = min + 1.0; + float oldMax = m_max; + m_max = min + 1.0f; qWarning() << "Warning: Tried to set minimum to equal or larger than maximum for" " value axis. Maximum automatically adjusted to a valid one:" << oldMax << "-->" << m_max; @@ -339,11 +339,11 @@ void Q3DAbstractAxisPrivate::setMin(qreal min) } } -void Q3DAbstractAxisPrivate::setMax(qreal max) +void Q3DAbstractAxisPrivate::setMax(float max) { if (m_onlyPositiveValues) { - if (max < 0.0) { - max = 0.0; + if (max < 0.0f) { + max = 0.0f; qWarning() << "Warning: Tried to set negative maximum for an axis that only supports" " positive values:" << max; } @@ -351,11 +351,11 @@ void Q3DAbstractAxisPrivate::setMax(qreal max) if (m_max != max) { if (m_min > max || (!m_allowMinMaxSame && m_min == max)) { - qreal oldMin = m_min; - m_min = max - 1.0; - if (m_onlyPositiveValues && m_min < 0.0) { - m_min = 0.0; - if (!m_allowMinMaxSame && max == 0.0) { + float oldMin = m_min; + m_min = max - 1.0f; + if (m_onlyPositiveValues && m_min < 0.0f) { + m_min = 0.0f; + if (!m_allowMinMaxSame && max == 0.0f) { m_min = oldMin; qWarning() << "Unable to set maximum value to zero."; return; diff --git a/src/datavisualization/axis/q3dabstractaxis.h b/src/datavisualization/axis/q3dabstractaxis.h index 9e5c426a..c154c3ea 100644 --- a/src/datavisualization/axis/q3dabstractaxis.h +++ b/src/datavisualization/axis/q3dabstractaxis.h @@ -38,8 +38,8 @@ class QT_DATAVISUALIZATION_EXPORT Q3DAbstractAxis : public QObject Q_PROPERTY(QStringList labels READ labels NOTIFY labelsChanged) Q_PROPERTY(AxisOrientation orientation READ orientation) Q_PROPERTY(AxisType type READ type) - Q_PROPERTY(qreal min READ min WRITE setMin NOTIFY rangeChanged) - Q_PROPERTY(qreal max READ max WRITE setMax NOTIFY rangeChanged) + Q_PROPERTY(float min READ min WRITE setMin NOTIFY rangeChanged) + Q_PROPERTY(float max READ max WRITE setMax NOTIFY rangeChanged) Q_PROPERTY(bool autoAdjustRange READ isAutoAdjustRange WRITE setAutoAdjustRange NOTIFY autoAdjustRangeChanged) public: @@ -69,20 +69,20 @@ public: AxisOrientation orientation() const; AxisType type() const; - qreal min() const; - qreal max() const; + float min() const; + float max() const; bool isAutoAdjustRange() const; void setTitle(QString title); - void setRange(qreal min, qreal max); - void setMin(qreal min); - void setMax(qreal max); + void setRange(float min, float max); + void setMin(float min); + void setMax(float max); void setAutoAdjustRange(bool autoAdjust); signals: void titleChanged(QString newTitle); void labelsChanged(); - void rangeChanged(qreal min, qreal max); + void rangeChanged(float min, float max); void autoAdjustRangeChanged(bool autoAdjust); protected: diff --git a/src/datavisualization/axis/q3dabstractaxis_p.h b/src/datavisualization/axis/q3dabstractaxis_p.h index 902f65be..3293e41e 100644 --- a/src/datavisualization/axis/q3dabstractaxis_p.h +++ b/src/datavisualization/axis/q3dabstractaxis_p.h @@ -47,9 +47,9 @@ public: inline bool isDefaultAxis() { return m_isDefaultAxis; } inline void setDefaultAxis(bool isDefault) { m_isDefaultAxis = isDefault; } - virtual void setRange(qreal min, qreal max); - virtual void setMin(qreal min); - virtual void setMax (qreal max); + virtual void setRange(float min, float max); + virtual void setMin(float min); + virtual void setMax (float max); protected: virtual void updateLabels(); @@ -61,8 +61,8 @@ protected: Q3DAbstractAxis::AxisOrientation m_orientation; Q3DAbstractAxis::AxisType m_type; bool m_isDefaultAxis; - qreal m_min; - qreal m_max; + float m_min; + float m_max; bool m_autoAdjust; bool m_onlyPositiveValues; bool m_allowMinMaxSame; diff --git a/src/datavisualization/axis/q3dvalueaxis.cpp b/src/datavisualization/axis/q3dvalueaxis.cpp index 9865625c..746c8617 100644 --- a/src/datavisualization/axis/q3dvalueaxis.cpp +++ b/src/datavisualization/axis/q3dvalueaxis.cpp @@ -197,7 +197,7 @@ Q3DValueAxisPrivate::~Q3DValueAxisPrivate() { } -void Q3DValueAxisPrivate::setRange(qreal min, qreal max) +void Q3DValueAxisPrivate::setRange(float min, float max) { bool dirty = (min != m_min || max != m_max); @@ -207,7 +207,7 @@ void Q3DValueAxisPrivate::setRange(qreal min, qreal max) emitLabelsChanged(); } -void Q3DValueAxisPrivate::setMin(qreal min) +void Q3DValueAxisPrivate::setMin(float min) { bool dirty = (min != m_min); @@ -217,7 +217,7 @@ void Q3DValueAxisPrivate::setMin(qreal min) emitLabelsChanged(); } -void Q3DValueAxisPrivate::setMax(qreal max) +void Q3DValueAxisPrivate::setMax(float max) { bool dirty = (max != m_max); @@ -244,14 +244,14 @@ void Q3DValueAxisPrivate::updateLabels() newLabels.reserve(m_segmentCount + 1); // First label is at axis min, which is an extra segment - qreal segmentStep = (m_max - m_min) / m_segmentCount; + float segmentStep = (m_max - m_min) / m_segmentCount; QString formatString(m_labelFormat); Utils::ParamType paramType = Utils::findFormatParamType(formatString); QByteArray formatArray = formatString.toUtf8(); for (int i = 0; i < m_segmentCount; i++) { - qreal value = m_min + (segmentStep * i); + float value = m_min + (segmentStep * i); newLabels.append(Utils::formatLabel(formatArray, paramType, value)); } diff --git a/src/datavisualization/axis/q3dvalueaxis_p.h b/src/datavisualization/axis/q3dvalueaxis_p.h index 5d0084e6..0a98bb04 100644 --- a/src/datavisualization/axis/q3dvalueaxis_p.h +++ b/src/datavisualization/axis/q3dvalueaxis_p.h @@ -42,9 +42,9 @@ public: Q3DValueAxisPrivate(Q3DValueAxis *q); virtual ~Q3DValueAxisPrivate(); - virtual void setRange(qreal min, qreal max); - virtual void setMin(qreal min); - virtual void setMax (qreal max); + virtual void setRange(float min, float max); + virtual void setMin(float min); + virtual void setMax (float max); protected: void emitLabelsChanged(); diff --git a/src/datavisualization/data/baritemmodelhandler.cpp b/src/datavisualization/data/baritemmodelhandler.cpp index f7611668..cbe19c43 100644 --- a/src/datavisualization/data/baritemmodelhandler.cpp +++ b/src/datavisualization/data/baritemmodelhandler.cpp @@ -92,7 +92,7 @@ void BarItemModelHandler::resolveModel() QHash columnListHash; // Sort values into rows and columns - typedef QHash ColumnValueMap; + typedef QHash ColumnValueMap; QHash itemValueMap; for (int i = 0; i < rowCount; i++) { for (int j = 0; j < columnCount; j++) { diff --git a/src/datavisualization/data/barrenderitem_p.h b/src/datavisualization/data/barrenderitem_p.h index 6cd2b0fa..a837ff2c 100644 --- a/src/datavisualization/data/barrenderitem_p.h +++ b/src/datavisualization/data/barrenderitem_p.h @@ -47,8 +47,8 @@ public: inline const QPoint &position() const { return m_position; } // Actual cached data value of the bar (needed to trigger label reformats) - inline void setValue(qreal value); - inline qreal value() const { return m_value; } + inline void setValue(float value); + inline float value() const { return m_value; } // Normalized bar height inline void setHeight(GLfloat height) { m_height = height; } @@ -62,7 +62,7 @@ public: QString &sliceLabel(); // Formats label if not previously formatted protected: - qreal m_value; + float m_value; QPoint m_position; // x = row, y = column GLfloat m_height; QString m_sliceLabel; @@ -71,7 +71,7 @@ protected: friend class QBarDataItem; }; -void BarRenderItem::setValue(qreal value) +void BarRenderItem::setValue(float value) { m_value = value; // Force reformatting on next access by setting label string to null string diff --git a/src/datavisualization/data/qbardataitem.cpp b/src/datavisualization/data/qbardataitem.cpp index a474d785..e564bd5d 100644 --- a/src/datavisualization/data/qbardataitem.cpp +++ b/src/datavisualization/data/qbardataitem.cpp @@ -37,14 +37,14 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE */ QBarDataItem::QBarDataItem() : d_ptr(0), // private data doesn't exist by default (optimization) - m_value(0.0) + m_value(0.0f) { } /*! * Constructs QBarDataItem with \a value. */ -QBarDataItem::QBarDataItem(qreal value) +QBarDataItem::QBarDataItem(float value) : d_ptr(0), m_value(value) { @@ -81,12 +81,12 @@ QBarDataItem &QBarDataItem::operator=(const QBarDataItem &other) } /*! - * \fn void QBarDataItem::setValue(qreal value) + * \fn void QBarDataItem::setValue(float value) * Sets \a value to this data item. */ /*! - * \fn qreal QBarDataItem::value() const + * \fn float QBarDataItem::value() const * \return value of this data item. */ diff --git a/src/datavisualization/data/qbardataitem.h b/src/datavisualization/data/qbardataitem.h index 68bbcedf..f596b16b 100644 --- a/src/datavisualization/data/qbardataitem.h +++ b/src/datavisualization/data/qbardataitem.h @@ -29,14 +29,14 @@ class QT_DATAVISUALIZATION_EXPORT QBarDataItem { public: QBarDataItem(); - QBarDataItem(qreal value); + QBarDataItem(float value); QBarDataItem(const QBarDataItem &other); ~QBarDataItem(); QBarDataItem &operator=(const QBarDataItem &other); - void setValue(qreal value) { m_value = value; } - qreal value() const { return m_value; } + void setValue(float value) { m_value = value; } + float value() const { return m_value; } // TODO Set color, label format, ...? @@ -46,7 +46,7 @@ protected: QBarDataItemPrivate *d_ptr; private: - qreal m_value; + float m_value; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/data/qbardataproxy.cpp b/src/datavisualization/data/qbardataproxy.cpp index d22c34b5..88c08556 100644 --- a/src/datavisualization/data/qbardataproxy.cpp +++ b/src/datavisualization/data/qbardataproxy.cpp @@ -683,7 +683,7 @@ QPair QBarDataProxyPrivate::limitValues(int startRow, int endR endColumn = qMin(endColumn, row->size() - 1); for (int j = startColumn; j <= endColumn; j++) { const QBarDataItem &item = m_dataArray->at(i)->at(j); - qreal itemValue = item.value(); + float itemValue = item.value(); if (limits.second < itemValue) limits.second = itemValue; if (limits.first > itemValue) diff --git a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp index 251ae70a..88ed2f5d 100644 --- a/src/datavisualization/data/qheightmapsurfacedataproxy.cpp +++ b/src/datavisualization/data/qheightmapsurfacedataproxy.cpp @@ -90,7 +90,7 @@ const float defaultMaxValue = 10.0f; */ /*! - * \qmlproperty qreal HeightMapSurfaceDataProxy::minXValue + * \qmlproperty real HeightMapSurfaceDataProxy::minXValue * * The minimum X value for the generated surface points. * When setting this property the corresponding maximum value is adjusted if necessary, @@ -98,7 +98,7 @@ const float defaultMaxValue = 10.0f; */ /*! - * \qmlproperty qreal HeightMapSurfaceDataProxy::maxXValue + * \qmlproperty real HeightMapSurfaceDataProxy::maxXValue * * The maximum X value for the generated surface points. * When setting this property the corresponding minimum value is adjusted if necessary, @@ -106,7 +106,7 @@ const float defaultMaxValue = 10.0f; */ /*! - * \qmlproperty qreal HeightMapSurfaceDataProxy::minZValue + * \qmlproperty real HeightMapSurfaceDataProxy::minZValue * * The minimum Z value for the generated surface points. * When setting this property the corresponding maximum value is adjusted if necessary, @@ -114,7 +114,7 @@ const float defaultMaxValue = 10.0f; */ /*! - * \qmlproperty qreal HeightMapSurfaceDataProxy::maxZValue + * \qmlproperty real HeightMapSurfaceDataProxy::maxZValue * * The maximum Z value for the generated surface points. * When setting this property the corresponding minimum value is adjusted if necessary, @@ -338,7 +338,7 @@ void QHeightMapSurfaceDataProxyPrivate::setValueRanges(float minX, float maxX, f } if (m_maxXValue != maxX || minX >= maxX) { if (minX >= maxX) { - m_maxXValue = minX + 1.0; + m_maxXValue = minX + 1.0f; qWarning() << "Warning: Tried to set invalid range for X value range." " Range automatically adjusted to a valid one:" << minX << "-" << maxX << "-->" << m_minXValue << "-" << m_maxXValue; @@ -349,7 +349,7 @@ void QHeightMapSurfaceDataProxyPrivate::setValueRanges(float minX, float maxX, f } if (m_maxZValue != maxZ || minZ >= maxZ) { if (minZ >= maxZ) { - m_maxZValue = minZ + 1.0; + m_maxZValue = minZ + 1.0f; qWarning() << "Warning: Tried to set invalid range for Z value range." " Range automatically adjusted to a valid one:" << minZ << "-" << maxZ << "-->" << m_minZValue << "-" << m_maxZValue; @@ -367,8 +367,8 @@ void QHeightMapSurfaceDataProxyPrivate::setMinXValue(float min) { if (min != m_minXValue) { if (min >= m_maxXValue) { - qreal oldMax = m_maxXValue; - m_maxXValue = min + 1.0; + float oldMax = m_maxXValue; + m_maxXValue = min + 1.0f; qWarning() << "Warning: Tried to set minimum X to equal or larger than maximum X for" " value range. Maximum automatically adjusted to a valid one:" << oldMax << "-->" << m_maxXValue; @@ -384,8 +384,8 @@ void QHeightMapSurfaceDataProxyPrivate::setMaxXValue(float max) { if (m_maxXValue != max) { if (max <= m_minXValue) { - qreal oldMin = m_minXValue; - m_minXValue = max - 1.0; + float oldMin = m_minXValue; + m_minXValue = max - 1.0f; qWarning() << "Warning: Tried to set maximum X to equal or smaller than minimum X for" " value range. Minimum automatically adjusted to a valid one:" << oldMin << "-->" << m_minXValue; @@ -401,8 +401,8 @@ void QHeightMapSurfaceDataProxyPrivate::setMinZValue(float min) { if (min != m_minZValue) { if (min >= m_maxZValue) { - qreal oldMax = m_maxZValue; - m_maxZValue = min + 1.0; + float oldMax = m_maxZValue; + m_maxZValue = min + 1.0f; qWarning() << "Warning: Tried to set minimum Z to equal or larger than maximum Z for" " value range. Maximum automatically adjusted to a valid one:" << oldMax << "-->" << m_maxZValue; @@ -418,8 +418,8 @@ void QHeightMapSurfaceDataProxyPrivate::setMaxZValue(float max) { if (m_maxZValue != max) { if (max <= m_minZValue) { - qreal oldMin = m_minZValue; - m_minZValue = max - 1.0; + float oldMin = m_minZValue; + m_minZValue = max - 1.0f; qWarning() << "Warning: Tried to set maximum Z to equal or smaller than minimum Z for" " value range. Minimum automatically adjusted to a valid one:" << oldMin << "-->" << m_minZValue; @@ -460,26 +460,58 @@ void QHeightMapSurfaceDataProxyPrivate::handlePendingResolve() float xMul = (m_maxXValue - m_minXValue) / float(imageWidth - 1); float zMul = (m_maxZValue - m_minZValue) / float(imageHeight - 1); + // Last row and column are explicitly set to max values, as relying + // on multiplier can cause rounding errors, resulting in the value being + // slightly over the specified maximum, which in turn can lead to it not + // getting rendered. + int lastRow = imageHeight - 1; + int lastCol = imageWidth - 1; + if (heightImage.isGrayscale()) { // Grayscale, it's enough to read Red byte for (int i = 0; i < imageHeight; i++, bitCount -= widthBits) { QSurfaceDataRow &newRow = *dataArray->at(i); - for (int j = 0; j < imageWidth; j++) - newRow[j].setPosition(QVector3D((float(j) * xMul) + m_minXValue, float(bits[bitCount + (j * 4)]), - (float(i) * zMul) + m_minZValue)); + float zVal; + if (i == lastRow) + zVal = m_maxZValue; + else + zVal = (float(i) * zMul) + m_minZValue; + int j = 0; + for (; j < lastCol; j++) + newRow[j].setPosition(QVector3D((float(j) * xMul) + m_minXValue, + float(bits[bitCount + (j * 4)]), + zVal)); + newRow[j].setPosition(QVector3D(m_maxXValue, + float(bits[bitCount + (j * 4)]), + zVal)); } } else { // Not grayscale, we'll need to calculate height from RGB for (int i = 0; i < imageHeight; i++, bitCount -= widthBits) { QSurfaceDataRow &newRow = *dataArray->at(i); - for (int j = 0; j < imageWidth; j++) { - int nextpixel = j * 4; + float zVal; + if (i == lastRow) + zVal = m_maxZValue; + else + zVal = (float(i) * zMul) + m_minZValue; + int j = 0; + int nextpixel = 0; + for (; j < lastCol; j++) { + nextpixel = j * 4; height = (float(bits[bitCount + nextpixel]) + float(bits[1 + bitCount + nextpixel]) + float(bits[2 + bitCount + nextpixel])); - newRow[j].setPosition(QVector3D((float(j) * xMul) + m_minXValue, height / 3.0f, - (float(i) * zMul) + m_minZValue)); + newRow[j].setPosition(QVector3D((float(j) * xMul) + m_minXValue, + height / 3.0f, + zVal)); } + nextpixel = j * 4; + height = (float(bits[bitCount + nextpixel]) + + float(bits[1 + bitCount + nextpixel]) + + float(bits[2 + bitCount + nextpixel])); + newRow[j].setPosition(QVector3D(m_maxXValue, + height / 3.0f, + zVal)); } } diff --git a/src/datavisualization/data/qscatterdataitem.cpp b/src/datavisualization/data/qscatterdataitem.cpp index 5c6f1f66..480bc13b 100644 --- a/src/datavisualization/data/qscatterdataitem.cpp +++ b/src/datavisualization/data/qscatterdataitem.cpp @@ -123,12 +123,12 @@ QScatterDataItem &QScatterDataItem::operator=(const QScatterDataItem &other) * \return the Z component of the position of this data item. */ -//void QScatterDataItem::setSize(qreal size) +//void QScatterDataItem::setSize(float size) //{ // m_size = size; //} -//const qreal &QScatterDataItem::size() const +//const float &QScatterDataItem::size() const //{ // return m_size; //} diff --git a/src/datavisualization/data/qscatterdataitem.h b/src/datavisualization/data/qscatterdataitem.h index 29154259..ab6007db 100644 --- a/src/datavisualization/data/qscatterdataitem.h +++ b/src/datavisualization/data/qscatterdataitem.h @@ -45,8 +45,9 @@ public: inline float y() const { return m_position.y(); } inline float z() const { return m_position.z(); } - //void setSize(qreal size); - //qreal size() const; + // TODO: Will we ever support item specific size? If not, remove. + //void setSize(float size); + //float size() const; protected: virtual void createExtraData(); @@ -55,7 +56,7 @@ protected: private: QVector3D m_position; - //qreal m_size; + //float m_size; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/data/qsurfacedataproxy.cpp b/src/datavisualization/data/qsurfacedataproxy.cpp index 8db082c7..b55fea97 100644 --- a/src/datavisualization/data/qsurfacedataproxy.cpp +++ b/src/datavisualization/data/qsurfacedataproxy.cpp @@ -226,8 +226,8 @@ QSurfaceDataProxy *QSurfaceDataProxyPrivate::qptr() void QSurfaceDataProxyPrivate::limitValues(QVector3D &minValues, QVector3D &maxValues) const { - qreal min = 0.0; - qreal max = 0.0; + float min = 0.0f; + float max = 0.0f; int rows = m_dataArray->size(); int columns = 0; @@ -243,7 +243,7 @@ void QSurfaceDataProxyPrivate::limitValues(QVector3D &minValues, QVector3D &maxV QSurfaceDataRow *row = m_dataArray->at(i); if (row) { for (int j = 0; j < columns; j++) { - qreal itemValue = m_dataArray->at(i)->at(j).y(); + float itemValue = m_dataArray->at(i)->at(j).y(); if (min > itemValue) min = itemValue; if (max < itemValue) diff --git a/src/datavisualization/data/scatterrenderitem_p.h b/src/datavisualization/data/scatterrenderitem_p.h index 58e91e96..5a97c1e9 100644 --- a/src/datavisualization/data/scatterrenderitem_p.h +++ b/src/datavisualization/data/scatterrenderitem_p.h @@ -48,13 +48,14 @@ public: inline bool isVisible() const { return m_visible; } inline void setVisible(bool visible) { m_visible = visible; } - //inline void setSize(qreal size); - //inline qreal size() const { return m_size; } + // TODO: Will we ever support item specific size? If not, remove. + //inline void setSize(float size); + //inline float size() const { return m_size; } protected: QVector3D m_position; bool m_visible; - //qreal m_size; // TODO in case we need a fourth variable that adjusts scatter item size + //float m_size; // TODO in case we need a fourth variable that adjusts scatter item size friend class QScatterDataItem; }; diff --git a/src/datavisualization/data/surfaceitemmodelhandler.cpp b/src/datavisualization/data/surfaceitemmodelhandler.cpp index 70482162..e602dedc 100644 --- a/src/datavisualization/data/surfaceitemmodelhandler.cpp +++ b/src/datavisualization/data/surfaceitemmodelhandler.cpp @@ -89,7 +89,7 @@ void SurfaceItemModelHandler::resolveModel() QHash columnListHash; // Sort values into rows and columns - typedef QHash ColumnValueMap; + typedef QHash ColumnValueMap; QHash itemValueMap; for (int i = 0; i < rowCount; i++) { for (int j = 0; j < columnCount; j++) { diff --git a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp index 6d855ecb..d0cd0346 100644 --- a/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp +++ b/src/datavisualization/doc/snippets/doc_src_q3dbars_construction.cpp @@ -35,7 +35,7 @@ int main(int argc, char **argv) //! [1] QBar3DSeries *series = new QBar3DSeries; QBarDataRow *data = new QBarDataRow; - *data << 1.0 << 3.0 << 7.5 << 5.0 << 2.2; + *data << 1.0f << 3.0f << 7.5f << 5.0f << 2.2f; series->dataProxy()->addRow(data); bars.addSeries(series); //! [1] diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index e185d322..b84bb2f7 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -528,7 +528,7 @@ void Abstract3DController::setSecondarySubViewport(const QRect &secondarySubView m_scene->setSecondarySubViewport(secondarySubViewport); } -void Abstract3DController::updateDevicePixelRatio(qreal ratio) +void Abstract3DController::updateDevicePixelRatio(float ratio) { m_scene->setDevicePixelRatio(ratio); } @@ -974,7 +974,7 @@ void Abstract3DController::handleAxisLabelsChangedBySender(QObject *sender) emitNeedRender(); } -void Abstract3DController::handleAxisRangeChanged(qreal min, qreal max) +void Abstract3DController::handleAxisRangeChanged(float min, float max) { Q_UNUSED(min) Q_UNUSED(max) @@ -1190,12 +1190,7 @@ Q3DAbstractAxis *Abstract3DController::createDefaultAxis(Q3DAbstractAxis::AxisOr Q3DValueAxis *Abstract3DController::createDefaultValueAxis() { // Default value axis has single segment, empty label format, and auto scaling - // TODO: Grid should be also hidden, but that is not currently controlled by axis Q3DValueAxis *defaultAxis = new Q3DValueAxis; - defaultAxis->setSegmentCount(1); - defaultAxis->setSubSegmentCount(1); - defaultAxis->setAutoAdjustRange(true); - defaultAxis->setLabelFormat(QString()); defaultAxis->d_ptr->setDefaultAxis(true); return defaultAxis; @@ -1204,9 +1199,7 @@ Q3DValueAxis *Abstract3DController::createDefaultValueAxis() Q3DCategoryAxis *Abstract3DController::createDefaultCategoryAxis() { // Default category axis has no labels - // TODO: Grid should be also hidden, but that is not currently controlled by axis. Q3DCategoryAxis *defaultAxis = new Q3DCategoryAxis; - defaultAxis->setAutoAdjustRange(true); defaultAxis->d_ptr->setDefaultAxis(true); return defaultAxis; } diff --git a/src/datavisualization/engine/abstract3dcontroller_p.h b/src/datavisualization/engine/abstract3dcontroller_p.h index 30c13e7d..52a6728c 100644 --- a/src/datavisualization/engine/abstract3dcontroller_p.h +++ b/src/datavisualization/engine/abstract3dcontroller_p.h @@ -248,7 +248,7 @@ public: virtual void setActiveInputHandler(QAbstract3DInputHandler *inputHandler); virtual QAbstract3DInputHandler *activeInputHandler(); - virtual void updateDevicePixelRatio(qreal ratio); + virtual void updateDevicePixelRatio(float ratio); virtual int zoomLevel(); virtual void setZoomLevel(int zoomLevel); @@ -330,7 +330,7 @@ public: public slots: void handleAxisTitleChanged(const QString &title); void handleAxisLabelsChanged(); - void handleAxisRangeChanged(qreal min, qreal max); + void handleAxisRangeChanged(float min, float max); void handleAxisSegmentCountChanged(int count); void handleAxisSubSegmentCountChanged(int count); void handleAxisAutoAdjustRangeChanged(bool autoAdjust); diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index f9295865..ed62dbe4 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -110,7 +110,7 @@ void Abstract3DRenderer::render(const GLuint defaultFboHandle) // Measure speed (as milliseconds per frame) m_numFrames++; if (m_lastFrameTime.elapsed() >= 1000) { // print only if last measurement was more than 1s ago - qDebug() << qreal(m_lastFrameTime.elapsed()) / qreal(m_numFrames) << "ms/frame (=" << qreal(m_numFrames) << "fps)"; + qDebug() << float(m_lastFrameTime.elapsed()) / float(m_numFrames) << "ms/frame (=" << float(m_numFrames) << "fps)"; m_numFrames = 0; m_lastFrameTime.restart(); } @@ -135,7 +135,7 @@ void Abstract3DRenderer::render(const GLuint defaultFboHandle) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); } -QString Abstract3DRenderer::generateValueLabel(const QString &format, qreal value) +QString Abstract3DRenderer::generateValueLabel(const QString &format, float value) { QString valueLabelFormat = format; Utils::ParamType valueParamType = Utils::findFormatParamType(valueLabelFormat); @@ -324,7 +324,7 @@ void Abstract3DRenderer::updateAxisLabels(Q3DAbstractAxis::AxisOrientation orien axisCacheForOrientation(orientation).setLabels(labels); } -void Abstract3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, qreal min, qreal max) +void Abstract3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max) { AxisRenderCache &cache = axisCacheForOrientation(orientation); cache.setMin(min); diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 37ac69f3..300d75ca 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -102,7 +102,7 @@ protected: GLint m_numFrames; #endif - QString generateValueLabel(const QString &format, qreal value); + QString generateValueLabel(const QString &format, float value); public: virtual ~Abstract3DRenderer(); @@ -137,7 +137,7 @@ public: virtual void updateAxisType(Q3DAbstractAxis::AxisOrientation orientation, Q3DAbstractAxis::AxisType type); virtual void updateAxisTitle(Q3DAbstractAxis::AxisOrientation orientation, const QString &title); virtual void updateAxisLabels(Q3DAbstractAxis::AxisOrientation orientation, const QStringList &labels); - virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, qreal min, qreal max); + virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max); virtual void updateAxisSegmentCount(Q3DAbstractAxis::AxisOrientation orientation, int count); virtual void updateAxisSubSegmentCount(Q3DAbstractAxis::AxisOrientation orientation, int count); virtual void updateAxisLabelFormat(Q3DAbstractAxis::AxisOrientation orientation, const QString &format); diff --git a/src/datavisualization/engine/axisrendercache.cpp b/src/datavisualization/engine/axisrendercache.cpp index 55ac0765..f7960b2b 100644 --- a/src/datavisualization/engine/axisrendercache.cpp +++ b/src/datavisualization/engine/axisrendercache.cpp @@ -24,8 +24,8 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE AxisRenderCache::AxisRenderCache() : m_type(Q3DAbstractAxis::AxisTypeNone), - m_min(0.0), - m_max(10.0), + m_min(0.0f), + m_max(10.0f), m_segmentCount(5), m_subSegmentCount(1), m_font(QFont(QStringLiteral("Arial"))), @@ -58,8 +58,8 @@ void AxisRenderCache::setType(Q3DAbstractAxis::AxisType type) // If type is set, it means completely new axis instance, so clear all old data m_labels.clear(); m_title.clear(); - m_min = 0.0; - m_max = 10.0; + m_min = 0.0f; + m_max = 10.0f; m_segmentCount = 5; m_subSegmentCount = 1; m_labelFormat.clear(); @@ -109,13 +109,13 @@ void AxisRenderCache::setLabels(const QStringList &labels) } } -void AxisRenderCache::setMin(qreal min) +void AxisRenderCache::setMin(float min) { m_min = min; updateSegmentStep(); } -void AxisRenderCache::setMax(qreal max) +void AxisRenderCache::setMax(float max) { m_max = max; updateSegmentStep(); diff --git a/src/datavisualization/engine/axisrendercache_p.h b/src/datavisualization/engine/axisrendercache_p.h index 0bb1cf92..cddc7839 100644 --- a/src/datavisualization/engine/axisrendercache_p.h +++ b/src/datavisualization/engine/axisrendercache_p.h @@ -51,10 +51,10 @@ public: inline const QString &title() { return m_title; } void setLabels(const QStringList &labels); inline const QStringList &labels() { return m_labels; } - void setMin(qreal min); - inline qreal min() { return m_min; } - void setMax(qreal max); - inline qreal max() { return m_max; } + void setMin(float min); + inline float min() { return m_min; } + void setMax(float max); + inline float max() { return m_max; } void setSegmentCount(int count); inline int segmentCount() const { return m_segmentCount; } void setSubSegmentCount(int count); @@ -79,8 +79,8 @@ private: Q3DAbstractAxis::AxisType m_type; QString m_title; QStringList m_labels; - qreal m_min; - qreal m_max; + float m_min; + float m_max; int m_segmentCount; int m_subSegmentCount; QString m_labelFormat; diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index f289de46..cb7ba5cb 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -408,7 +408,7 @@ void Bars3DController::adjustAxisRanges() int rowCount = proxy->rowCount(); if (rowCount) rowCount--; - categoryAxisX->dptr()->setRange(0.0, qreal(rowCount)); + categoryAxisX->dptr()->setRange(0.0f, float(rowCount)); } Q3DCategoryAxis *categoryAxisZ = static_cast(m_axisZ); @@ -420,7 +420,7 @@ void Bars3DController::adjustAxisRanges() } if (columnCount) columnCount--; - categoryAxisZ->dptr()->setRange(0.0, qreal(columnCount)); + categoryAxisZ->dptr()->setRange(0.0f, float(columnCount)); } Q3DValueAxis *valueAxis = static_cast(m_axisY); @@ -432,11 +432,11 @@ void Bars3DController::adjustAxisRanges() if (limits.first < 0) { // Call private implementation to avoid unsetting auto adjust flag valueAxis->dptr()->setRange(limits.first, limits.second); - } else if (limits.second == 0.0) { + } else if (limits.second == 0.0f) { // Only zero value values in data set, set range to something. - valueAxis->dptr()->setRange(0.0, 1.0); + valueAxis->dptr()->setRange(0.0f, 1.0f); } else { - valueAxis->dptr()->setRange(0.0, limits.second); + valueAxis->dptr()->setRange(0.0f, limits.second); } } } diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index c96c33dc..c243c32b 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -214,7 +214,7 @@ void Bars3DRenderer::updateData() if (dataRow) { int dataColIndex = minCol; for (; j < updateSize ; j++) { - qreal value = dataRow->at(dataColIndex).value(); + float value = dataRow->at(dataColIndex).value(); if (!m_noZeroInRange) { heightValue = GLfloat(value); } else { @@ -223,7 +223,7 @@ void Bars3DRenderer::updateData() heightValue = value - m_axisCacheY.min(); if (heightValue < 0.0f) heightValue = 0.0f; - } else if (m_axisCacheY.max() < 0.0) { + } else if (m_axisCacheY.max() < 0.0f) { heightValue = value - m_axisCacheY.max(); if (heightValue > 0.0f) heightValue = 0.0f; @@ -236,7 +236,7 @@ void Bars3DRenderer::updateData() } } for (; j < m_renderingArrays.at(series).at(i).size(); j++) { - m_renderingArrays[series][i][j].setValue(0.0); + m_renderingArrays[series][i][j].setValue(0.0f); m_renderingArrays[series][i][j].setHeight(0.0f); } dataRowIndex++; @@ -263,7 +263,7 @@ void Bars3DRenderer::updateScene(Q3DScene *scene) if (m_hasNegativeValues) scene->activeCamera()->setMinYRotation(-90.0); else - scene->activeCamera()->setMinYRotation(0.0); + scene->activeCamera()->setMinYRotation(0.0f); if (m_hasHeightAdjustmentChanged) { // Set initial camera position. Also update if height adjustment has changed. @@ -580,7 +580,7 @@ void Bars3DRenderer::drawSlicedScene(const LabelItem &xLabel, // TODO: Make user controllable (QTRD-2546) if (!sliceGridLabels) { // Draw values - if (item->height() != 0.0f || (!m_noZeroInRange && item->value() == 0.0)) { + if (item->height() != 0.0f || (!m_noZeroInRange && item->value() == 0.0f)) { m_drawer->drawLabel(*item, item->sliceLabelItem(), viewMatrix, projectionMatrix, valuePositionComp, sliceValueRotation, item->height(), m_cachedSelectionMode, m_labelShader, m_labelObj, activeCamera, @@ -912,13 +912,13 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) MVPMatrix = projectionViewMatrix * modelMatrix; //#if !defined(QT_OPENGL_ES_2) - // QVector3D barColor = QVector3D((GLdouble)row / 32767.0, - // (GLdouble)bar / 32767.0, - // 0.0); + // QVector3D barColor = QVector3D(GLfloat(row) / 32767.0f, + // GLfloat(bar) / 32767.0f, + // 0.0f); //#else - QVector3D barColor = QVector3D((GLdouble)row / 255.0, - (GLdouble)bar / 255.0, - (GLdouble)series / 255.0); + QVector3D barColor = QVector3D(GLfloat(row) / 255.0f, + GLfloat(bar) / 255.0f, + GLfloat(series) / 255.0f); //#endif m_selectionShader->setUniformValue(m_selectionShader->MVP(), MVPMatrix); @@ -1455,8 +1455,8 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) modelMatrix.scale(gridLineScaler); itModelMatrix.scale(gridLineScaler); if (m_zFlipped) { - modelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); - itModelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); + modelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); + itModelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); } MVPMatrix = projectionViewMatrix * modelMatrix; @@ -1807,8 +1807,8 @@ void Bars3DRenderer::updateBarSpecs(GLfloat thicknessRatio, const QSizeF &spacin calculateSceneScalingFactors(); } -void Bars3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, qreal min, - qreal max) +void Bars3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, + float max) { Abstract3DRenderer::updateAxisRange(orientation, min, max); @@ -1974,7 +1974,7 @@ void Bars3DRenderer::calculateHeightAdjustment() GLfloat newAdjustment = 0.0f; GLfloat maxAbs = qFabs(m_axisCacheY.max()); - if (m_axisCacheY.max() < 0.0) { + if (m_axisCacheY.max() < 0.0f) { m_heightNormalizer = GLfloat(qFabs(m_axisCacheY.min()) - qFabs(m_axisCacheY.max())); maxAbs = qFabs(m_axisCacheY.max()) - qFabs(m_axisCacheY.min()); } else { @@ -1982,7 +1982,7 @@ void Bars3DRenderer::calculateHeightAdjustment() } // Height fractions are used in gradient calculations and are therefore doubled - if (m_axisCacheY.max() < 0.0 || m_axisCacheY.min() > 0.0) { + if (m_axisCacheY.max() < 0.0f || m_axisCacheY.min() > 0.0f) { m_noZeroInRange = true; m_gradientFraction = 2.0f; } else { diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h index 08db5e06..fa2e1268 100644 --- a/src/datavisualization/engine/bars3drenderer_p.h +++ b/src/datavisualization/engine/bars3drenderer_p.h @@ -133,7 +133,7 @@ public slots: void updateSelectedBar(const QPoint &position, const QBar3DSeries *series); // Overloaded from abstract renderer - virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, qreal min, qreal max); + virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max); signals: void barClicked(QPoint position, QBar3DSeries *series); diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index dc149c4d..5564b6eb 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -319,10 +319,10 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte modelMatrix.rotate(rotQuaternion); if (useDepth && !rotateAlong) { - qreal yComp = qreal(qRadiansToDegrees(qTan(positionComp.y() / cameraDistance))); + float yComp = float(qRadiansToDegrees(qTan(positionComp.y() / cameraDistance))); // Apply negative camera rotations to keep labels facing camera - qreal camRotationX = camera->xRotation(); - qreal camRotationY = camera->yRotation(); + float camRotationX = camera->xRotation(); + float camRotationY = camera->yRotation(); modelMatrix.rotate(-camRotationX, 0.0f, 1.0f, 0.0f); modelMatrix.rotate(-camRotationY - yComp, 1.0f, 0.0f, 0.0f); } diff --git a/src/datavisualization/engine/q3dbars.cpp b/src/datavisualization/engine/q3dbars.cpp index 93901811..9b2b3646 100644 --- a/src/datavisualization/engine/q3dbars.cpp +++ b/src/datavisualization/engine/q3dbars.cpp @@ -253,7 +253,7 @@ void Q3DBars::setHeight(const int height) * Bar thickness ratio between X and Z dimensions. 1.0 means bars are as wide as they are deep, 0.5 * makes them twice as deep as they are wide. It is preset to \c 1.0 by default. */ -void Q3DBars::setBarThickness(qreal thicknessRatio) +void Q3DBars::setBarThickness(float thicknessRatio) { if (thicknessRatio != barThickness()) { d_ptr->m_shared->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative()); @@ -261,7 +261,7 @@ void Q3DBars::setBarThickness(qreal thicknessRatio) } } -qreal Q3DBars::barThickness() +float Q3DBars::barThickness() { return d_ptr->m_shared->barThickness(); } diff --git a/src/datavisualization/engine/q3dbars.h b/src/datavisualization/engine/q3dbars.h index eb35f02d..15199b7c 100644 --- a/src/datavisualization/engine/q3dbars.h +++ b/src/datavisualization/engine/q3dbars.h @@ -40,7 +40,7 @@ class QT_DATAVISUALIZATION_EXPORT Q3DBars : public Q3DWindow Q_PROPERTY(QtDataVisualization::QDataVis::SelectionFlags selectionMode READ selectionMode WRITE setSelectionMode NOTIFY selectionModeChanged) Q_PROPERTY(QtDataVisualization::QDataVis::LabelStyle labelStyle READ labelStyle WRITE setLabelStyle NOTIFY labelStyleChanged) Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality NOTIFY shadowQualityChanged) - Q_PROPERTY(qreal barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) + Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged) Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged) Q_PROPERTY(QString meshFileName READ meshFileName WRITE setMeshFileName NOTIFY meshFileNameChanged) @@ -71,8 +71,8 @@ public: void setTheme(Q3DTheme *theme); Q3DTheme *theme() const; - void setBarThickness(qreal thicknessRatio); - qreal barThickness(); + void setBarThickness(float thicknessRatio); + float barThickness(); void setBarSpacing(QSizeF spacing); QSizeF barSpacing(); @@ -137,7 +137,7 @@ signals: void selectionModeChanged(QDataVis::SelectionFlags mode); void labelStyleChanged(QDataVis::LabelStyle style); void shadowQualityChanged(QDataVis::ShadowQuality quality); - void barThicknessChanged(qreal thicknessRatio); + void barThicknessChanged(float thicknessRatio); void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); void meshFileNameChanged(QString filename); diff --git a/src/datavisualization/engine/q3dcamera.cpp b/src/datavisualization/engine/q3dcamera.cpp index d2bbe275..d70645e0 100644 --- a/src/datavisualization/engine/q3dcamera.cpp +++ b/src/datavisualization/engine/q3dcamera.cpp @@ -98,16 +98,16 @@ void Q3DCamera::copyValuesFrom(const Q3DCamera &source) * This property contains the X-rotation angle of the camera around the target point in degrees starting from * the current base position set by the setBaseOrientation() methods. */ -qreal Q3DCamera::xRotation() const { +float Q3DCamera::xRotation() const { return d_ptr->m_xRotation; } -void Q3DCamera::setXRotation(qreal rotation) +void Q3DCamera::setXRotation(float rotation) { if (d_ptr->m_wrapXRotation) rotation = Utils::wrapValue(rotation, d_ptr->m_minXRotation, d_ptr->m_maxXRotation); else - rotation = qBound(qreal(d_ptr->m_minXRotation), qreal(rotation), qreal(d_ptr->m_maxXRotation)); + rotation = qBound(float(d_ptr->m_minXRotation), float(rotation), float(d_ptr->m_maxXRotation)); if (d_ptr->m_xRotation != rotation) { d_ptr->setXRotation(rotation); @@ -126,16 +126,16 @@ void Q3DCamera::setXRotation(qreal rotation) * This property contains the Y-rotation angle of the camera around the target point in degrees starting from * the current base position set by the setBaseOrientation() methods. */ -qreal Q3DCamera::yRotation() const { +float Q3DCamera::yRotation() const { return d_ptr->m_yRotation; } -void Q3DCamera::setYRotation(qreal rotation) +void Q3DCamera::setYRotation(float rotation) { if (d_ptr->m_wrapYRotation) rotation = Utils::wrapValue(rotation, d_ptr->m_minYRotation, d_ptr->m_maxYRotation); else - rotation = qBound(qreal(d_ptr->m_minYRotation), qreal(rotation), qreal(d_ptr->m_maxYRotation)); + rotation = qBound(float(d_ptr->m_minYRotation), float(rotation), float(d_ptr->m_maxYRotation)); if (d_ptr->m_yRotation != rotation) { d_ptr->setYRotation(rotation); @@ -152,12 +152,12 @@ void Q3DCamera::setYRotation(qreal rotation) * \property Q3DCamera::minXRotation * * This property contains the current minimum X-rotation for the camera. - * The full circle range is [-180,180] and the minimum value is limited to -180. + * The full circle range is [-180, 180] and the minimum value is limited to -180. * Also the value can't be higher than the maximum, and is adjusted if necessary. * * \sa wrapXRotation, maxXRotation */ -qreal Q3DCamera::minXRotation() const +float Q3DCamera::minXRotation() const { return d_ptr->m_minXRotation; } @@ -165,9 +165,9 @@ qreal Q3DCamera::minXRotation() const /*! * \internal */ -void Q3DCamera::setMinXRotation(qreal minRotation) +void Q3DCamera::setMinXRotation(float minRotation) { - minRotation = qBound(qreal(-180.0), minRotation, qreal(180.0)); + minRotation = qBound(-180.0f, minRotation, 180.0f); if (minRotation > d_ptr->m_maxXRotation) minRotation = d_ptr->m_maxXRotation; @@ -189,7 +189,7 @@ void Q3DCamera::setMinXRotation(qreal minRotation) * * \sa wrapYRotation, maxYRotation */ -qreal Q3DCamera::minYRotation() const +float Q3DCamera::minYRotation() const { return d_ptr->m_minYRotation; } @@ -197,9 +197,9 @@ qreal Q3DCamera::minYRotation() const /*! * \internal */ -void Q3DCamera::setMinYRotation(qreal minRotation) +void Q3DCamera::setMinYRotation(float minRotation) { - minRotation = qBound(qreal(-90.0), minRotation, qreal(90.0)); + minRotation = qBound(-90.0f, minRotation, 90.0f); if (minRotation > d_ptr->m_maxYRotation) minRotation = d_ptr->m_maxYRotation; @@ -221,7 +221,7 @@ void Q3DCamera::setMinYRotation(qreal minRotation) * * \sa wrapXRotation, minXRotation */ -qreal Q3DCamera::maxXRotation() const +float Q3DCamera::maxXRotation() const { return d_ptr->m_maxXRotation; } @@ -229,9 +229,9 @@ qreal Q3DCamera::maxXRotation() const /*! * \internal */ -void Q3DCamera::setMaxXRotation(qreal maxRotation) +void Q3DCamera::setMaxXRotation(float maxRotation) { - maxRotation = qBound(qreal(-180.0), maxRotation, qreal(180.0)); + maxRotation = qBound(-180.0f, maxRotation, 180.0f); if (maxRotation < d_ptr->m_minXRotation) maxRotation = d_ptr->m_minXRotation; @@ -254,7 +254,7 @@ void Q3DCamera::setMaxXRotation(qreal maxRotation) * * \sa wrapYRotation, minYRotation */ -qreal Q3DCamera::maxYRotation() const +float Q3DCamera::maxYRotation() const { return d_ptr->m_maxYRotation; } @@ -262,9 +262,9 @@ qreal Q3DCamera::maxYRotation() const /*! * \internal */ -void Q3DCamera::setMaxYRotation(qreal maxRotation) +void Q3DCamera::setMaxYRotation(float maxRotation) { - maxRotation = qBound(qreal(-90.0), maxRotation, qreal(90.0)); + maxRotation = qBound(-90.0f, maxRotation, 90.0f); if (maxRotation < d_ptr->m_minYRotation) maxRotation = d_ptr->m_minYRotation; @@ -354,123 +354,123 @@ void Q3DCamera::setCameraPreset(QDataVis::CameraPreset preset) { switch (preset) { case QDataVis::CameraPresetFrontLow: { - setXRotation(0.0); - setYRotation(0.0); + setXRotation(0.0f); + setYRotation(0.0f); break; } case QDataVis::CameraPresetFront: { - setXRotation(0.0); - setYRotation(22.5); + setXRotation(0.0f); + setYRotation(22.5f); break; } case QDataVis::CameraPresetFrontHigh: { - setXRotation(0.0); - setYRotation(45.0); + setXRotation(0.0f); + setYRotation(45.0f); break; } case QDataVis::CameraPresetLeftLow: { - setXRotation(90.0); - setYRotation(0.0); + setXRotation(90.0f); + setYRotation(0.0f); break; } case QDataVis::CameraPresetLeft: { - setXRotation(90.0); - setYRotation(22.5); + setXRotation(90.0f); + setYRotation(22.5f); break; } case QDataVis::CameraPresetLeftHigh: { - setXRotation(90.0); - setYRotation(45.0); + setXRotation(90.0f); + setYRotation(45.0f); break; } case QDataVis::CameraPresetRightLow: { - setXRotation(-90.0); - setYRotation(0.0); + setXRotation(-90.0f); + setYRotation(0.0f); break; } case QDataVis::CameraPresetRight: { - setXRotation(-90.0); - setYRotation(22.5); + setXRotation(-90.0f); + setYRotation(22.5f); break; } case QDataVis::CameraPresetRightHigh: { - setXRotation(-90.0); - setYRotation(45.0); + setXRotation(-90.0f); + setYRotation(45.0f); break; } case QDataVis::CameraPresetBehindLow: { - setXRotation(180.0); - setYRotation(0.0); + setXRotation(180.0f); + setYRotation(0.0f); break; } case QDataVis::CameraPresetBehind: { - setXRotation(180.0); - setYRotation(22.5); + setXRotation(180.0f); + setYRotation(22.5f); break; } case QDataVis::CameraPresetBehindHigh: { - setXRotation(180.0); - setYRotation(45.0); + setXRotation(180.0f); + setYRotation(45.0f); break; } case QDataVis::CameraPresetIsometricLeft: { - setXRotation(45.0); - setYRotation(22.5); + setXRotation(45.0f); + setYRotation(22.5f); break; } case QDataVis::CameraPresetIsometricLeftHigh: { - setXRotation(45.0); - setYRotation(45.0); + setXRotation(45.0f); + setYRotation(45.0f); break; } case QDataVis::CameraPresetIsometricRight: { - setXRotation(-45.0); - setYRotation(22.5); + setXRotation(-45.0f); + setYRotation(22.5f); break; } case QDataVis::CameraPresetIsometricRightHigh: { - setXRotation(-45.0); - setYRotation(45.0); + setXRotation(-45.0f); + setYRotation(45.0f); break; } case QDataVis::CameraPresetDirectlyAbove: { - setXRotation(0.0); - setYRotation(90.0); + setXRotation(0.0f); + setYRotation(90.0f); break; } case QDataVis::CameraPresetDirectlyAboveCW45: { - setXRotation(-45.0); - setYRotation(90.0); + setXRotation(-45.0f); + setYRotation(90.0f); break; } case QDataVis::CameraPresetDirectlyAboveCCW45: { - setXRotation(45.0); - setYRotation(90.0); + setXRotation(45.0f); + setYRotation(90.0f); break; } case QDataVis::CameraPresetFrontBelow: { - setXRotation(0.0); - setYRotation(-45.0); + setXRotation(0.0f); + setYRotation(-45.0f); break; } case QDataVis::CameraPresetLeftBelow: { - setXRotation(90.0); - setYRotation(-45.0); + setXRotation(90.0f); + setYRotation(-45.0f); break; } case QDataVis::CameraPresetRightBelow: { - setXRotation(-90.0); - setYRotation(-45.0); + setXRotation(-90.0f); + setYRotation(-45.0f); break; } case QDataVis::CameraPresetBehindBelow: { - setXRotation(180.0); - setYRotation(-45.0); + setXRotation(180.0f); + setYRotation(-45.0f); break; } case QDataVis::CameraPresetDirectlyBelow: { - setXRotation(0.0); - setYRotation(-90.0); + setXRotation(0.0f); + setYRotation(-90.0f); break; } default: @@ -514,8 +514,8 @@ void Q3DCamera::setZoomLevel(int zoomLevel) * \return Calculated position relative to this camera's position. */ QVector3D Q3DCamera::calculatePositionRelativeToCamera(const QVector3D &relativePosition, - qreal fixedRotation, - qreal distanceModifier) const + float fixedRotation, + float distanceModifier) const { // Move the position with camera GLfloat radiusFactor = cameraDistance * (1.5f + distanceModifier); @@ -581,9 +581,9 @@ void Q3DCamera::setWrapYRotation(bool isEnabled) * Utility function that sets the camera rotations and distance.\a horizontal and \a vertical define the camera rotations to be used. * Optional \a zoom parameter can be given to set the zoom of the camera in range of 10-500%. */ -void Q3DCamera::setCameraPosition(qreal horizontal, qreal vertical, qreal zoom) +void Q3DCamera::setCameraPosition(float horizontal, float vertical, float zoom) { - setZoomLevel(qBound(qreal(10.0), zoom, qreal(500.0))); + setZoomLevel(qBound(10.0f, zoom, 500.0f)); setXRotation(horizontal); setYRotation(vertical); } @@ -591,12 +591,12 @@ void Q3DCamera::setCameraPosition(qreal horizontal, qreal vertical, qreal zoom) Q3DCameraPrivate::Q3DCameraPrivate(Q3DCamera *q) : q_ptr(q), m_isViewMatrixUpdateActive(true), - m_xRotation(0.0), - m_yRotation(0.0), - m_minXRotation(-180.0), - m_minYRotation(0.0), - m_maxXRotation(180.0), - m_maxYRotation(90.0), + m_xRotation(0.0f), + m_yRotation(0.0f), + m_minXRotation(-180.0f), + m_minYRotation(0.0f), + m_maxXRotation(180.0f), + m_maxYRotation(90.0f), m_wrapXRotation(true), m_wrapYRotation(false), m_zoomLevel(100), @@ -619,7 +619,7 @@ void Q3DCameraPrivate::sync(Q3DCamera &other) } } -void Q3DCameraPrivate::setXRotation(const qreal rotation) +void Q3DCameraPrivate::setXRotation(const float rotation) { if (m_xRotation != rotation) { m_xRotation = rotation; @@ -627,7 +627,7 @@ void Q3DCameraPrivate::setXRotation(const qreal rotation) } } -void Q3DCameraPrivate::setYRotation(const qreal rotation) +void Q3DCameraPrivate::setYRotation(const float rotation) { if (m_yRotation != rotation) { m_yRotation = rotation; @@ -635,7 +635,7 @@ void Q3DCameraPrivate::setYRotation(const qreal rotation) } } -void Q3DCameraPrivate::setMinXRotation(const qreal rotation) +void Q3DCameraPrivate::setMinXRotation(const float rotation) { if (m_minXRotation != rotation) { m_minXRotation = rotation; @@ -643,7 +643,7 @@ void Q3DCameraPrivate::setMinXRotation(const qreal rotation) } } -void Q3DCameraPrivate::setMinYRotation(const qreal rotation) +void Q3DCameraPrivate::setMinYRotation(const float rotation) { if (m_minYRotation != rotation) { m_minYRotation = rotation; @@ -651,7 +651,7 @@ void Q3DCameraPrivate::setMinYRotation(const qreal rotation) } } -void Q3DCameraPrivate::setMaxXRotation(const qreal rotation) +void Q3DCameraPrivate::setMaxXRotation(const float rotation) { if (m_maxXRotation != rotation) { m_maxXRotation = rotation; @@ -659,7 +659,7 @@ void Q3DCameraPrivate::setMaxXRotation(const qreal rotation) } } -void Q3DCameraPrivate::setMaxYRotation(const qreal rotation) +void Q3DCameraPrivate::setMaxYRotation(const float rotation) { if (m_maxYRotation != rotation) { m_maxYRotation = rotation; @@ -669,7 +669,7 @@ void Q3DCameraPrivate::setMaxYRotation(const qreal rotation) // Recalculates the view matrix based on the currently set base orientation, rotation and zoom level values. // zoomAdjustment is adjustment to ensure that the 3D visualization stays inside the view area in the 100% zoom. -void Q3DCameraPrivate::updateViewMatrix(qreal zoomAdjustment) +void Q3DCameraPrivate::updateViewMatrix(float zoomAdjustment) { if (!m_isViewMatrixUpdateActive) return; diff --git a/src/datavisualization/engine/q3dcamera.h b/src/datavisualization/engine/q3dcamera.h index 8e93ebb2..db322518 100644 --- a/src/datavisualization/engine/q3dcamera.h +++ b/src/datavisualization/engine/q3dcamera.h @@ -32,12 +32,12 @@ class Q3DCameraPrivate; class QT_DATAVISUALIZATION_EXPORT Q3DCamera : public Q3DObject { Q_OBJECT - Q_PROPERTY(qreal xRotation READ xRotation WRITE setXRotation NOTIFY xRotationChanged) - Q_PROPERTY(qreal yRotation READ yRotation WRITE setYRotation NOTIFY yRotationChanged) - Q_PROPERTY(qreal minXRotation READ minXRotation NOTIFY minXRotationChanged) - Q_PROPERTY(qreal minYRotation READ minYRotation NOTIFY minYRotationChanged) - Q_PROPERTY(qreal maxXRotation READ maxXRotation NOTIFY maxXRotationChanged) - Q_PROPERTY(qreal maxYRotation READ maxYRotation NOTIFY maxYRotationChanged) + Q_PROPERTY(float xRotation READ xRotation WRITE setXRotation NOTIFY xRotationChanged) + Q_PROPERTY(float yRotation READ yRotation WRITE setYRotation NOTIFY yRotationChanged) + Q_PROPERTY(float minXRotation READ minXRotation NOTIFY minXRotationChanged) + Q_PROPERTY(float minYRotation READ minYRotation NOTIFY minYRotationChanged) + Q_PROPERTY(float maxXRotation READ maxXRotation NOTIFY maxXRotationChanged) + Q_PROPERTY(float maxYRotation READ maxYRotation NOTIFY maxYRotationChanged) Q_PROPERTY(int zoomLevel READ zoomLevel WRITE setZoomLevel NOTIFY zoomLevelChanged) Q_PROPERTY(QMatrix4x4 viewMatrix READ viewMatrix WRITE setViewMatrix NOTIFY viewMatrixChanged) Q_PROPERTY(QtDataVisualization::QDataVis::CameraPreset cameraPreset READ cameraPreset WRITE setCameraPreset NOTIFY cameraPresetChanged) @@ -50,16 +50,16 @@ public: Q3DCamera(QObject *parent = 0); virtual ~Q3DCamera(); - qreal xRotation() const; - void setXRotation(qreal rotation); - qreal yRotation() const; - void setYRotation(qreal rotation); + float xRotation() const; + void setXRotation(float rotation); + float yRotation() const; + void setYRotation(float rotation); - qreal minXRotation() const; - qreal maxXRotation() const; + float minXRotation() const; + float maxXRotation() const; - qreal minYRotation() const; - qreal maxYRotation() const; + float minYRotation() const; + float maxYRotation() const; bool wrapXRotation() const; void setWrapXRotation(bool isEnabled); @@ -86,17 +86,17 @@ public: const QVector3D &defaultUp); QVector3D calculatePositionRelativeToCamera(const QVector3D &relativePosition, - qreal fixedRotation, - qreal distanceModifier) const; - void setCameraPosition(qreal horizontal, qreal vertical, qreal distance = 100.0); + float fixedRotation, + float distanceModifier) const; + void setCameraPosition(float horizontal, float vertical, float distance = 100.0f); signals: - void xRotationChanged(qreal rotation); - void yRotationChanged(qreal rotation); - void minXRotationChanged(qreal rotation); - void minYRotationChanged(qreal rotation); - void maxXRotationChanged(qreal rotation); - void maxYRotationChanged(qreal rotation); + void xRotationChanged(float rotation); + void yRotationChanged(float rotation); + void minXRotationChanged(float rotation); + void minYRotationChanged(float rotation); + void maxXRotationChanged(float rotation); + void maxYRotationChanged(float rotation); void zoomLevelChanged(int zoomLevel); void viewMatrixChanged(QMatrix4x4 viewMatrix); void cameraPresetChanged(QDataVis::CameraPreset preset); @@ -105,10 +105,10 @@ signals: void wrapYRotationChanged(bool isEnabled); protected: - void setMinXRotation(qreal rotation); - void setMinYRotation(qreal rotation); - void setMaxXRotation(qreal rotation); - void setMaxYRotation(qreal rotation); + void setMinXRotation(float rotation); + void setMinYRotation(float rotation); + void setMaxXRotation(float rotation); + void setMaxYRotation(float rotation); private: QScopedPointer d_ptr; diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h index e0528dcc..63f47cf0 100644 --- a/src/datavisualization/engine/q3dcamera_p.h +++ b/src/datavisualization/engine/q3dcamera_p.h @@ -44,14 +44,14 @@ public: void sync(Q3DCamera &other); - void setXRotation(qreal rotation); - void setYRotation(qreal rotation); - void setMinXRotation(qreal rotation); - void setMinYRotation(qreal rotation); - void setMaxXRotation(qreal rotation); - void setMaxYRotation(qreal rotation); - - void updateViewMatrix(qreal zoomAdjustment); + void setXRotation(float rotation); + void setYRotation(float rotation); + void setMinXRotation(float rotation); + void setMinYRotation(float rotation); + void setMaxXRotation(float rotation); + void setMaxYRotation(float rotation); + + void updateViewMatrix(float zoomAdjustment); public: Q3DCamera *q_ptr; diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index 46b374cf..de6a3c97 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -332,12 +332,12 @@ void Q3DScene::setActiveLight(Q3DLight *light) * This property contains the current device pixel ratio that is used when mapping input * coordinates to pixel coordinates. */ -qreal Q3DScene::devicePixelRatio() const +float Q3DScene::devicePixelRatio() const { return d_ptr->m_devicePixelRatio; } -void Q3DScene::setDevicePixelRatio(qreal pixelRatio) +void Q3DScene::setDevicePixelRatio(float pixelRatio) { if (d_ptr->m_devicePixelRatio != pixelRatio) { d_ptr->m_devicePixelRatio = pixelRatio; @@ -352,7 +352,7 @@ void Q3DScene::setDevicePixelRatio(qreal pixelRatio) * Optional \a distanceModifier modifies the distance of the light from the data visualization. */ void Q3DScene::setLightPositionRelativeToCamera(const QVector3D &relativePosition, - qreal fixedRotation, qreal distanceModifier) + float fixedRotation, float distanceModifier) { d_ptr->m_light->setPosition( d_ptr->m_camera->calculatePositionRelativeToCamera(relativePosition, diff --git a/src/datavisualization/engine/q3dscene.h b/src/datavisualization/engine/q3dscene.h index 52de85bb..14854361 100644 --- a/src/datavisualization/engine/q3dscene.h +++ b/src/datavisualization/engine/q3dscene.h @@ -41,7 +41,7 @@ class QT_DATAVISUALIZATION_EXPORT Q3DScene : public QObject Q_PROPERTY(bool slicingActive READ isSlicingActive WRITE setSlicingActive NOTIFY slicingActiveChanged) Q_PROPERTY(Q3DCamera* activeCamera READ activeCamera WRITE setActiveCamera NOTIFY activeCameraChanged) Q_PROPERTY(Q3DLight* activeLight READ activeLight WRITE setActiveLight NOTIFY activeLightChanged) - Q_PROPERTY(qreal devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio NOTIFY devicePixelRatioChanged) + Q_PROPERTY(float devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio NOTIFY devicePixelRatioChanged) public: Q3DScene(QObject *parent = 0); @@ -75,12 +75,12 @@ public: Q3DLight *activeLight() const; void setActiveLight(Q3DLight *light); - qreal devicePixelRatio() const; - void setDevicePixelRatio(qreal pixelRatio); + float devicePixelRatio() const; + void setDevicePixelRatio(float pixelRatio); Q_INVOKABLE void setLightPositionRelativeToCamera(const QVector3D &relativePosition, - qreal fixedRotation = 0.0, - qreal distanceModifier = 0.0); + float fixedRotation = 0.0f, + float distanceModifier = 0.0f); private: void emitNeedRender(); @@ -92,7 +92,7 @@ signals: void slicingActiveChanged(bool isSlicingActive); void activeCameraChanged(const Q3DCamera *camera); void activeLightChanged(const Q3DLight *light); - void devicePixelRatioChanged(qreal pixelRatio); + void devicePixelRatioChanged(float pixelRatio); void needRender(); void selectionQueryPositionChanged(const QPoint position); diff --git a/src/datavisualization/engine/q3dscene_p.h b/src/datavisualization/engine/q3dscene_p.h index 4be4d745..d083b592 100644 --- a/src/datavisualization/engine/q3dscene_p.h +++ b/src/datavisualization/engine/q3dscene_p.h @@ -78,7 +78,7 @@ public: QRect m_primarySubViewport; QRect m_secondarySubViewport; bool m_isSecondarySubviewOnTop; - qreal m_devicePixelRatio; + float m_devicePixelRatio; Q3DCamera *m_camera; Q3DLight *m_light; bool m_isUnderSideCameraEnabled; diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 664f76e7..a84a5ad6 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -498,6 +498,7 @@ QList Q3DSurface::axes() const /*! * Modifies the current surface gradient. Sets gradient color to \a color at \a pos. */ +// TODO: Surface gradient should use base color of series void Q3DSurface::setGradientColorAt(qreal pos, const QColor &color) { d_ptr->m_shared->setGradientColorAt(pos, color); diff --git a/src/datavisualization/engine/q3dwindow_p.h b/src/datavisualization/engine/q3dwindow_p.h index 6bef7e10..85ff103a 100644 --- a/src/datavisualization/engine/q3dwindow_p.h +++ b/src/datavisualization/engine/q3dwindow_p.h @@ -51,7 +51,7 @@ public: bool m_updatePending; QOpenGLContext *m_context; Abstract3DController *m_visualController; - qreal m_devicePixelRatio; + float m_devicePixelRatio; }; QT_DATAVISUALIZATION_END_NAMESPACE diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 56614746..73864643 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -171,7 +171,6 @@ void Scatter3DRenderer::updateData() for (int i = 0; i < dataSize; i++) { QVector3D dotPos = dataArray.at(i).position(); - // TODO: qreal -> float conversion for axis min/max may cause issues like in surface if ((dotPos.x() >= minX && dotPos.x() <= maxX ) && (dotPos.y() >= minY && dotPos.y() <= maxY) && (dotPos.z() >= minZ && dotPos.z() <= maxZ)) { @@ -183,7 +182,7 @@ void Scatter3DRenderer::updateData() } } } - m_dotSizeScale = (GLfloat)qBound(0.01, (2.0 / qSqrt((qreal)totalDataSize)), 0.1); + m_dotSizeScale = GLfloat(qBound(0.01f, 2.0f / float(qSqrt(qreal(totalDataSize))), 0.1f)); updateSelectedItem(m_selectedItemIndex, m_selectedSeries); } @@ -993,8 +992,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) itModelMatrix.scale(gridLineScaler); if (m_zFlipped) { - modelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); - itModelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); + modelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); + itModelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); } MVPMatrix = projectionViewMatrix * modelMatrix; @@ -1054,8 +1053,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) itModelMatrix.scale(gridLineScaler); if (m_zFlipped) { - modelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); - itModelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); + modelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); + itModelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); } MVPMatrix = projectionViewMatrix * modelMatrix; @@ -1552,7 +1551,7 @@ void Scatter3DRenderer::updateTextures() } void Scatter3DRenderer::updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, - qreal min, qreal max) + float min, float max) { Abstract3DRenderer::updateAxisRange(orientation, min, max); } diff --git a/src/datavisualization/engine/scatter3drenderer_p.h b/src/datavisualization/engine/scatter3drenderer_p.h index 6f8f9cbd..31ed08a9 100644 --- a/src/datavisualization/engine/scatter3drenderer_p.h +++ b/src/datavisualization/engine/scatter3drenderer_p.h @@ -140,7 +140,7 @@ public slots: void updateBackgroundEnabled(bool enable); // Overloaded from abstract renderer - virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, qreal min, qreal max); + virtual void updateAxisRange(Q3DAbstractAxis::AxisOrientation orientation, float min, float max); void updateSelectedItem(int index, const QScatter3DSeries *series); diff --git a/src/datavisualization/engine/selectionpointer.cpp b/src/datavisualization/engine/selectionpointer.cpp index 7065ea8b..3dc699a6 100644 --- a/src/datavisualization/engine/selectionpointer.cpp +++ b/src/datavisualization/engine/selectionpointer.cpp @@ -162,8 +162,8 @@ void SelectionPointer::render(GLuint defaultFboHandle) modelMatrixLabel.translate(m_position + labelAlign); // Position the label towards the camera - qreal camRotationsX = camera->xRotation(); - qreal camRotationsY = camera->yRotation(); + float camRotationsX = camera->xRotation(); + float camRotationsY = camera->yRotation(); if (!m_cachedIsSlicingActivated) { modelMatrixLabel.rotate(-camRotationsX, 0.0f, 1.0f, 0.0f); modelMatrixLabel.rotate(-camRotationsY, 1.0f, 0.0f, 0.0f); 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) { diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index b90b3527..2298aef4 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -282,19 +282,19 @@ void Surface3DRenderer::updateSliceDataModel(const QPoint &point) m_sliceDataArray.reserve(2); QSurfaceDataRow *sliceRow; - qreal adjust = (0.025 * m_heightNormalizer) / 2.0; - qreal stepDown = 2.0 * adjust; + float adjust = (0.025f * m_heightNormalizer) / 2.0f; + float stepDown = 2.0f * adjust; if (m_cachedSelectionMode.testFlag(QDataVis::SelectionRow)) { QSurfaceDataRow *src = m_dataArray.at(row); sliceRow = new QSurfaceDataRow(src->size()); for (int i = 0; i < sliceRow->size(); i++) - (*sliceRow)[i].setPosition(QVector3D(src->at(i).x(), src->at(i).y() + adjust, -1.0)); + (*sliceRow)[i].setPosition(QVector3D(src->at(i).x(), src->at(i).y() + adjust, -1.0f)); } else { sliceRow = new QSurfaceDataRow(m_sampleSpace.height()); for (int i = 0; i < m_sampleSpace.height(); i++) { (*sliceRow)[i].setPosition(QVector3D(m_dataArray.at(i)->at(column).z(), m_dataArray.at(i)->at(column).y() + adjust, - -1.0)); + -1.0f)); } } @@ -303,7 +303,7 @@ void Surface3DRenderer::updateSliceDataModel(const QPoint &point) // Make a duplicate, so that we get a little bit depth QSurfaceDataRow *duplicateRow = new QSurfaceDataRow(*sliceRow); for (int i = 0; i < sliceRow->size(); i++) - (*sliceRow)[i].setPosition(QVector3D(sliceRow->at(i).x(), sliceRow->at(i).y() - stepDown, 1.0)); + (*sliceRow)[i].setPosition(QVector3D(sliceRow->at(i).x(), sliceRow->at(i).y() - stepDown, 1.0f)); m_sliceDataArray << duplicateRow; @@ -332,21 +332,10 @@ QRect Surface3DRenderer::calculateSampleRect(const QSurfaceDataArray &array) int i; bool found; - float axisMinX = float(m_axisCacheX.min()); - float axisMaxX = float(m_axisCacheX.max()); - float axisMinZ = float(m_axisCacheZ.min()); - float axisMaxZ = float(m_axisCacheZ.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_axisCacheX.min(); + float axisMaxX = m_axisCacheX.max(); + float axisMinZ = m_axisCacheZ.min(); + float axisMaxZ = m_axisCacheZ.max(); // m_minVisibleColumnValue for (i = 0, found = false; i < columnCount; i++) { @@ -1032,7 +1021,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) // If we're viewing from below, background object must be flipped if (m_yFlipped) { - modelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); + modelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); modelMatrix.rotate(270.0f - backgroundRotation, 0.0f, 1.0f, 0.0f); } else { modelMatrix.rotate(backgroundRotation, 0.0f, 1.0f, 0.0f); @@ -1284,8 +1273,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) itModelMatrix.scale(gridLineScaleY); if (m_zFlipped) { - modelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); - itModelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); + modelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); + itModelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); } MVPMatrix = projectionViewMatrix * modelMatrix; @@ -1336,8 +1325,8 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) itModelMatrix.scale(gridLineScaleX); if (m_zFlipped) { - modelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); - itModelMatrix.rotate(180.0f, 1.0, 0.0, 0.0); + modelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); + itModelMatrix.rotate(180.0f, 1.0f, 0.0f, 0.0f); } MVPMatrix = projectionViewMatrix * modelMatrix; @@ -1829,7 +1818,7 @@ void Surface3DRenderer::surfacePointSelected(const QPoint &point) int row = point.x(); int column = point.y(); - qreal value = qreal(m_dataArray.at(row)->at(column).y()); + float value = m_dataArray.at(row)->at(column).y(); if (!m_selectionPointer) m_selectionPointer = new SelectionPointer(m_drawer); @@ -1870,7 +1859,7 @@ QPoint Surface3DRenderer::selectionIdToSurfacePoint(uint id) return QPoint(row, column); } -QString Surface3DRenderer::createSelectionLabel(qreal value, int column, int row) +QString Surface3DRenderer::createSelectionLabel(float value, int column, int row) { // TODO: Get from correct series once multiple series supported QString labelText = m_visibleSeriesList[0].itemLabelFormat(); diff --git a/src/datavisualization/engine/surface3drenderer_p.h b/src/datavisualization/engine/surface3drenderer_p.h index 2d5c8da9..ab656194 100644 --- a/src/datavisualization/engine/surface3drenderer_p.h +++ b/src/datavisualization/engine/surface3drenderer_p.h @@ -178,7 +178,7 @@ private: void fillIdCorner(uchar *p, uchar r, uchar g, uchar b, uchar a, int stride); void surfacePointSelected(const QPoint &point); QPoint selectionIdToSurfacePoint(uint id); - QString createSelectionLabel(qreal value, int column, int row); + QString createSelectionLabel(float value, int column, int row); #if !defined(QT_OPENGL_ES_2) void updateDepthBuffer(); #endif diff --git a/src/datavisualization/input/q3dinputhandler.cpp b/src/datavisualization/input/q3dinputhandler.cpp index 0efdf41f..ec00ae1f 100644 --- a/src/datavisualization/input/q3dinputhandler.cpp +++ b/src/datavisualization/input/q3dinputhandler.cpp @@ -146,8 +146,8 @@ void Q3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos) #else if (QDataVis::InputStateRotating == inputState()) { // Calculate mouse movement since last frame - qreal xRotation = scene()->activeCamera()->xRotation(); - qreal yRotation = scene()->activeCamera()->yRotation(); + float xRotation = scene()->activeCamera()->xRotation(); + float yRotation = scene()->activeCamera()->yRotation(); float mouseMoveX = float(inputPosition().x() - mousePos.x()) / (scene()->viewport().width() / rotationSpeed); float mouseMoveY = float(inputPosition().y() - mousePos.y()) diff --git a/src/datavisualization/input/qtouch3dinputhandler.cpp b/src/datavisualization/input/qtouch3dinputhandler.cpp index 6211ef9e..b36fdb99 100644 --- a/src/datavisualization/input/qtouch3dinputhandler.cpp +++ b/src/datavisualization/input/qtouch3dinputhandler.cpp @@ -23,7 +23,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE -const qreal maxTapAndHoldJitter = 20; +const float maxTapAndHoldJitter = 20.0f; const int maxPinchJitter = 10; #if defined (Q_OS_ANDROID) const int maxSelectionJitter = 10; @@ -145,7 +145,7 @@ QTouch3DInputHandlerPrivate::~QTouch3DInputHandlerPrivate() delete m_holdTimer; } -void QTouch3DInputHandlerPrivate::handlePinchZoom(qreal distance) +void QTouch3DInputHandlerPrivate::handlePinchZoom(float distance) { int newDistance = distance; int prevDist = q_ptr->prevDistance(); @@ -154,7 +154,7 @@ void QTouch3DInputHandlerPrivate::handlePinchZoom(qreal distance) q_ptr->setInputState(QDataVis::InputStateOnPinch); Q3DCamera *camera = q_ptr->scene()->activeCamera(); int zoomLevel = camera->zoomLevel(); - qreal zoomRate = qSqrt(qSqrt(zoomLevel)); + float zoomRate = qSqrt(qSqrt(zoomLevel)); if (newDistance > prevDist) zoomLevel += zoomRate; else diff --git a/src/datavisualization/input/qtouch3dinputhandler_p.h b/src/datavisualization/input/qtouch3dinputhandler_p.h index 1c5b81c7..11163140 100644 --- a/src/datavisualization/input/qtouch3dinputhandler_p.h +++ b/src/datavisualization/input/qtouch3dinputhandler_p.h @@ -33,7 +33,7 @@ public: QTouch3DInputHandlerPrivate(QTouch3DInputHandler *q); ~QTouch3DInputHandlerPrivate(); - void handlePinchZoom(qreal distance); + void handlePinchZoom(float distance); void handleTapAndHold(); void handleSelection(const QPointF &position); void handleRotation(const QPointF &position); diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index d9a32ec6..c4d8532e 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -53,8 +53,8 @@ void SurfaceObject::setUpSmoothData(const QSurfaceDataArray &dataArray, const QR GLfloat xNormalizer = (dataArray.at(0)->last().x() - xMin) / 2.0f; GLfloat yNormalizer = yRange / 2.0f; GLfloat zNormalizer = (dataArray.last()->at(0).z() - zMin) / -2.0f; - GLfloat uvX = 1.0 / GLfloat(m_columns - 1); - GLfloat uvY = 1.0 / GLfloat(m_rows - 1); + GLfloat uvX = 1.0f / GLfloat(m_columns - 1); + GLfloat uvY = 1.0f / GLfloat(m_rows - 1); m_surfaceType = SurfaceSmooth; @@ -169,8 +169,8 @@ void SurfaceObject::setUpData(const QSurfaceDataArray &dataArray, const QRect &s GLfloat xNormalizer = (dataArray.at(0)->last().x() - xMin) / 2.0f; GLfloat yNormalizer = yRange / 2.0f; GLfloat zNormalizer = (dataArray.last()->at(0).z() - zMin) / -2.0f; - GLfloat uvX = 1.0 / GLfloat(m_columns - 1); - GLfloat uvY = 1.0 / GLfloat(m_rows - 1); + GLfloat uvX = 1.0f / GLfloat(m_columns - 1); + GLfloat uvY = 1.0f / GLfloat(m_rows - 1); m_surfaceType = SurfaceFlat; diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index 41c5b452..c88fc8dc 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -257,8 +257,8 @@ void TextureHelper::convertToGLFormatHelper(QImage &dstImage, const QImage &srcI if (dstImage.size() != srcImage.size()) { int target_width = dstImage.width(); int target_height = dstImage.height(); - qreal sx = target_width / qreal(srcImage.width()); - qreal sy = target_height / qreal(srcImage.height()); + float sx = target_width / float(srcImage.width()); + float sy = target_height / float(srcImage.height()); quint32 *dest = (quint32 *) dstImage.scanLine(0); // NB! avoid detach here uchar *srcPixels = (uchar *) srcImage.scanLine(srcImage.height() - 1); diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index eb74d1a3..ce033dc0 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -219,7 +219,7 @@ Utils::ParamType Utils::findFormatParamType(const QString &format) return ParamTypeUnknown; } -QString Utils::formatLabel(const QByteArray &format, ParamType paramType, qreal value) +QString Utils::formatLabel(const QByteArray &format, ParamType paramType, float value) { switch (paramType) { case ParamTypeInt: @@ -239,7 +239,7 @@ QString Utils::defaultLabelFormat() return defaultFormat; } -qreal Utils::wrapValue(qreal value, qreal min, qreal max) +float Utils::wrapValue(float value, float min, float max) { if (value > max) { value = min + (value - max); diff --git a/src/datavisualization/utils/utils_p.h b/src/datavisualization/utils/utils_p.h index e74b590d..4d09a639 100644 --- a/src/datavisualization/utils/utils_p.h +++ b/src/datavisualization/utils/utils_p.h @@ -54,7 +54,7 @@ public: static GLuint getNearestPowerOfTwo(GLuint value, GLuint &padding); static QVector3D vectorFromColor(const QColor &color); static void printText(QPainter *painter, const QString &text, const QSize &position, - bool absoluteCoords = true, qreal rotation = 0, qreal scale = 1.0f); + bool absoluteCoords = true, float rotation = 0.0f, float scale = 1.0f); static QImage printTextToImage(const QFont &font, const QString &text, const QColor &bgrColor, @@ -65,10 +65,10 @@ public: static QVector3D getSelection(QPoint mousepos, int height); static ParamType findFormatParamType(const QString &format); - static QString formatLabel(const QByteArray &format, ParamType paramType, qreal value); + static QString formatLabel(const QByteArray &format, ParamType paramType, float value); static QString defaultLabelFormat(); - static qreal wrapValue(qreal value, qreal min, qreal max); + static float wrapValue(float value, float min, float max); private: static ParamType mapFormatCharToParamType(const QChar &formatChar); diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp index f229cfed..e7bb2683 100644 --- a/src/datavisualizationqml2/declarativebars.cpp +++ b/src/datavisualizationqml2/declarativebars.cpp @@ -107,7 +107,7 @@ void DeclarativeBars::setColumnAxis(Q3DCategoryAxis *axis) m_shared->setAxisZ(axis); } -void DeclarativeBars::setBarThickness(qreal thicknessRatio) +void DeclarativeBars::setBarThickness(float thicknessRatio) { if (thicknessRatio != barThickness()) { m_shared->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative()); @@ -115,7 +115,7 @@ void DeclarativeBars::setBarThickness(qreal thicknessRatio) } } -qreal DeclarativeBars::barThickness() const +float DeclarativeBars::barThickness() const { return m_shared->barThickness(); } diff --git a/src/datavisualizationqml2/declarativebars_p.h b/src/datavisualizationqml2/declarativebars_p.h index 86cd993e..041be418 100644 --- a/src/datavisualizationqml2/declarativebars_p.h +++ b/src/datavisualizationqml2/declarativebars_p.h @@ -52,7 +52,7 @@ class DeclarativeBars : public AbstractDeclarative Q_PROPERTY(Q3DValueAxis *valueAxis READ valueAxis WRITE setValueAxis) Q_PROPERTY(Q3DCategoryAxis *columnAxis READ columnAxis WRITE setColumnAxis) Q_PROPERTY(QtDataVisualization::QDataVis::MeshStyle barType READ barType WRITE setBarType NOTIFY meshFileNameChanged) - Q_PROPERTY(qreal barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) + Q_PROPERTY(float barThickness READ barThickness WRITE setBarThickness NOTIFY barThicknessChanged) Q_PROPERTY(QSizeF barSpacing READ barSpacing WRITE setBarSpacing NOTIFY barSpacingChanged) Q_PROPERTY(bool barSpacingRelative READ isBarSpacingRelative WRITE setBarSpacingRelative NOTIFY barSpacingRelativeChanged) Q_PROPERTY(bool barSmoothingEnabled READ isBarSmoothingEnabled WRITE setBarSmoothingEnabled NOTIFY meshFileNameChanged) @@ -73,8 +73,8 @@ public: Q3DCategoryAxis *columnAxis() const; void setColumnAxis(Q3DCategoryAxis *axis); - void setBarThickness(qreal thicknessRatio); - qreal barThickness() const; + void setBarThickness(float thicknessRatio); + float barThickness() const; void setBarSpacing(QSizeF spacing); QSizeF barSpacing() const; @@ -100,7 +100,7 @@ public: Q_INVOKABLE void removeSeries(QBar3DSeries *series); signals: - void barThicknessChanged(qreal thicknessRatio); + void barThicknessChanged(float thicknessRatio); void barSpacingChanged(QSizeF spacing); void barSpacingRelativeChanged(bool relative); void meshFileNameChanged(QString filename); -- cgit v1.2.3