summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-01 11:56:38 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-10-01 11:59:57 +0300
commit148047c90133d19a194fb450a6c619a56c8e6833 (patch)
tree0571969dcda05fe69de9ac418721d67f4b7af1d4 /examples
parent04aad082a33a51b8ab5563fb8ffb996b19e0e4ed (diff)
Position surface selection ball correctly on y-axis
Task-number: QTRD-2354 Change-Id: I219ef7f45a046b3fc9045b2eb704f190e66031b1 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/surfacechart/chartmodifier.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/examples/surfacechart/chartmodifier.cpp b/examples/surfacechart/chartmodifier.cpp
index db242253..3b5d56ca 100644
--- a/examples/surfacechart/chartmodifier.cpp
+++ b/examples/surfacechart/chartmodifier.cpp
@@ -77,27 +77,33 @@ void ChartModifier::toggleSqrtSin(bool enable)
if (enable) {
qDebug() << "Create Sqrt&Sin surface, (" << m_xCount << ", " << m_zCount << ")";
- float stepZ = 16.0f / float(m_zCount);
- float stepX = 16.0f / float(m_xCount);
+ float minX = -10.0;
+ float maxX = 10.0;
+ float minZ = -10.0;
+ float maxZ = 10.0;
+ float stepX = (maxX - minX) / float(m_xCount - 1);
+ float stepZ = (maxZ - minZ) / float(m_zCount - 1);
QSurfaceDataArray *dataArray = new QSurfaceDataArray;
dataArray->reserve(m_zCount);
- for (float i = -8.0f + stepZ / 2.0f ; i < 8.0f ; i += stepZ) {
+ for (float i = 0; i < m_zCount; i++) {
QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount);
- int index = 0;
- for (float j = -8.0f + stepX / 2.0f; j < 8.0f; j += stepX) {
- float R = qSqrt(i * i + j * j) + 0.01f;
- float y = (qSin(R) / R + 0.24f) * 1.61f;
- (*newRow)[index++].setPosition(QVector3D(j, y, i));
+ for (float j = 0; j < m_xCount; j++) {
+ float x = j * stepX + minX;
+ float z = i * stepZ + minZ;
+ float R = qSqrt(x * x + z * z) + 0.01f;
+ float y = (qSin(R) / R + 0.24f) * 1.61f + 1.0f;
+ (*newRow)[j].setPosition(QVector3D(x, y, z));
+ qDebug() << x << y << z;
}
*dataArray << newRow;
}
- m_chart->axisY()->setRange(0.0, 2.0);
+ m_chart->axisY()->setRange(1.0, 3.0);
m_chart->axisX()->setLabelFormat("%.2f");
m_chart->axisZ()->setLabelFormat("%.2f");
- resetArrayAndSliders(dataArray, -8.0, 8.0, -8.0, 8.0);
+ resetArrayAndSliders(dataArray, minZ, maxZ, minX, maxX);
m_activeSample = ChartModifier::SqrtSin;
} else {