From fd65a86c44513d7f35d149ea9a49fa4b5a136e4a Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 1 Oct 2013 14:31:05 +0300 Subject: Add wonky plane to surface example Change-Id: Ic121097d4dcdc326e3a77e8741d28d22c0583ac4 Reviewed-by: Mika Salmela --- examples/surfacechart/chartmodifier.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'examples/surfacechart/chartmodifier.cpp') 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; } -- cgit v1.2.3