summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--basicsuite/basicsuite.pro4
-rw-r--r--basicsuite/enterprise-qtdatavis3d/description.txt1
-rw-r--r--basicsuite/enterprise-qtdatavis3d/enterprise-qtdatavis3d.pro16
-rw-r--r--basicsuite/enterprise-qtdatavis3d/layer_1.pngbin0 -> 34540 bytes
-rw-r--r--basicsuite/enterprise-qtdatavis3d/layer_2.pngbin0 -> 10553 bytes
-rw-r--r--basicsuite/enterprise-qtdatavis3d/layer_3.pngbin0 -> 13022 bytes
-rw-r--r--basicsuite/enterprise-qtdatavis3d/main.qml233
-rw-r--r--basicsuite/enterprise-qtdatavis3d/preview_l.jpgbin0 -> 30360 bytes
-rw-r--r--basicsuite/enterprise-qtdatavis3d/title.txt1
-rw-r--r--doc/b2qt-demos.qdoc11
-rw-r--r--doc/images/b2qt-demo-enterprise-qtdatavis3d.jpgbin0 -> 30360 bytes
11 files changed, 266 insertions, 0 deletions
diff --git a/basicsuite/basicsuite.pro b/basicsuite/basicsuite.pro
index c098e1f..49d1123 100644
--- a/basicsuite/basicsuite.pro
+++ b/basicsuite/basicsuite.pro
@@ -6,3 +6,7 @@ qtHaveModule(multimedia) {
SUBDIRS += qt5-everywhere \
camera
}
+
+qtHaveModule(datavisualization) {
+ SUBDIRS += enterprise-qtdatavis3d
+}
diff --git a/basicsuite/enterprise-qtdatavis3d/description.txt b/basicsuite/enterprise-qtdatavis3d/description.txt
new file mode 100644
index 0000000..fbec419
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/description.txt
@@ -0,0 +1 @@
+Shows how to make a 3D surface plot, displaying three layers from three different height map images using Surface3D with Qt Quick 2.
diff --git a/basicsuite/enterprise-qtdatavis3d/enterprise-qtdatavis3d.pro b/basicsuite/enterprise-qtdatavis3d/enterprise-qtdatavis3d.pro
new file mode 100644
index 0000000..6f2feac
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/enterprise-qtdatavis3d.pro
@@ -0,0 +1,16 @@
+TARGET = enterprise-qtdatavis3d
+
+include(../shared/shared.pri)
+b2qtdemo_deploy_defaults()
+
+QT += datavisualization
+
+content.files = \
+ *.qml \
+ *.png
+
+content.path = $$DESTPATH
+
+OTHER_FILES += $${content.files}
+
+INSTALLS += target content
diff --git a/basicsuite/enterprise-qtdatavis3d/layer_1.png b/basicsuite/enterprise-qtdatavis3d/layer_1.png
new file mode 100644
index 0000000..9138c71
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/layer_1.png
Binary files differ
diff --git a/basicsuite/enterprise-qtdatavis3d/layer_2.png b/basicsuite/enterprise-qtdatavis3d/layer_2.png
new file mode 100644
index 0000000..61631ae
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/layer_2.png
Binary files differ
diff --git a/basicsuite/enterprise-qtdatavis3d/layer_3.png b/basicsuite/enterprise-qtdatavis3d/layer_3.png
new file mode 100644
index 0000000..796df64
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/layer_3.png
Binary files differ
diff --git a/basicsuite/enterprise-qtdatavis3d/main.qml b/basicsuite/enterprise-qtdatavis3d/main.qml
new file mode 100644
index 0000000..417ade0
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/main.qml
@@ -0,0 +1,233 @@
+/****************************************************************************
+**
+** 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
+**
+****************************************************************************/
+
+import QtQuick 2.1
+import QtQuick.Layouts 1.0
+import QtQuick.Controls 1.0
+import QtDataVisualization 1.0
+import "."
+
+import QtQuick.Enterprise.Controls 1.1
+import QtQuick.Enterprise.Controls.Styles 1.1
+
+Item {
+ id: mainview
+
+ function toPixels(percentage) {
+ return percentage * Math.min(mainview.width, mainview.height);
+ }
+
+ Item {
+ id: surfaceView
+ width: mainview.width - buttonLayout.width
+ height: mainview.height
+ anchors.right: mainview.right;
+
+ ColorGradient {
+ id: layerOneGradient
+ ColorGradientStop { position: 0.0; color: "black" }
+ ColorGradientStop { position: 0.31; color: "tan" }
+ ColorGradientStop { position: 0.32; color: "green" }
+ ColorGradientStop { position: 0.40; color: "darkslategray" }
+ ColorGradientStop { position: 1.0; color: "white" }
+ }
+
+ ColorGradient {
+ id: layerTwoGradient
+ ColorGradientStop { position: 0.315; color: "blue" }
+ ColorGradientStop { position: 0.33; color: "white" }
+ }
+
+ ColorGradient {
+ id: layerThreeGradient
+ ColorGradientStop { position: 0.0; color: "red" }
+ ColorGradientStop { position: 0.15; color: "black" }
+ }
+
+ Surface3D {
+ id: surfaceLayers
+ width: surfaceView.width
+ height: surfaceView.height
+ theme: Theme3D {
+ type: Theme3D.ThemeEbony
+ font.pointSize: 35
+ colorStyle: Theme3D.ColorStyleRangeGradient
+ }
+ shadowQuality: AbstractGraph3D.ShadowQualityNone
+ selectionMode: AbstractGraph3D.SelectionRow | AbstractGraph3D.SelectionSlice
+ scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricLeft
+ axisY.min: 20
+ axisY.max: 200
+ axisX.segmentCount: 5
+ axisX.subSegmentCount: 2
+ axisX.labelFormat: "%i"
+ axisZ.segmentCount: 5
+ axisZ.subSegmentCount: 2
+ axisZ.labelFormat: "%i"
+ axisY.segmentCount: 5
+ axisY.subSegmentCount: 2
+ axisY.labelFormat: "%i"
+
+ Surface3DSeries {
+ id: layerOneSeries
+ baseGradient: layerOneGradient
+ HeightMapSurfaceDataProxy {
+ heightMapFile: "/data/user/qt/enterprise-qtdatavis3d/layer_1.png"
+ }
+ flatShadingEnabled: false
+ drawMode: Surface3DSeries.DrawSurface
+ visible: layerOneToggle.checked // bind to checkbox state
+ }
+
+ Surface3DSeries {
+ id: layerTwoSeries
+ baseGradient: layerTwoGradient
+ HeightMapSurfaceDataProxy {
+ heightMapFile: "/data/user/qt/enterprise-qtdatavis3d/layer_2.png"
+ }
+ flatShadingEnabled: false
+ drawMode: Surface3DSeries.DrawSurface
+ visible: layerTwoToggle.checked // bind to checkbox state
+ }
+
+ Surface3DSeries {
+ id: layerThreeSeries
+ baseGradient: layerThreeGradient
+ HeightMapSurfaceDataProxy {
+ heightMapFile: "/data/user/qt/enterprise-qtdatavis3d/layer_3.png"
+ }
+ flatShadingEnabled: false
+ drawMode: Surface3DSeries.DrawSurface
+ visible: layerThreeToggle.checked // bind to checkbox state
+ }
+ }
+ }
+
+ ColumnLayout {
+ id: buttonLayout
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.bottom: parent.bottom
+ spacing: 0
+
+ GroupBox {
+ //title: "Layer Selection"
+ Layout.fillWidth: true
+ flat: true
+ Column {
+ spacing: 5
+ ToggleButton {
+ id: layerOneToggle
+ text: "Ground\n Layer"
+ checked: true
+ width: toPixels(0.12)
+ height: width
+ }
+
+ ToggleButton {
+ id: layerTwoToggle
+ text: "Sea\n Layer"
+ checked: true
+ width: toPixels(0.12)
+ height: width
+ }
+
+ ToggleButton {
+ id: layerThreeToggle
+ text: "Tectonic\n Layer"
+ checked: true
+ width: toPixels(0.12)
+ height: width
+ }
+ }
+ }
+
+ GroupBox {
+ //title: "Layer Style"
+ Layout.fillWidth: true
+ flat: true
+ Column {
+ spacing: 5
+ ToggleButton {
+ id: layerOneGrid
+ text: "Ground\n as\n Grid"
+ width: toPixels(0.12)
+ height: width
+ onCheckedChanged: {
+ if (checked)
+ layerOneSeries.drawMode = Surface3DSeries.DrawWireframe
+ else
+ layerOneSeries.drawMode = Surface3DSeries.DrawSurface
+ }
+ }
+
+ ToggleButton {
+ id: layerTwoGrid
+ text: "Sea\n as\n Grid"
+ width: toPixels(0.12)
+ height: width
+ onCheckedChanged: {
+ if (checked)
+ layerTwoSeries.drawMode = Surface3DSeries.DrawWireframe
+ else
+ layerTwoSeries.drawMode = Surface3DSeries.DrawSurface
+ }
+ }
+
+ ToggleButton {
+ id: layerThreeGrid
+ text: "Tectonic\n as\n Grid"
+ width: toPixels(0.12)
+ height: width
+ onCheckedChanged: {
+ if (checked)
+ layerThreeSeries.drawMode = Surface3DSeries.DrawWireframe
+ else
+ layerThreeSeries.drawMode = Surface3DSeries.DrawSurface
+ }
+ }
+ }
+ }
+
+ GroupBox {
+ Layout.fillWidth: true
+ flat: true
+ Column {
+ spacing: 5
+ ToggleButton {
+ id: sliceButton
+ text: "Slice\n All\n Layers"
+ width: toPixels(0.12)
+ height: width
+ onClicked: {
+ if (surfaceLayers.selectionMode & AbstractGraph3D.SelectionMultiSeries) {
+ surfaceLayers.selectionMode = AbstractGraph3D.SelectionRow
+ | AbstractGraph3D.SelectionSlice
+ text = "Slice\n All\n Layers"
+ } else {
+ surfaceLayers.selectionMode = AbstractGraph3D.SelectionRow
+ | AbstractGraph3D.SelectionSlice
+ | AbstractGraph3D.SelectionMultiSeries
+ text = "Slice\n One\n Layer"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/basicsuite/enterprise-qtdatavis3d/preview_l.jpg b/basicsuite/enterprise-qtdatavis3d/preview_l.jpg
new file mode 100644
index 0000000..ee3d50d
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/preview_l.jpg
Binary files differ
diff --git a/basicsuite/enterprise-qtdatavis3d/title.txt b/basicsuite/enterprise-qtdatavis3d/title.txt
new file mode 100644
index 0000000..dff1441
--- /dev/null
+++ b/basicsuite/enterprise-qtdatavis3d/title.txt
@@ -0,0 +1 @@
+095. QtDatavisualization 3D - Surface Multiseries Example
diff --git a/doc/b2qt-demos.qdoc b/doc/b2qt-demos.qdoc
index f985d8c..d7498fa 100644
--- a/doc/b2qt-demos.qdoc
+++ b/doc/b2qt-demos.qdoc
@@ -216,6 +216,17 @@
*/
/*!
+ \example enterprise-qtdatavis3d
+ \title Qt Data Visualization
+ \ingroup b2qt-demos
+ \brief An interactive showcase for Qt Data Visualization 3D.
+
+ \image b2qt-demo-enterprise-qtdatavis3d.jpg
+
+ This example demonstrates how to use the Qt Data Visualization module to display 3D data visualizations in QML.
+*/
+
+/*!
\example enterprise-gallery
\title Enterprise Controls Gallery
\ingroup b2qt-demos
diff --git a/doc/images/b2qt-demo-enterprise-qtdatavis3d.jpg b/doc/images/b2qt-demo-enterprise-qtdatavis3d.jpg
new file mode 100644
index 0000000..ee3d50d
--- /dev/null
+++ b/doc/images/b2qt-demo-enterprise-qtdatavis3d.jpg
Binary files differ