summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-13 09:59:52 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-13 10:09:17 +0200
commit88cd10aa7b3559b092cf5575b0a17d002dc100ae (patch)
tree9d6e7efdec49419558bb4ef4a9bc02ae3cb1cfc4 /examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc
parentecabd51692b476567dc42a745f51996ec665b385 (diff)
Fix examples installation
Had to add one folder to the examples structure so installation works correctly. Change-Id: Ic92dfe9997413a6243abcf5eeba12744ba9e938c Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc')
-rw-r--r--examples/datavisualization/qmlsurface/doc/src/qmlsurface.qdoc108
1 files changed, 108 insertions, 0 deletions
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
+*/