diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-01 14:31:05 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-02 07:43:06 +0300 |
commit | fd65a86c44513d7f35d149ea9a49fa4b5a136e4a (patch) | |
tree | 4c7fa153bda0fb81b20942e2ee4494f7b2143d0d | |
parent | 4511fc46caf955a555814b7bc2190908b399e3d4 (diff) |
Add wonky plane to surface example
Change-Id: Ic121097d4dcdc326e3a77e8741d28d22c0583ac4
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
-rw-r--r-- | examples/surfacechart/chartmodifier.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/examples/surfacechart/chartmodifier.cpp b/examples/surfacechart/chartmodifier.cpp index 3b5d56ca..b6b2739d 100644 --- a/examples/surfacechart/chartmodifier.cpp +++ b/examples/surfacechart/chartmodifier.cpp @@ -27,6 +27,7 @@ QT_DATAVISUALIZATION_USE_NAMESPACE //#define JITTER_PLANE +//#define WONKY_PLANE ChartModifier::ChartModifier(Q3DSurface *chart) : m_chart(chart), @@ -132,14 +133,38 @@ void ChartModifier::togglePlane(bool enable) float maxZ = 10.0; float stepX = (maxX - minX) / float(m_xCount - 1); float stepZ = (maxZ - minZ) / float(m_zCount - 1); +#ifdef WONKY_PLANE + float halfZ = m_zCount / 2; + float wonkyFactor = 0.01f; + float maxStepX = 0.0f; + for (float i = 0; i < m_zCount; i++) { + QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount); + if (i < halfZ) { + stepX += wonkyFactor; + maxStepX = stepX; + } else { + stepX -= wonkyFactor; + } + for (float j = 0; j < m_xCount; j++) { + (*newRow)[j].setPosition(QVector3D(j * stepX + minX, -0.04f, + i * stepZ + minZ)); + + } + *m_planeArray << newRow; + } + + resetArrayAndSliders(m_planeArray, minZ, maxZ, minX, m_xCount * maxStepX + minZ); +#else for (float i = 0; i < m_zCount; i++) { QSurfaceDataRow *newRow = new QSurfaceDataRow(m_xCount); for (float j = 0; j < m_xCount; j++) (*newRow)[j].setPosition(QVector3D(j * stepX + minX, -0.04f, i * stepZ + minZ)); + *m_planeArray << newRow; } resetArrayAndSliders(m_planeArray, minZ, maxZ, minX, maxX); +#endif m_activeSample = ChartModifier::Plane; } |