From 88cd10aa7b3559b092cf5575b0a17d002dc100ae Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 13 Feb 2014 09:59:52 +0200 Subject: Fix examples installation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Had to add one folder to the examples structure so installation works correctly. Change-Id: Ic92dfe9997413a6243abcf5eeba12744ba9e938c Reviewed-by: Tomi Korpipää --- .../qmlsurface/doc/src/qmlsurface.qdoc | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc (limited to 'examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc') diff --git a/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc b/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc new file mode 100644 index 00000000..00ef03d4 --- /dev/null +++ b/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +/*! + \example qmlsurface + \title Qt Quick 2 Surface Example + \ingroup qtdatavisualization_examples + \brief Using Surface3D in a QML application. + + The Qt Quick 2 surface example shows how to make a simple 3D surface plot using Surface3D with + Qt Quick 2. + + \image qmlsurface-example.png + + The focus in this example is on generating a surface graph from height data, so in this section + we skip explaining the application creation. For more detailed QML example documentation, + see \l{Qt Quick 2 Scatter Example}. + + \section1 Adding data to the graph + + This example shows two methods to set data to surface graph, using the HeightMapSurfaceDataProxy + and ItemModelSurfaceDataProxy. First we go through setting the data using the height map specific + data proxy. It is done with the code snippet below. The proxy itself is contained in a + Surface3DSeries. Inside the HeightMapSurfaceDataProxy the \c heightMapFile specifies the + image file containing the height data. The value properties in the proxy define the minimum + and maximum values for surface area width and depth. This example shows the terrain around Tycho + crater at imaginary position from 67 to 97 and from 30 to 60. Note that on the graph the scale + on the Y dimension exaggerates the height. + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 4 + + The other method to set surface data used in this example is with model mapping. We do that by + first defining a \c ListModel containing the data for the surface: + + \snippet ../examples/qmlsurface/qml/qmlsurface/Data.qml 0 + \dots 4 + + Then we set up a Surface3DSeries with a ItemModelSurfaceDataProxy: + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 5 + \dots + + We add the actual data to the \c itemModel of the ItemModelSurfaceDataProxy. We also define the + roles for columns, rows and values. In this example the row holds values for longitude, column + for latitude and the value is for height. + + \dots 0 + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 6 + + \section1 Showing data + + In the \c main.qml, we set up the Surface3D element to show the data and various UI elements + to illustrate few interesting features. + + First is the gradient to be used for the surface, which can be defined as seen in the following + snippet. With the ColorGradient we set example colors from position 0.0 to 1.0. + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 0 + + This element is set into the \c baseGradients property in the \c theme used in Surface3D: + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 7 + + Other interesting features can be controlled with buttons. + + The first button is to toggle on and off the surface grid, for which we use the following code: + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 1 + + Second button is for surface shading mode, which is controlled with this code: + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 2 + + Third button is for series visibility, which is controlled with this code: + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 8 + + Notice that the \c drawMode and \c flatShadingEnable properties are set for both series. + + Fourth and fifth buttons are for controlling background features. + + The last button is for switching between the two series, one of which uses + HeightMapSurfaceDataProxy and the other one ItemModelSurfaceDataProxy. For this we use the + following code: + + \snippet ../examples/qmlsurface/qml/qmlsurface/main.qml 3 + + We also set the maximum value to 500 in model proxy to make the surface flatter and + 250 on height map proxy to show exaggerated height. At the same time the middle color position + on the gradient is modified to match the value range change. + + \section1 Example contents +*/ -- cgit v1.2.3