summaryrefslogtreecommitdiffstats
path: root/demos
diff options
context:
space:
mode:
Diffstat (limited to 'demos')
-rw-r--r--demos/demos.pro2
-rw-r--r--demos/qt3d/README14
-rw-r--r--demos/qt3d/cubehouse/cube.qrc7
-rw-r--r--demos/qt3d/cubehouse/cubehouse.desktop8
-rw-r--r--demos/qt3d/cubehouse/cubehouse.pro21
-rw-r--r--demos/qt3d/cubehouse/cubehouse.rc1
-rw-r--r--demos/qt3d/cubehouse/cubeview.cpp463
-rw-r--r--demos/qt3d/cubehouse/cubeview.h108
-rw-r--r--demos/qt3d/cubehouse/icon-l-qt3d.pngbin3076 -> 0 bytes
-rw-r--r--demos/qt3d/cubehouse/m5-cubehouse.desktop14
-rw-r--r--demos/qt3d/cubehouse/main.cpp85
-rw-r--r--demos/qt3d/cubehouse/projectivetextureeffect.cpp148
-rw-r--r--demos/qt3d/cubehouse/projectivetextureeffect.h79
-rw-r--r--demos/qt3d/cubehouse/qt3d.icobin54334 -> 0 bytes
-rw-r--r--demos/qt3d/cubehouse/qtlogo.pngbin13923 -> 0 bytes
-rw-r--r--demos/qt3d/cubehouse/shaders/depth.frag50
-rw-r--r--demos/qt3d/cubehouse/shaders/depth.vert75
-rw-r--r--demos/qt3d/cubehouse/shaders/depthTestShader.frag91
-rw-r--r--demos/qt3d/cubehouse/shaders/depthTestShader.vert91
-rw-r--r--demos/qt3d/cubehouse/shaders/objectlineartexgen.frag52
-rw-r--r--demos/qt3d/cubehouse/shaders/objectlineartexgen.vert63
-rw-r--r--demos/qt3d/icon.pngbin3076 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/gradient.pngbin229 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/icon-l-qt3d.pngbin3076 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/m5-pageflip.desktop14
-rw-r--r--demos/qt3d/pageflip/pageflip.cpp475
-rw-r--r--demos/qt3d/pageflip/pageflip.desktop8
-rw-r--r--demos/qt3d/pageflip/pageflip.pro16
-rw-r--r--demos/qt3d/pageflip/pageflip.qrc9
-rw-r--r--demos/qt3d/pageflip/pageflip.rc1
-rw-r--r--demos/qt3d/pageflip/pageflipmath.cpp592
-rw-r--r--demos/qt3d/pageflip/pageflipmath_p.h120
-rw-r--r--demos/qt3d/pageflip/qqpage1.pngbin77887 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/qqpage2.pngbin74710 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/qqpage3.pngbin73043 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/qqpage4.pngbin78092 -> 0 bytes
-rw-r--r--demos/qt3d/pageflip/qt3d.icobin54334 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/buttons.cpp134
-rw-r--r--demos/qt3d/photobrowser3d/buttons.h62
-rw-r--r--demos/qt3d/photobrowser3d/bytereader.cpp156
-rw-r--r--demos/qt3d/photobrowser3d/bytereader.h69
-rw-r--r--demos/qt3d/photobrowser3d/filescanner.cpp125
-rw-r--r--demos/qt3d/photobrowser3d/filescanner.h79
-rw-r--r--demos/qt3d/photobrowser3d/icon-l-qt3d.pngbin3076 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/imagedisplay.cpp224
-rw-r--r--demos/qt3d/photobrowser3d/imagedisplay.h88
-rw-r--r--demos/qt3d/photobrowser3d/imageloader.cpp113
-rw-r--r--demos/qt3d/photobrowser3d/imageloader.h83
-rw-r--r--demos/qt3d/photobrowser3d/imagemanager.cpp133
-rw-r--r--demos/qt3d/photobrowser3d/imagemanager.h78
-rw-r--r--demos/qt3d/photobrowser3d/images/P1000223.JPGbin29760 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/P1000228.JPGbin27685 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/P1000472.JPGbin25850 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/arrows-left.pngbin5303 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/arrows.xcfbin289659 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_base.xcfbin93208 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_down.pngbin249343 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_east.pngbin367747 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_north.pngbin331943 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_south.pngbin407823 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_up.pngbin127393 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/default_sky_west.pngbin362244 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/images/girder.pngbin196973 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/launcher.cpp115
-rw-r--r--demos/qt3d/photobrowser3d/m5-photobrowser3d.desktop14
-rw-r--r--demos/qt3d/photobrowser3d/main.cpp93
-rw-r--r--demos/qt3d/photobrowser3d/pancontroller.cpp244
-rw-r--r--demos/qt3d/photobrowser3d/pancontroller.h92
-rw-r--r--demos/qt3d/photobrowser3d/photobrowser.rc1
-rw-r--r--demos/qt3d/photobrowser3d/photobrowser3d.desktop8
-rw-r--r--demos/qt3d/photobrowser3d/photobrowser3d.pro65
-rw-r--r--demos/qt3d/photobrowser3d/photobrowser3d.qrc23
-rw-r--r--demos/qt3d/photobrowser3d/photobrowser3dview.cpp446
-rw-r--r--demos/qt3d/photobrowser3d/photobrowser3dview.h116
-rw-r--r--demos/qt3d/photobrowser3d/qatlas.cpp188
-rw-r--r--demos/qt3d/photobrowser3d/qatlas.h105
-rw-r--r--demos/qt3d/photobrowser3d/qfocusadaptor.cpp187
-rw-r--r--demos/qt3d/photobrowser3d/qfocusadaptor.h82
-rw-r--r--demos/qt3d/photobrowser3d/qphotobrowser3dscene.cpp58
-rw-r--r--demos/qt3d/photobrowser3d/qphotobrowser3dscene.h62
-rw-r--r--demos/qt3d/photobrowser3d/qt3d.icobin54334 -> 0 bytes
-rw-r--r--demos/qt3d/photobrowser3d/shaders/replace_texture.fsh54
-rw-r--r--demos/qt3d/photobrowser3d/shaders/replace_texture.vsh58
-rw-r--r--demos/qt3d/photobrowser3d/skybox.cpp223
-rw-r--r--demos/qt3d/photobrowser3d/skybox.h72
-rw-r--r--demos/qt3d/photobrowser3d/threadpool.cpp135
-rw-r--r--demos/qt3d/photobrowser3d/threadpool.h81
-rw-r--r--demos/qt3d/photobrowser3d/thumbnailableimage.cpp302
-rw-r--r--demos/qt3d/photobrowser3d/thumbnailableimage.h101
-rw-r--r--demos/qt3d/photobrowser3d/thumbnaileffect.cpp186
-rw-r--r--demos/qt3d/photobrowser3d/thumbnaileffect.h70
-rw-r--r--demos/qt3d/photobrowser3d/thumbnailnode.cpp281
-rw-r--r--demos/qt3d/photobrowser3d/thumbnailnode.h96
-rw-r--r--demos/qt3d/qt3d.pro2
-rw-r--r--demos/qt3d/qt3d.svg10
-rw-r--r--demos/qt3d/shapes/icon-l-qt3d.pngbin3076 -> 0 bytes
-rw-r--r--demos/qt3d/shapes/m5-shapes.desktop14
-rw-r--r--demos/qt3d/shapes/qt3d.icobin54334 -> 0 bytes
-rw-r--r--demos/qt3d/shapes/shapes.cpp520
-rw-r--r--demos/qt3d/shapes/shapes.desktop8
-rw-r--r--demos/qt3d/shapes/shapes.pro14
-rw-r--r--demos/qt3d/shapes/shapes.rc1
-rw-r--r--demos/qt3d/teaservice/README7
-rw-r--r--demos/qt3d/teaservice/icon-l-qt3d.pngbin3076 -> 0 bytes
-rw-r--r--demos/qt3d/teaservice/m5-teaservice.desktop14
-rw-r--r--demos/qt3d/teaservice/meshobject.cpp155
-rw-r--r--demos/qt3d/teaservice/meshobject.h117
-rw-r--r--demos/qt3d/teaservice/per_pixel_lighting.fsh112
-rw-r--r--demos/qt3d/teaservice/per_pixel_lighting.vsh96
-rw-r--r--demos/qt3d/teaservice/perpixeleffect.cpp52
-rw-r--r--demos/qt3d/teaservice/perpixeleffect.h58
-rw-r--r--demos/qt3d/teaservice/qt3d.icobin54334 -> 0 bytes
-rw-r--r--demos/qt3d/teaservice/sceneobject.cpp72
-rw-r--r--demos/qt3d/teaservice/sceneobject.h63
-rw-r--r--demos/qt3d/teaservice/teacup.txt280
-rw-r--r--demos/qt3d/teaservice/teaservice.cpp394
-rw-r--r--demos/qt3d/teaservice/teaservice.desktop8
-rw-r--r--demos/qt3d/teaservice/teaservice.pro19
-rw-r--r--demos/qt3d/teaservice/teaservice.qrc8
-rw-r--r--demos/qt3d/teaservice/teaservice.rc1
-rw-r--r--demos/qt3d/teaservice/teaspoon.txt275
-rw-r--r--demos/quick3d/flickr3d/flickr3d.pro19
-rw-r--r--demos/quick3d/flickr3d/flickr3d.qmlproject16
-rw-r--r--demos/quick3d/flickr3d/flickr3d.rc1
-rw-r--r--demos/quick3d/flickr3d/info.json16
-rw-r--r--demos/quick3d/flickr3d/m5-robo_bounce.desktop14
-rw-r--r--demos/quick3d/flickr3d/main.cpp44
-rw-r--r--demos/quick3d/flickr3d/mt.qml53
-rw-r--r--demos/quick3d/flickr3d/qml/Flickr3d.qml75
-rw-r--r--demos/quick3d/flickr3d/qml/desktop.qml53
-rw-r--r--demos/quick3d/flickr3d/qml/skybox/default_sky_down.pngbin249343 -> 0 bytes
-rw-r--r--demos/quick3d/flickr3d/qml/skybox/default_sky_east.pngbin367747 -> 0 bytes
-rw-r--r--demos/quick3d/flickr3d/qml/skybox/default_sky_north.pngbin331943 -> 0 bytes
-rw-r--r--demos/quick3d/flickr3d/qml/skybox/default_sky_south.pngbin407823 -> 0 bytes
-rw-r--r--demos/quick3d/flickr3d/qml/skybox/default_sky_up.pngbin127393 -> 0 bytes
-rw-r--r--demos/quick3d/flickr3d/qml/skybox/default_sky_west.pngbin362244 -> 0 bytes
-rw-r--r--demos/quick3d/icon.pngbin6565 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/icon-l-qtquick3d.pngbin6565 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/info.json16
-rw-r--r--demos/quick3d/model_viewer/m5-model_viewer.desktop14
-rw-r--r--demos/quick3d/model_viewer/main.cpp44
-rw-r--r--demos/quick3d/model_viewer/model_viewer.desktop8
-rw-r--r--demos/quick3d/model_viewer/model_viewer.pro18
-rw-r--r--demos/quick3d/model_viewer/model_viewer.qmlproject16
-rw-r--r--demos/quick3d/model_viewer/model_viewer.rc1
-rw-r--r--demos/quick3d/model_viewer/mt.qml53
-rw-r--r--demos/quick3d/model_viewer/qml/FourButtons.qml75
-rw-r--r--demos/quick3d/model_viewer/qml/LongButton.qml70
-rw-r--r--demos/quick3d/model_viewer/qml/MainButton.qml67
-rw-r--r--demos/quick3d/model_viewer/qml/ModelViewer.qml273
-rw-r--r--demos/quick3d/model_viewer/qml/ShortButton.qml72
-rw-r--r--demos/quick3d/model_viewer/qml/desktop.qml53
-rw-r--r--demos/quick3d/model_viewer/qml/images/arrow.pngbin1338 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/qml/images/arrow.svg74
-rw-r--r--demos/quick3d/model_viewer/qml/images/cog.svg127
-rw-r--r--demos/quick3d/model_viewer/qml/images/cog2.svg126
-rw-r--r--demos/quick3d/model_viewer/qml/images/knob.pngbin1888 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/qml/images/knob.svg867
-rw-r--r--demos/quick3d/model_viewer/qml/images/test.svg136
-rw-r--r--demos/quick3d/model_viewer/qml/images/zoomin.pngbin4970 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/qml/images/zoomin.svg74
-rw-r--r--demos/quick3d/model_viewer/qml/images/zoomout.pngbin4798 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/qml/images/zoomout.svg169
-rw-r--r--demos/quick3d/model_viewer/qml/meshes/monkey.3dsbin13886 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/qml/meshes/penguin.3dsbin36301 -> 0 bytes
-rw-r--r--demos/quick3d/model_viewer/qtquick3d.icobin51262 -> 0 bytes
-rw-r--r--demos/quick3d/qmlres.h150
-rw-r--r--demos/quick3d/qtquick3d.svg12
-rw-r--r--demos/quick3d/quick3d.pro2
-rw-r--r--demos/quick3d/robo_bounce/icon-l-qtquick3d.pngbin6565 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/info.json16
-rw-r--r--demos/quick3d/robo_bounce/m5-robo_bounce.desktop14
-rw-r--r--demos/quick3d/robo_bounce/main.cpp44
-rw-r--r--demos/quick3d/robo_bounce/mt.qml53
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/QML3DSign.pngbin105968 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/button.pngbin726 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/calculatorSign.pngbin154325 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/cubeButton.pngbin1470 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/hazard.pngbin64685 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/infobutton.pngbin2252 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/qtlogo.pngbin48309 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/roboInfo.pngbin19189 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/roboticArms.3dsbin68300 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/roboticBody.3dsbin76250 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/roboticHead.3dsbin47828 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/rotateButton2.pngbin1804 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/sQt3D_logo.pngbin76681 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Assets/tronscape.pngbin311759 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/Calculator.qml187
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Button.qml97
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Display.qml68
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/calculator.js91
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-.pngbin1288 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-blue.pngbin1565 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-green.pngbin1543 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-purple.pngbin1566 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-red.pngbin1586 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/display.pngbin998 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/qmldir2
-rw-r--r--demos/quick3d/robo_bounce/qml/RoboBounce.qml612
-rw-r--r--demos/quick3d/robo_bounce/qml/RobotCore/PushButton.qml70
-rw-r--r--demos/quick3d/robo_bounce/qml/RobotCore/QMLPanels.qml103
-rw-r--r--demos/quick3d/robo_bounce/qml/RobotCore/Robot.qml52
-rw-r--r--demos/quick3d/robo_bounce/qml/RobotCore/TronCube.qml51
-rw-r--r--demos/quick3d/robo_bounce/qml/desktop.qml53
-rw-r--r--demos/quick3d/robo_bounce/qtquick3d.icobin51262 -> 0 bytes
-rw-r--r--demos/quick3d/robo_bounce/robo_bounce.desktop8
-rw-r--r--demos/quick3d/robo_bounce/robo_bounce.pro21
-rw-r--r--demos/quick3d/robo_bounce/robo_bounce.qmlproject16
-rw-r--r--demos/quick3d/robo_bounce/robo_bounce.qrc35
-rw-r--r--demos/quick3d/robo_bounce/robo_bounce.rc1
-rw-r--r--demos/quick3d/tea_service/icon-l-qtquick3d.pngbin6565 -> 0 bytes
-rw-r--r--demos/quick3d/tea_service/info.json16
-rw-r--r--demos/quick3d/tea_service/m5-tea_service.desktop14
-rw-r--r--demos/quick3d/tea_service/main.cpp44
-rw-r--r--demos/quick3d/tea_service/mt.qml53
-rw-r--r--demos/quick3d/tea_service/qml/TeaService.qml384
-rw-r--r--demos/quick3d/tea_service/qml/Teacup.qml69
-rw-r--r--demos/quick3d/tea_service/qml/Teaspoon.qml73
-rw-r--r--demos/quick3d/tea_service/qml/desktop.qml53
-rw-r--r--demos/quick3d/tea_service/qml/teacup.bez280
-rw-r--r--demos/quick3d/tea_service/qml/teapot-body.bez332
-rw-r--r--demos/quick3d/tea_service/qml/teapot-handle.bez312
-rw-r--r--demos/quick3d/tea_service/qml/teapot-spout.bez312
-rw-r--r--demos/quick3d/tea_service/qml/teaservice.qmlproject16
-rw-r--r--demos/quick3d/tea_service/qml/teaspoon.bez275
-rw-r--r--demos/quick3d/tea_service/qtquick3d.icobin51262 -> 0 bytes
-rw-r--r--demos/quick3d/tea_service/tea_service.desktop8
-rw-r--r--demos/quick3d/tea_service/tea_service.pro18
-rw-r--r--demos/quick3d/tea_service/tea_service.qmlproject16
-rw-r--r--demos/quick3d/tea_service/tea_service.rc1
231 files changed, 0 insertions, 16487 deletions
diff --git a/demos/demos.pro b/demos/demos.pro
deleted file mode 100644
index c5663106..00000000
--- a/demos/demos.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = quick3d qt3d
diff --git a/demos/qt3d/README b/demos/qt3d/README
deleted file mode 100644
index 9188d92d..00000000
--- a/demos/qt3d/README
+++ /dev/null
@@ -1,14 +0,0 @@
-This directory contains demos for the Qt3D C++ API.
-
-Qt3D can be used to extend Qt Quick3D with custom 3D items. Qt3D is also
-a general 3D toolkit, featuring a scenegraph API, support for OpenGL VBO's
-and other utilities for general 3D programming.
-
-Research work on Qt3D also continues in the labs repository:
-
- http://qt.gitorious.org/qt-labs/qt3d
-
-...and is from time to time ported into Qt Quick3D.
-
-Check the labs version of Qt3D for additional cutting edge features such as
-support for stereoscopic hardware.
diff --git a/demos/qt3d/cubehouse/cube.qrc b/demos/qt3d/cubehouse/cube.qrc
deleted file mode 100644
index 9de1d255..00000000
--- a/demos/qt3d/cubehouse/cube.qrc
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>qtlogo.png</file>
- <file>shaders/objectlineartexgen.frag</file>
- <file>shaders/objectlineartexgen.vert</file>
-</qresource>
-</RCC>
diff --git a/demos/qt3d/cubehouse/cubehouse.desktop b/demos/qt3d/cubehouse/cubehouse.desktop
deleted file mode 100644
index 1a530fa2..00000000
--- a/demos/qt3d/cubehouse/cubehouse.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=CubeHouse
-Icon=icon-l-qt3d
-Exec=/usr/bin/cubehouse -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_cubehouse
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/qt3d/cubehouse/cubehouse.pro b/demos/qt3d/cubehouse/cubehouse.pro
deleted file mode 100644
index 46eda3d2..00000000
--- a/demos/qt3d/cubehouse/cubehouse.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = app
-TARGET = cubehouse
-CONFIG += qt warn_on
-QT += widgets qt3d
-
-CONFIG += qt3d_deploy_pkg
-include(../../../pkg.pri)
-
-SOURCES = cubeview.cpp main.cpp projectivetextureeffect.cpp
-HEADERS = cubeview.h projectivetextureeffect.h
-win32:DEFINES+=_CRT_SECURE_NO_WARNINGS
-RESOURCES = cube.qrc
-
-OTHER_FILES += \
- shaders/objectlineartexgen.frag \
- shaders/objectlineartexgen.vert
-
-OTHER_FILES += \
- cubehouse.rc
-
-RC_FILE = cubehouse.rc
diff --git a/demos/qt3d/cubehouse/cubehouse.rc b/demos/qt3d/cubehouse/cubehouse.rc
deleted file mode 100644
index b40ecdc1..00000000
--- a/demos/qt3d/cubehouse/cubehouse.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qt3d.ico"
diff --git a/demos/qt3d/cubehouse/cubeview.cpp b/demos/qt3d/cubehouse/cubeview.cpp
deleted file mode 100644
index 492ceae8..00000000
--- a/demos/qt3d/cubehouse/cubeview.cpp
+++ /dev/null
@@ -1,463 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "cubeview.h"
-#include "qglcube.h"
-#include "qglteapot.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qtimer.h>
-#include <QtCore/qpropertyanimation.h>
-#include <stdio.h>
-#include <qmath.h>
-#include "projectivetextureeffect.h"
-
-//#define PROJECTOR_CAMERA_DEBUG_MARKERS
-
-
-CubeView::CubeView(QWindow *parent)
- : QGLView(parent), scene(0), cube(0), teapot(0), room(0),
- sensitivity(0.1f),
- lightParameters(0),
- showFrameRate(false),
- stereo(false),
- useProjectiveTextureEffect(false),
- cangle(0.0f),
- prevX(0),
- prevY(0),
- prevZ(0),
- havePrev(false),
- projectiveTextureEffect(0)
-{
- setOption(CameraNavigation, false);
-
- roomCamera = new QGLCamera(this);
- roomCamera->setAdjustForAspectRatio(false);
-
- QPropertyAnimation *animation;
-
- animation = new QPropertyAnimation(this, "cubeAngle", this);
- animation->setStartValue(0.0f);
- animation->setEndValue(360.0f);
- animation->setDuration(5000);
- animation->setLoopCount(-1);
- animation->start();
-
- time.start();
-}
-
-void CubeView::initializeGL(QGLPainter *painter)
-{
- QGLBuilder builder;
- builder << QGL::Faceted << QGLCube(1.0f);
- cube = builder.currentNode();
- builder << QGL::Faceted;
- room = builder.currentNode();
- builder.pushNode();
- QGLSceneNode *back = builder.newNode();
- {
- QGeometryData quad;
- quad.appendVertex(QVector3D(-3.0f, -3.0f, -15.0f));
- quad.appendVertex(QVector3D( 3.0f, -3.0f, -15.0f));
- quad.appendVertex(QVector3D( 3.0f, 3.0f, -15.0f));
- quad.appendVertex(QVector3D(-3.0f, 3.0f, -15.0f));
- builder.addQuads(quad);
- }
- QGLSceneNode *left = builder.newNode();
- {
- QGeometryData quad;
- quad.appendVertex(QVector3D(-3.0f, -3.0f, -15.0f));
- quad.appendVertex(QVector3D(-3.0f, 3.0f, -15.0f));
- quad.appendVertex(QVector3D(-3.0f, 3.0f, 0.0f));
- quad.appendVertex(QVector3D(-3.0f, -3.0f, 0.0f));
- builder.addQuads(quad);
- }
- QGLSceneNode *right = builder.newNode();
- {
- QGeometryData quad;
- quad.appendVertex(QVector3D(3.0f, 3.0f, -15.0f));
- quad.appendVertex(QVector3D(3.0f, -3.0f, -15.0f));
- quad.appendVertex(QVector3D(3.0f, -3.0f, 0.0f));
- quad.appendVertex(QVector3D(3.0f, 3.0f, 0.0f));
- builder.addQuads(quad);
- }
- QGLSceneNode *top = builder.newNode();
- {
- QGeometryData quad;
- quad.appendVertex(QVector3D(-3.0f, 3.0f, -15.0f));
- quad.appendVertex(QVector3D( 3.0f, 3.0f, -15.0f));
- quad.appendVertex(QVector3D( 3.0f, 3.0f, 0.0f));
- quad.appendVertex(QVector3D(-3.0f, 3.0f, 0.0f));
- builder.addQuads(quad);
- }
- QGLSceneNode *bottom = builder.newNode();
- {
- QGeometryData quad;
- quad.appendVertex(QVector3D(-3.0f, -3.0f, -15.0f));
- quad.appendVertex(QVector3D(-3.0f, -3.0f, 0.0f));
- quad.appendVertex(QVector3D( 3.0f, -3.0f, 0.0f));
- quad.appendVertex(QVector3D( 3.0f, -3.0f, -15.0f));
- builder.addQuads(quad);
- }
- builder.popNode();
-
- int index;
- QGLMaterialCollection *palette = builder.sceneNode()->palette();
-
- QGLMaterial *mat1 = new QGLMaterial();
- mat1->setDiffuseColor(QColor(128, 100, 0));
- index = palette->addMaterial(mat1);
- back->setMaterialIndex(index);
-
- QGLMaterial *mat2 = new QGLMaterial();
- mat2->setDiffuseColor(Qt::cyan);
- index = palette->addMaterial(mat2);
- left->setMaterialIndex(index);
- right->setMaterialIndex(index);
-
- QGLMaterial *mat3 = new QGLMaterial();
- mat3->setDiffuseColor(Qt::yellow);
- index = palette->addMaterial(mat3);
- top->setMaterialIndex(index);
- bottom->setMaterialIndex(index);
-
- //qDumpScene(room);
-
- builder.newSection();
- builder << QGLTeapot();
- teapot = builder.currentNode();
- QGLMaterial *china = new QGLMaterial();
- china->setAmbientColor(QColor(192, 150, 128));
- china->setSpecularColor(QColor(60, 60, 60));
- china->setShininess(128);
- teapot->setMaterial(china);
-
- scene = builder.finalizedSceneNode();
- scene->setParent(this);
-
- roomModel = new QGLLightModel(this);
- roomModel->setAmbientSceneColor(Qt::white);
- roomModel->setViewerPosition(QGLLightModel::LocalViewer);
-
- normalModel = new QGLLightModel(this);
-
- lightParameters = new QGLLightParameters(this);
- lightParameters->setPosition(QVector3D(0.0f, 0.0f, 3.0f));
- painter->setMainLight(lightParameters);
-
- QImage textureImage(QLatin1String(":/qtlogo.png"));
- texture.setImage(textureImage);
-
- if (stereo) {
- camera()->setEyeSeparation(0.4f);
- roomCamera->setEyeSeparation(0.1f);
- }
-
- if (useProjectiveTextureEffect)
- {
- // initialize the projector camera
- projectorCamera = new QGLCamera(this);
- projectiveTextureEffect = new ProjectiveTextureEffect;
- connect(projectorCamera, SIGNAL(viewChanged()),
- this, SLOT(updateProjectorViewMatrix()));
- connect(projectorCamera, SIGNAL(projectionChanged()),
- this, SLOT(updateProjectorProjectionMatrix()));
- }
-}
-
-void CubeView::paintGL(QGLPainter *painter)
-{
- if (showFrameRate)
- qWarning("time since last frame: %d ms", time.restart());
-
- glDisable(GL_BLEND);
-
- // Animate the projector position so the effect can be seen
- if (useProjectiveTextureEffect)
- {
- projectorCamera->tiltPanRollCenter
- (-0.1f, -0.3f, 0.0f, QGLCamera::PanTiltRoll);
- }
-
- painter->modelViewMatrix().push();
- painter->projectionMatrix().push();
-
- painter->setStandardEffect(QGL::LitMaterial);
- painter->setCamera(roomCamera);
- painter->setLightModel(roomModel);
- room->draw(painter);
-
- painter->modelViewMatrix().pop();
- painter->projectionMatrix().pop();
-
- painter->modelViewMatrix().push();
- // These are the model transformations
- painter->modelViewMatrix().translate(-0.8f, -1.5f, -3.0f);
- painter->setLightModel(normalModel);
- if (useProjectiveTextureEffect)
- {
- modelMatrix.push();
- // For an effect that looks like we have only one projector
- // Over the whole screen, we duplicate transformations into the
- // projector's model matrix. For now, we don't apply the transform
- // to center the effect on each object and see it more clearly.
- // modelMatrix.translate(-0.8f, -1.5f, -3.0f);
-
- updateProjectiveTextureEffect();
-
- painter->setUserEffect(projectiveTextureEffect);
- texture.bind();
- }
- else
- {
- painter->setStandardEffect(QGL::LitMaterial);
- }
- teapot->draw(painter);
-
- if (useProjectiveTextureEffect)
- modelMatrix.pop();
- painter->modelViewMatrix().pop();
-
-
- // These are the model transformations
- painter->modelViewMatrix().push();
- painter->modelViewMatrix().translate(1.0f, -0.5f, 0.0f);
- painter->modelViewMatrix().rotate(cangle, 1.0f, 1.0f, 1.0f);
-
- texture.bind();
- if (useProjectiveTextureEffect)
- {
- modelMatrix.push();
- // For an effect that looks like we have only one projector
- // Over the whole screen, we duplicate transformations into the
- // projector's model matrix. For now, we don't apply the transform
- // to center the effect on each object and see it more clearly.
-// modelMatrix.translate(1.0f, -0.5f, 0.0f);
- modelMatrix.rotate(cangle, 1.0f, 1.0f, 1.0f);
- updateProjectiveTextureEffect();
- painter->setUserEffect(projectiveTextureEffect);
-// painter->setStandardEffect(QGL::FlatDecalTexture2D);
- cube->draw(painter);
- modelMatrix.pop();
- }
- else
- {
- glEnable(GL_BLEND);
- painter->setStandardEffect(QGL::LitDecalTexture2D);
- painter->setFaceColor(QGL::AllFaces, QColor(170, 202, 0, 120));
- glDisable(GL_DEPTH_TEST);
- glCullFace(GL_FRONT);
- glEnable(GL_CULL_FACE);
- cube->draw(painter);
- glCullFace(GL_BACK);
- cube->draw(painter);
- glDisable(GL_CULL_FACE);
- glEnable(GL_DEPTH_TEST);
- glBindTexture(GL_TEXTURE_2D, 0);
- }
-
- painter->modelViewMatrix().pop();
-#ifdef PROJECTOR_CAMERA_DEBUG_MARKERS
- if (useProjectiveTextureEffect)
- {
-
- painter->modelViewMatrix().push();
- modelMatrix.push();
- painter->modelViewMatrix().translate(projectorCamera->eye());
- painter->modelViewMatrix().scale(0.2);
- painter->setStandardEffect(QGL::LitMaterial);
- modelMatrix.translate(projectorCamera->eye());
- cube->draw(painter);
-
- modelMatrix.pop();
- painter->modelViewMatrix().pop();
-
- painter->modelViewMatrix().push();
- modelMatrix.push();
- painter->modelViewMatrix().translate(projectorCamera->center());
- painter->modelViewMatrix().scale(0.1);
- painter->setStandardEffect(QGL::LitMaterial);
- cube->draw(painter);
- modelMatrix.pop();
- painter->modelViewMatrix().pop();
-
- QVector3DArray verts;
-
- QVector3D origin = projectorCamera->eye();
-
- QVector3D target = projectorCamera->center();
- QVector3D direction = projectorCamera->center() - projectorCamera->eye();
-
- QVector3D normal = projectorCamera->upVector().normalized();
- qreal nearPlane = projectorCamera->nearPlane();
- qreal farPlane = projectorCamera->farPlane();
- qreal fieldOfView = projectorCamera->fieldOfView();
-
- QVector3D nearTopLeft;
- QVector3D nearTopRight;
- QVector3D nearBottomLeft;
- QVector3D nearBottomRight;
- QVector3D farTopLeft;
- QVector3D farTopRight;
- QVector3D farBottomLeft;
- QVector3D farBottomRight;
-
- QSizeF viewSize = projectorCamera->viewSize();
-
- qreal fieldDepthRatio = farPlane / nearPlane;
-
- QVector3D rightVector = QVector3D::crossProduct(direction, normal).normalized() * viewSize.width() / 2.0;
- QVector3D topVector = normal * viewSize.height() / 2.0;
-
- QVector3D topLeftVector = direction + topVector - rightVector;
- QVector3D topRightVector = direction + topVector + rightVector;
- QVector3D bottomLeftVector = direction - topVector - rightVector;
- QVector3D bottomRightVector = direction - topVector + rightVector;
-
- verts.append(origin, origin + (direction * (farPlane / direction.length())));
-
- verts.append(origin, origin + (topLeftVector * fieldDepthRatio));
- verts.append(origin, origin + (topRightVector * fieldDepthRatio));
- verts.append(origin, origin + (bottomLeftVector * fieldDepthRatio));
- verts.append(origin, origin + (bottomRightVector * fieldDepthRatio));
-
- verts.append(origin + topLeftVector, origin + topRightVector);
- verts.append(origin + topRightVector, origin + bottomRightVector);
- verts.append(origin + bottomRightVector, origin + bottomLeftVector);
- verts.append(origin + bottomLeftVector, origin + topLeftVector);
-
- verts.append(origin + (topLeftVector * fieldDepthRatio),
- (origin + topRightVector * fieldDepthRatio));
- verts.append(origin + (topRightVector * fieldDepthRatio),
- (origin + bottomRightVector * fieldDepthRatio));
- verts.append(origin + (bottomRightVector * fieldDepthRatio),
- (origin + bottomLeftVector * fieldDepthRatio));
- verts.append(origin + (bottomLeftVector * fieldDepthRatio),
- (origin + topLeftVector * fieldDepthRatio));
-
- verts.append(origin, origin + normal);
-
- painter->modelViewMatrix().push();
- painter->setStandardEffect(QGL::FlatColor);
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, QGLAttributeValue(verts));
- glLineWidth(1.0f);
-
- painter->setColor(QColor(255,255,255,255));
- painter->draw(QGL::Lines, verts.size());
- painter->modelViewMatrix().pop();
- }
-#endif
-}
-
-//inline void CubeView::setProjectiveTextureEffect(bool value)
-//{
-// useProjectiveTextureEffect = value;
-//}
-
-void CubeView::setCubeAngle(qreal angle)
-{
- cangle = angle;
- accelerometerTimeout();
- update();
-}
-
-void CubeView::accelerometerTimeout()
-{
- QVector3D g = gravity();
- camera()->setMotionAdjustment(g);
- roomCamera->setMotionAdjustment(g);
-}
-
-QVector3D CubeView::gravity() const
-{
- // Access the raw accelerometer data on the N900.
- FILE *file = fopen("/sys/class/i2c-adapter/i2c-3/3-001d/coord", "r");
- if (!file)
- return QVector3D(0, 0, -1);
- float x = 0;
- float y = 0;
- float z = 0;
- int numValues = fscanf(file, "%f %f %f", &x, &y, &z);
- fclose(file);
-
- if (numValues!=3)
- qWarning("i2c adaptor returned less then 3 values on fscanf.");
-
- // Smooth out the reported values. Large changes are applied as-is,
- // and small jitters smooth to the rest position.
- if (havePrev) {
- qreal xdiff = x - prevX;
- qreal ydiff = y - prevY;
- qreal zdiff = z - prevZ;
- if (qAbs(xdiff) < 20.0f && qAbs(ydiff) < 20.0f && qAbs(zdiff) < 20.0f) {
- x = prevX + xdiff * 0.1f;
- y = prevY + ydiff * 0.1f;
- z = prevZ + zdiff * 0.1f;
- }
- }
- prevX = x;
- prevY = y;
- prevZ = z;
- havePrev = true;
-
- return QVector3D((x / 1000.0f) * sensitivity,
- (-y / 1000.0f) * sensitivity, -z / 1000.0f);
-}
-
-void CubeView::updateProjectorViewMatrix()
-{
- Q_ASSERT_X(projectorCamera != 0, Q_FUNC_INFO, "Null projector camera in updateProjectorViewMatrix()");
- projectiveTextureEffect->setProjectorViewMatrix(projectorCamera->modelViewMatrix());
- updateProjectiveTextureEffect();
-}
-
-void CubeView::updateProjectorProjectionMatrix()
-{
- qreal projectorAspectRatio = 1.0;
- projectiveTextureEffect->setProjectorProjectionMatrix(projectorCamera->projectionMatrix(projectorAspectRatio));
- updateProjectiveTextureEffect();
-}
-
-void CubeView::updateProjectiveTextureEffect()
-{
- projectiveTextureEffect->setProjectorDirection(projectorCamera->center() - projectorCamera->eye());
- projectiveTextureEffect->setModelMatrix(modelMatrix);
-}
diff --git a/demos/qt3d/cubehouse/cubeview.h b/demos/qt3d/cubehouse/cubeview.h
deleted file mode 100644
index d6f5fb1f..00000000
--- a/demos/qt3d/cubehouse/cubeview.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CUBEVIEW_H
-#define CUBEVIEW_H
-
-#include "qglview.h"
-#include "qglbuilder.h"
-#include "qgltexture2d.h"
-#include <QtCore/qdatetime.h>
-
-class ProjectiveTextureEffect;
-
-class CubeView : public QGLView
-{
- Q_OBJECT
- Q_PROPERTY(qreal cubeAngle READ cubeAngle WRITE setCubeAngle)
-public:
- CubeView(QWindow *parent = 0);
- ~CubeView() {}
-
- void setShowFrameRate(bool value) { showFrameRate = value; }
- void setStereo(bool value) { stereo = value; }
- void setProjectiveTextureEffect(bool value)
-{
- useProjectiveTextureEffect = value;
-}
-
- qreal cubeAngle() const { return cangle; }
- void setCubeAngle(qreal angle);
-
-protected:
- void initializeGL(QGLPainter *painter);
- void paintGL(QGLPainter *painter);
-
-private slots:
- void accelerometerTimeout();
- void updateProjectorViewMatrix();
- void updateProjectorProjectionMatrix();
- void updateProjectiveTextureEffect();
-
-private:
- QGLTexture2D texture;
- QGLSceneNode *scene;
- QGLSceneNode *cube;
- QGLSceneNode *teapot;
- QGLSceneNode *room;
- QGLCamera *roomCamera;
- QGLCamera *projectorCamera;
- qreal sensitivity;
- QGLLightModel *roomModel;
- QGLLightModel *normalModel;
- QGLLightParameters *lightParameters;
- bool showFrameRate;
- bool stereo;
- bool useProjectiveTextureEffect;
- QTime time;
- qreal cangle;
- mutable qreal prevX, prevY, prevZ;
- mutable bool havePrev;
-
- QVector3D gravity() const;
-
- ProjectiveTextureEffect* projectiveTextureEffect;
- QMatrix4x4 biasMatrix;
- QMatrix4x4Stack modelMatrix;
- QMatrix4x4 objectLinearTexgenMatrix;
-};
-
-#endif
diff --git a/demos/qt3d/cubehouse/icon-l-qt3d.png b/demos/qt3d/cubehouse/icon-l-qt3d.png
deleted file mode 100644
index 07cc4092..00000000
--- a/demos/qt3d/cubehouse/icon-l-qt3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/cubehouse/m5-cubehouse.desktop b/demos/qt3d/cubehouse/m5-cubehouse.desktop
deleted file mode 100644
index 9b1bd54a..00000000
--- a/demos/qt3d/cubehouse/m5-cubehouse.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=CubeHouse
-Comment=Qt3D example application
-Exec=/usr/bin/cubehouse -fullscreen
-Icon=icon-l-qt3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/qt3d/cubehouse/main.cpp b/demos/qt3d/cubehouse/main.cpp
deleted file mode 100644
index 6cf02e22..00000000
--- a/demos/qt3d/cubehouse/main.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include "cubeview.h"
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- CubeView view;
-
- QStringList args = QCoreApplication::arguments();
- if (args.contains(QLatin1String("-framerate")))
- view.setShowFrameRate(true);
- if (args.contains(QLatin1String("-projectivetexture")))
- view.setProjectiveTextureEffect(true);
- if (args.contains(QLatin1String("-stereo")))
- view.setStereo(true);
- else if (view.stereoType() != QGLView::RedCyanAnaglyph)
- view.setStereo(true);
-
- int w_pos = args.indexOf(QLatin1String("-width"));
- int h_pos = args.indexOf(QLatin1String("-height"));
- if (w_pos >= 0 && h_pos >= 0)
- {
- bool ok = true;
- int w = args.at(w_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse width argument:" << args;
- return 1;
- }
- int h = args.at(h_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse height argument:" << args;
- return 1;
- }
- view.resize(w, h);
- }
- else
- {
- view.resize(800, 600);
- }
- view.show();
- return app.exec();
-}
diff --git a/demos/qt3d/cubehouse/projectivetextureeffect.cpp b/demos/qt3d/cubehouse/projectivetextureeffect.cpp
deleted file mode 100644
index 4a88dd37..00000000
--- a/demos/qt3d/cubehouse/projectivetextureeffect.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QFile>
-#include "projectivetextureeffect.h"
-#include <QtOpenGL/qglshaderprogram.h>
-
-static const QMatrix4x4 biasMatrix = QMatrix4x4(0.5, 0.0, 0.0, 0.5,
- 0.0, 0.5, 0.0, 0.5,
- 0.0, 0.0, 0.5, 0.5,
- 0.0, 0.0, 0.0, 1.0);
-
-/*!
- The ProjectiveTextureEffect mimics the effect of shining a projector onto
- a scene from a specific direction. Vertex coordinates in object space are
- transformed into eye-space coordinates relative to the light direction,
- using the objectLinearTexgenMatrix.
-*/
-ProjectiveTextureEffect::ProjectiveTextureEffect() :
- matrixDirty(true)
-{
- setupShaders();
-}
-
-void ProjectiveTextureEffect::setActive(QGLPainter *painter, bool flag)
-{
- QGLShaderProgramEffect::setActive(painter, flag);
-}
-
-void ProjectiveTextureEffect::update(QGLPainter *painter, QGLPainter::Updates updates)
-{
- QGLShaderProgramEffect::update(painter, updates);
-
- if (matrixDirty)
- {
- recalulateObjectLinearTexgenMatrix();
- matrixDirty = false;
- }
-
- program()->setUniformValue("objectLinearTexgenMatrix",
- objectLinearTexgenMatrix);
- program()->setUniformValue("projectorDirection",
- projectorDirection);
-}
-
-void ProjectiveTextureEffect::setProjectorDirection(const QVector4D &direction)
-{
- this->projectorDirection = direction;
- matrixDirty = true;
-}
-
-void ProjectiveTextureEffect::setCameraModelViewMatrix(const QMatrix4x4 &newCameraModelViewMatrix)
-{
- cameraModelViewMatrix = newCameraModelViewMatrix;
- bool invertible;
- inverseCameraModelViewMatrix =
- newCameraModelViewMatrix.inverted(&invertible);
- Q_ASSERT(invertible);
- if (!invertible)
- qWarning() << "camera Model view matrix not invertible in ProjectiveDepthTestEffect::setCameraModelViewMatrix()";
- matrixDirty = true;
-}
-
-void ProjectiveTextureEffect::setProjectorProjectionMatrix(const QMatrix4x4 &newMatrix)
-{
- projectorProjectionMatrix = newMatrix;
- matrixDirty = true;
-}
-
-void ProjectiveTextureEffect::setProjectorViewMatrix(const QMatrix4x4 &newMatrix)
-{
- projectorViewMatrix = newMatrix;
- matrixDirty = true;
-}
-
-void ProjectiveTextureEffect::setModelMatrix(const QMatrix4x4 &newMatrix)
-{
- modelMatrix = newMatrix;
- matrixDirty = true;
-}
-
-void ProjectiveTextureEffect::recalulateObjectLinearTexgenMatrix()
-{
- objectLinearTexgenMatrix = biasMatrix *
- projectorProjectionMatrix *
- projectorViewMatrix *
- modelMatrix;
-}
-
-void ProjectiveTextureEffect::setupShaders()
-{
- QString vertexShaderFileName = QLatin1String(":/shaders/objectlineartexgen.vert");
- QFile vertexShaderFile(vertexShaderFileName);
- if (vertexShaderFile.open(QIODevice::ReadOnly | QIODevice::Text))
- {
- setVertexShader(vertexShaderFile.readAll());
- } else {
- qWarning() << "Could not open file "<<vertexShaderFileName<<", failed to load vertex shader";
- }
-
- QString fragmentShaderFileName = QLatin1String(":/shaders/objectlineartexgen.frag");
- QFile fragmentShaderFile(fragmentShaderFileName);
- if (fragmentShaderFile.open(QIODevice::ReadOnly | QIODevice::Text))
- {
- setFragmentShader(fragmentShaderFile.readAll());
- } else {
- qWarning() << "Could not open file "<<fragmentShaderFileName<<", failed to load fragment shader";
- }
-
-}
diff --git a/demos/qt3d/cubehouse/projectivetextureeffect.h b/demos/qt3d/cubehouse/projectivetextureeffect.h
deleted file mode 100644
index 8730710a..00000000
--- a/demos/qt3d/cubehouse/projectivetextureeffect.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PROJECTIVEDTEXTUREEFFECT_H
-#define PROJECTIVEDTEXTUREEFFECT_H
-
-#include "qglshaderprogrameffect.h"
-//#include "deptheffect.h"
-#include "qmatrix4x4.h"
-
-class ProjectiveTextureEffect : public QGLShaderProgramEffect
-{
-public:
- explicit ProjectiveTextureEffect();
- virtual void setActive(QGLPainter *painter, bool flag);
- virtual void update(QGLPainter *painter, QGLPainter::Updates updates);
- virtual void setProjectorDirection(const QVector4D &direction);
-
- void setCameraModelViewMatrix(const QMatrix4x4 &newCameraModelViewMatrix);
- void setProjectorProjectionMatrix(const QMatrix4x4 &newMatrix);
- void setProjectorViewMatrix(const QMatrix4x4 &newMatrix);
- void setModelMatrix(const QMatrix4x4 &newMatrix);
-
-// TODO:
-// QMatrix4x4 eyeLinearTexgenMatrix;
-
-protected:
- virtual void setupShaders();
-private:
- virtual void recalulateObjectLinearTexgenMatrix();
- bool matrixDirty;
- QMatrix4x4 modelMatrix;
- QMatrix4x4 objectLinearTexgenMatrix;
- QMatrix4x4 cameraModelViewMatrix;
- QMatrix4x4 inverseCameraModelViewMatrix;
- QMatrix4x4 projectorProjectionMatrix;
- QMatrix4x4 projectorViewMatrix;
- QVector4D projectorDirection;
-};
-
-#endif // PROJECTIVEDTEXTUREEFFECT_H
diff --git a/demos/qt3d/cubehouse/qt3d.ico b/demos/qt3d/cubehouse/qt3d.ico
deleted file mode 100644
index 1d07c43d..00000000
--- a/demos/qt3d/cubehouse/qt3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/cubehouse/qtlogo.png b/demos/qt3d/cubehouse/qtlogo.png
deleted file mode 100644
index 7d3e97eb..00000000
--- a/demos/qt3d/cubehouse/qtlogo.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/cubehouse/shaders/depth.frag b/demos/qt3d/cubehouse/shaders/depth.frag
deleted file mode 100644
index 0dc15c96..00000000
--- a/demos/qt3d/cubehouse/shaders/depth.frag
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-varying float depth;
-
-void main(void)
-{
- float stupidMathsDepth = depth;
- stupidMathsDepth = (stupidMathsDepth + 10.0) / 20.0;
-// gl_FragColor = vec4(vec3(stupidMathsDepth), 1.0);
- gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);
-};
diff --git a/demos/qt3d/cubehouse/shaders/depth.vert b/demos/qt3d/cubehouse/shaders/depth.vert
deleted file mode 100644
index e356dfa0..00000000
--- a/demos/qt3d/cubehouse/shaders/depth.vert
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-attribute highp vec4 vertex;
-varying float depth;
-uniform highp mat4 qt_ModelViewMatrix;
-uniform highp mat4 qt_ProjectionMatrix;
-
-attribute highp vec4 texCoords;
-
-uniform highp mat4 cameraCombinedMatrix;
-uniform highp mat4 cameraModelViewMatrix;
-uniform highp mat4 cameraProjectionMatrix;
-
-uniform highp mat4 lightCombinedMatrix;
-
-varying highp vec4 qt_TexCoord0;
-varying highp vec4 onScreenPosition;
-varying highp vec4 lightScreenPosition;
-varying highp vec4 worldSpaceVertex;
-
-void main(void)
-{
- qt_TexCoord0 = texCoords;
-
- // qt_ProjectionMatrix == cameraProjectionMatrix
-// onScreenPosition = qt_ProjectionMatrix * qt_ModelViewMatrix * vertex;
-//onScreenPosition = cameraProjectionMatrix * qt_ModelViewMatrix * vertex;
-
- onScreenPosition = cameraProjectionMatrix
- * cameraModelViewMatrix
-// * qt_ModelViewMatrix
- * vertex;
- depth = onScreenPosition.z;
-
- gl_Position = onScreenPosition;
-};
diff --git a/demos/qt3d/cubehouse/shaders/depthTestShader.frag b/demos/qt3d/cubehouse/shaders/depthTestShader.frag
deleted file mode 100644
index 375a16df..00000000
--- a/demos/qt3d/cubehouse/shaders/depthTestShader.frag
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-// This is equivilent to GL_REPLACE
-varying highp vec4 qt_TexCoord0;
-
-uniform mediump sampler2D texture;
-uniform mediump mat4 textureMatrix;
-varying highp vec4 onScreenPosition;
-varying highp vec4 lightScreenPosition;
-varying highp vec4 worldSpaceVertex;
-varying float lightDepth;
-varying float actualDepth;
-
-void main(void)
-{
-
- // I should be able to build a matrix to do this:
-// vec4 normalizedOnScreenPosition = (onScreenPosition + 5.0) / 10.0;
-vec4 normalizedLightScreenPosition = (((lightScreenPosition
-//+ lightScreenPosition.w
-) / lightScreenPosition.w ) + 1.0) / 2.0;
-
-// float lightMapDepth = texture2D(texture, normalizedLightScreenPosition.st).z;
- float lightMapDepth = texture2D(texture, normalizedLightScreenPosition.st ).z;
-// gl_FragColor = vec4(lightMapDepth, lightMapDepth, lightMapDepth, 1.0);
-
-// gl_FragColor = vec4(normalizedLightScreenPosition.st,0.0,1.0);
-
-// float lightActualDepth = normalizedLightScreenPosition.z;
- float lightActualDepth = lightDepth;
-// gl_FragColor = vec4(lightActualDepth, lightActualDepth, lightActualDepth, 1.0);
- float lightActualDepthWithStupidMaths = (lightActualDepth + 10.0) / 20.0;
- float lightDepthWithStupidMaths = (lightDepth + 10.0) / 20.0;
-// gl_FragColor = vec4(vec3(lightActualDepthWithStupidMaths), 1.0);
-
-
-// if (lightActualDepthWithStupidMaths > lightMapDepth )
-// gl_FragColor = vec4(0.2, 0.2, 0.2, 1.0);
-// else
- gl_FragColor = vec4(1.0, 1.0, 0.5, 1.0);
-
-
-// gl_FragColor = vec4(lightDepthWithStupidMaths, lightDepthWithStupidMaths, lightDepthWithStupidMaths, 1.0);
-
-
-//float stupidMathslightDepth = (lightDepth + 10.0) / 20;
-//gl_FragColor = vec4(stupidMathslightDepth, stupidMathslightDepth, stupidMathslightDepth, 1.0);
-
-//float stupidMathsActualDepth = (actualDepth + 10.0) / 20.0;
-//gl_FragColor = vec4(stupidMathsActualDepth, stupidMathsActualDepth, stupidMathsActualDepth, 1.0);
-
-};
diff --git a/demos/qt3d/cubehouse/shaders/depthTestShader.vert b/demos/qt3d/cubehouse/shaders/depthTestShader.vert
deleted file mode 100644
index a993b240..00000000
--- a/demos/qt3d/cubehouse/shaders/depthTestShader.vert
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-attribute highp vec4 vertex;
-attribute highp vec4 texCoords;
-
-uniform highp mat4 matrix;
-uniform highp mat4 qt_ProjectionMatrix;
-uniform highp mat4 qt_ModelViewMatrix;
-
-uniform highp mat4 cameraCombinedMatrix;
-uniform highp mat4 lightCombinedMatrix;
-
-uniform highp mat4 cameraModelViewMatrix;
-uniform highp mat4 inverseCameraModelViewMatrix;
-uniform highp mat4 lightModelViewMatrix;
-
-uniform highp mat4 cameraProjectionMatrix;
-uniform highp mat4 lightProjectionMatrix;
-
-varying highp vec4 qt_TexCoord0;
-varying highp vec4 onScreenPosition;
-varying highp vec4 lightScreenPosition;
-varying highp vec4 worldSpaceVertex;
-varying float lightDepth;
-varying float actualDepth;
-
-void main(void)
-{
- qt_TexCoord0 = texCoords;
-// onScreenPosition = matrix * vertex;
-//onScreenPosition = cameraCombinedMatrix * vertex; // works
- onScreenPosition = qt_ProjectionMatrix *
- qt_ModelViewMatrix
- * vertex;
-
- highp vec4 worldPosition = inverseCameraModelViewMatrix *
- qt_ModelViewMatrix * vertex;
-
-// lightScreenPosition = lightCombinedMatrix * vertex;
-// lightScreenPosition = lightCombinedMatrix * worldPosition;
- lightScreenPosition = lightProjectionMatrix * lightModelViewMatrix * vertex;
- lightDepth = lightScreenPosition.z;
-
- actualDepth = onScreenPosition.z;
-
- worldSpaceVertex = vertex;
-
-// gl_Position = qt_ProjectionMatrix * worldPosition;
-//gl_Position = onScreenPosition;
-gl_Position = onScreenPosition;
-// gl_Position = lightScreenPosition;
-};
diff --git a/demos/qt3d/cubehouse/shaders/objectlineartexgen.frag b/demos/qt3d/cubehouse/shaders/objectlineartexgen.frag
deleted file mode 100644
index 0f7bb92e..00000000
--- a/demos/qt3d/cubehouse/shaders/objectlineartexgen.frag
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-uniform sampler2D texture;
-varying highp vec4 texCoord;
-varying float facingProjector;
-
-void main(void)
-{
- vec2 clampedCoords = texCoord.st;
- clampedCoords = clamp(texCoord.st, vec2(0.0), vec2(1.0));
- vec4 textureColor = texture2D(texture, clampedCoords);
- gl_FragColor = vec4(textureColor.rgb * facingProjector, 1.0);
-};
diff --git a/demos/qt3d/cubehouse/shaders/objectlineartexgen.vert b/demos/qt3d/cubehouse/shaders/objectlineartexgen.vert
deleted file mode 100644
index 61ffe7ce..00000000
--- a/demos/qt3d/cubehouse/shaders/objectlineartexgen.vert
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-attribute highp vec4 qt_Vertex;
-attribute highp vec4 qt_Normal;
-uniform highp mat3 qt_NormalMatrix;
-uniform highp mat4 qt_ModelViewProjectionMatrix;
-
-uniform highp mat4 objectLinearTexgenMatrix;
-uniform highp vec4 projectorDirection;
-
-varying highp vec4 texCoord;
-varying float facingProjector;
-
-void main(void)
-{
- texCoord = objectLinearTexgenMatrix * qt_Vertex;
- vec4 normal = normalize(vec4(qt_NormalMatrix * vec3(qt_Vertex), qt_Vertex.w));
- // We're facing the projector if the normal and projector direction
- // are pointing in opposite directions, i.e. if their dot product
- // is negative.
- facingProjector = -dot(normalize(normal), normalize(projectorDirection));
- facingProjector = clamp(facingProjector, 0.0, 1.0);
- gl_Position = qt_ModelViewProjectionMatrix * qt_Vertex;
-};
diff --git a/demos/qt3d/icon.png b/demos/qt3d/icon.png
deleted file mode 100644
index 07cc4092..00000000
--- a/demos/qt3d/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/gradient.png b/demos/qt3d/pageflip/gradient.png
deleted file mode 100644
index ddadf69d..00000000
--- a/demos/qt3d/pageflip/gradient.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/icon-l-qt3d.png b/demos/qt3d/pageflip/icon-l-qt3d.png
deleted file mode 100644
index 07cc4092..00000000
--- a/demos/qt3d/pageflip/icon-l-qt3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/m5-pageflip.desktop b/demos/qt3d/pageflip/m5-pageflip.desktop
deleted file mode 100644
index 772a3f62..00000000
--- a/demos/qt3d/pageflip/m5-pageflip.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=Pageflip
-Comment=Qt3D example application
-Exec=/usr/bin/pageflip -fullscreen
-Icon=icon-l-qt3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/qt3d/pageflip/pageflip.cpp b/demos/qt3d/pageflip/pageflip.cpp
deleted file mode 100644
index 39f42aed..00000000
--- a/demos/qt3d/pageflip/pageflip.cpp
+++ /dev/null
@@ -1,475 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QTimer>
-#include <QMouseEvent>
-#include <QWindow>
-#include "qglpainter.h"
-#include "qglabstracteffect.h"
-#include "qgltexture2d.h"
-#include "qglshaderprogrameffect.h"
-#include <QtGui/QOpenGLContext>
-#include <QtOpenGL/qglshaderprogram.h>
-#include "pageflipmath_p.h"
-
-class PageFlipGradientEffect;
-
-class PageFlipView : public QWindow
-{
- Q_OBJECT
-public:
- PageFlipView(QWindow *parent = 0);
- ~PageFlipView();
-
- void setBlend(bool value) { blend = value; }
- void setVertical(bool value) { vertical = value; }
-
-public Q_SLOTS:
- void update();
-
-protected:
- void resizeGL(int width, int height);
- void initializeGL();
- void paintGL();
-
- void exposeEvent(QExposeEvent *e);
- void mousePressEvent(QMouseEvent *e);
-
-private slots:
- void animate();
-
-private:
- void ensureContext();
- void setAlphaValue(QGLPainter *painter, GLfloat value);
-
- bool blend;
- bool vertical;
-
- qreal posn; // Position within the animation - 0...1
- QSize pageSize; // Size of a page within the window.
-
- QRect pageRect1;
- QRect pageRect2;
-
- QColor colors[4];
- int colorIndex;
-
- QGLTexture2D textures[4];
-
- QGLTexture2D gradientTexture;
-
- PageFlipMath pageFlipMath;
-
- PageFlipGradientEffect *effect;
-
- QOpenGLContext *context;
- bool initialised;
- QSurfaceFormat format;
- bool updateQueued;
-};
-
-class PageFlipGradientEffect : public QGLShaderProgramEffect
-{
-public:
- PageFlipGradientEffect();
- ~PageFlipGradientEffect();
-
- void setAlphaValue(GLfloat value);
-};
-
-PageFlipView::PageFlipView(QWindow *parent)
- : QWindow(parent)
- , context(0)
- , initialised(false)
- , updateQueued(false)
-{
- format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- format.setDepthBufferSize(24);
- setSurfaceType(QWindow::OpenGLSurface);
- setFormat(format);
-
- posn = 0.0f;
- blend = false;
- vertical = false;
-
- colors[0] = QColor(0, 192, 192, 255);
- colors[1] = QColor(192, 0, 0, 255);
- colors[2] = QColor(192, 192, 0, 255);
- colors[3] = QColor(128, 128, 0, 255);
- colorIndex = 0;
-
- QTimer *timer = new QTimer(this);
- connect(timer, SIGNAL(timeout()), this, SLOT(animate()));
- timer->start(40);
-
- effect = new PageFlipGradientEffect();
-}
-
-PageFlipView::~PageFlipView()
-{
- delete effect;
-}
-
-void PageFlipView::exposeEvent(QExposeEvent *e)
-{
- Q_UNUSED(e);
-
- updateQueued = false;
- ensureContext();
-
- QRect rect = geometry();
- resizeGL(rect.width(), rect.height());
-
- if (!initialised)
- initializeGL();
-
- paintGL();
-
- if (format.swapBehavior() == QSurfaceFormat::DoubleBuffer)
- context->swapBuffers(this);
-}
-
-void PageFlipView::resizeGL(int width, int height)
-{
- glViewport(0, 0, width, height);
-}
-
-void PageFlipView::initializeGL()
-{
- QGLPainter painter(this);
-
- //QSize size = rect().size();
- //int width = size.width() / 3;
- //int height = (int)(width * 1.414f);
- int width = 227;
- int height = 320;
- pageSize = QSize(width, height);
-
- textures[0].setImage(QImage(QLatin1String(":/qqpage1.png")));
- textures[1].setImage(QImage(QLatin1String(":/qqpage2.png")));
- textures[2].setImage(QImage(QLatin1String(":/qqpage3.png")));
- textures[3].setImage(QImage(QLatin1String(":/qqpage4.png")));
-
- gradientTexture.setImage(QImage(QLatin1String(":/gradient.png")));
-
- if (painter.hasOpenGLFeature(QOpenGLFunctions::BlendColor))
- painter.glBlendColor(0, 0, 0, 0);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- if (painter.hasOpenGLFeature(QOpenGLFunctions::BlendEquation))
- painter.glBlendEquation(GL_FUNC_ADD);
- else if (painter.hasOpenGLFeature(QOpenGLFunctions::BlendEquationSeparate))
- painter.glBlendEquationSeparate(GL_FUNC_ADD, GL_FUNC_ADD);
-
- glEnable(GL_BLEND);
-
- if (vertical)
- pageFlipMath.setStartCorner(PageFlipMath::VerticalBottomRight);
- else
- pageFlipMath.setStartCorner(PageFlipMath::BottomRight);
-
- initialised = true;
-}
-
-void PageFlipView::paintGL()
-{
- QGLPainter painter(this);
-
- QRect rect = this->geometry();
- int midx = rect.width() / 2;
- int topy = (rect.height() - pageSize.height()) / 2;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- QMatrix4x4 projm;
- projm.ortho(rect);
- painter.projectionMatrix() = projm;
- painter.modelViewMatrix().setToIdentity();
-
- if (vertical) {
- pageRect2 = QRect(QPoint(midx - pageSize.width() / 2, topy), pageSize);
- pageRect1 = QRect(QPoint(pageRect2.x() - pageSize.width(), topy), pageSize);
- } else {
- pageRect1 = QRect(QPoint(midx - pageSize.width(), topy), pageSize);
- pageRect2 = QRect(QPoint(midx, topy), pageSize);
- }
- pageFlipMath.setPageRect(pageRect2);
- pageFlipMath.setShowPageReverse(false);
- pageFlipMath.compute(posn);
-
- QGLAttributeValue positions
- (2, GL_FLOAT, pageFlipMath.stride(), pageFlipMath.vertexArray());
- QGLAttributeValue texCoords
- (2, GL_FLOAT, pageFlipMath.stride(), pageFlipMath.vertexArray() + 2);
- QGLAttributeValue gradientCoords
- (1, GL_FLOAT, pageFlipMath.stride(), pageFlipMath.vertexArray() + 4);
-
- if (painter.isFixedFunction())
- painter.setStandardEffect(QGL::FlatReplaceTexture2D);
- else
- painter.setUserEffect(effect);
- painter.setColor(colors[colorIndex]);
- painter.glActiveTexture(GL_TEXTURE0);
- textures[colorIndex].bind();
- if (!painter.isFixedFunction()) {
- painter.glActiveTexture(GL_TEXTURE1);
- gradientTexture.bind();
- }
- painter.clearAttributes();
- painter.setVertexAttribute(QGL::Position, positions);
- painter.setVertexAttribute(QGL::TextureCoord0, texCoords);
- painter.setVertexAttribute(QGL::CustomVertex0, gradientCoords);
- setAlphaValue(&painter, 1.0f);
- painter.update();
- pageFlipMath.drawPage(0);
-
- painter.setColor(colors[(colorIndex + 1) % 4]);
- painter.glActiveTexture(GL_TEXTURE0);
- textures[(colorIndex + 1) % 4].bind();
- setAlphaValue(&painter, 1.0f);
- painter.update();
- pageFlipMath.drawPage(1);
-
- painter.setColor(colors[(colorIndex + 2) % 4]);
- if (!pageFlipMath.showPageReverse())
- textures[(colorIndex + 2) % 4].bind();
- if (blend)
- setAlphaValue(&painter, 0.75f);
- else
- setAlphaValue(&painter, 1.0f);
- painter.update();
- pageFlipMath.drawPage(2);
-
- painter.setColor(colors[(colorIndex + 3) % 4]);
- textures[(colorIndex + 3) % 4].bind();
- setAlphaValue(&painter, 1.0f);
- painter.update();
- pageFlipMath.drawPage(3);
-
- glBindTexture(GL_TEXTURE_2D, 0);
- painter.glActiveTexture(GL_TEXTURE1);
- glBindTexture(GL_TEXTURE_2D, 0);
-
- painter.setStandardEffect(QGL::FlatColor);
- painter.clearAttributes();
- painter.setVertexAttribute(QGL::Position, positions);
- painter.setVertexAttribute(QGL::TextureCoord0, texCoords);
- painter.setVertexAttribute(QGL::CustomVertex0, gradientCoords);
- painter.setColor(QColor(0, 0, 0, 255));
- painter.update();
- pageFlipMath.drawOutline(2);
-}
-
-void PageFlipView::mousePressEvent(QMouseEvent *e)
-{
- int x = e->x();
- int y = e->y();
- bool changed = true;
- if (vertical) {
- if (x >= pageRect2.x() && x < (pageRect2.x() + 20) &&
- y >= pageRect2.y() && y < (pageRect2.y() + 20))
- pageFlipMath.setStartCorner(PageFlipMath::VerticalTopLeft);
- else if (x >= pageRect2.x() && x < (pageRect2.x() + 20) &&
- y >= (pageRect2.bottom() - 20) && y <= pageRect2.bottom())
- pageFlipMath.setStartCorner(PageFlipMath::VerticalBottomLeft);
- else if (x >= (pageRect2.right() - 20) && x <= pageRect2.right() &&
- y >= pageRect2.y() && y < (pageRect2.y() + 20))
- pageFlipMath.setStartCorner(PageFlipMath::VerticalTopRight);
- else if (x >= (pageRect2.right() - 20) && x <= pageRect2.right() &&
- y >= (pageRect2.bottom() - 20) && y <= pageRect2.bottom())
- pageFlipMath.setStartCorner(PageFlipMath::VerticalBottomRight);
- else
- changed = false;
- } else {
- if (x >= pageRect1.x() && x < (pageRect1.x() + 20) &&
- y >= pageRect1.y() && y < (pageRect1.y() + 20))
- pageFlipMath.setStartCorner(PageFlipMath::TopLeft);
- else if (x >= pageRect1.x() && x < (pageRect1.x() + 20) &&
- y >= (pageRect1.bottom() - 20) && y <= pageRect1.bottom())
- pageFlipMath.setStartCorner(PageFlipMath::BottomLeft);
- else if (x >= pageRect2.x() && x < (pageRect2.x() + 20) &&
- y >= pageRect2.y() && y < (pageRect2.y() + 20))
- pageFlipMath.setStartCorner(PageFlipMath::TopLeftOnePage);
- else if (x >= pageRect2.x() && x < (pageRect2.x() + 20) &&
- y >= (pageRect2.bottom() - 20) && y <= pageRect2.bottom())
- pageFlipMath.setStartCorner(PageFlipMath::BottomLeftOnePage);
- else if (x >= (pageRect2.right() - 20) && x <= pageRect2.right() &&
- y >= pageRect2.y() && y < (pageRect2.y() + 20))
- pageFlipMath.setStartCorner(PageFlipMath::TopRight);
- else if (x >= (pageRect2.right() - 20) && x <= pageRect2.right() &&
- y >= (pageRect2.bottom() - 20) && y <= pageRect2.bottom())
- pageFlipMath.setStartCorner(PageFlipMath::BottomRight);
- else
- changed = false;
- }
- if (changed)
- posn = 0.0f;
- QWindow::mousePressEvent(e);
-}
-
-void PageFlipView::animate()
-{
- posn += 0.04f;
- if (posn >= 1.0f) {
- posn = 0.0f;
- colorIndex = (colorIndex + 2) % 4;
- }
- update();
-}
-
-void PageFlipView::update()
-{
- if (!updateQueued)
- {
- updateQueued = true;
- QApplication::postEvent(this, new QExposeEvent(geometry()));
- }
-}
-
-void PageFlipView::setAlphaValue(QGLPainter *painter, GLfloat value)
-{
- if (!painter->isFixedFunction())
- effect->setAlphaValue(value);
-}
-
-static char const gradientVertexShader[] =
- "attribute highp vec4 qt_Vertex;\n"
- "attribute highp vec4 qt_MultiTexCoord0;\n"
- "attribute highp float qt_Custom0;\n"
- "uniform mediump mat4 qt_ModelViewProjectionMatrix;\n"
- "varying highp vec4 qt_TexCoord0;\n"
- "varying highp float qGradCtrl;\n"
- "void main(void)\n"
- "{\n"
- " gl_Position = qt_ModelViewProjectionMatrix * qt_Vertex;\n"
- " qt_TexCoord0 = qt_MultiTexCoord0;\n"
- " qGradCtrl = qt_Custom0;\n"
- "}\n";
-
-static char const gradientFragmentShader[] =
- "uniform sampler2D qt_Texture0;\n"
- "uniform sampler2D qt_Texture1;\n"
- "uniform mediump float alphaValue;\n"
- "varying highp vec4 qt_TexCoord0;\n"
- "varying highp float qGradCtrl;\n"
- "void main(void)\n"
- "{\n"
- " mediump vec4 col = texture2D(qt_Texture0, qt_TexCoord0.st);\n"
- " mediump vec4 gradcol = texture2D(qt_Texture1, vec2(qGradCtrl, qt_TexCoord0.t));\n"
- " gl_FragColor = vec4((col * gradcol).xyz, alphaValue);\n"
- "}\n";
-
-PageFlipGradientEffect::PageFlipGradientEffect()
-{
- setVertexShader(gradientVertexShader);
- setFragmentShader(gradientFragmentShader);
-}
-
-PageFlipGradientEffect::~PageFlipGradientEffect()
-{
-}
-
-void PageFlipGradientEffect::setAlphaValue(GLfloat value)
-{
- program()->setUniformValue("alphaValue", value);
-}
-
-inline void PageFlipView::ensureContext()
-{
- if (!context)
- {
- context = new QOpenGLContext();
- context->setFormat(format);
-#ifndef QT_NO_DEBUG_STREAM
- QSurfaceFormat oldFormat = format;
-#endif
- context->create();
- // TODO: is it possible that the platform will downgrade the actual
- // format, or will it just fail if it can't deliver the actual format
- format = context->format();
-#ifndef QT_NO_DEBUG_STREAM
- if (oldFormat != format)
- qWarning() << "Could not create context requested:\n"
- << oldFormat << "\nactual format:\n" << format;
-#endif
- }
- context->makeCurrent(this);
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- PageFlipView view;
-
- QStringList args = QCoreApplication::arguments();
- if (args.contains(QLatin1String("-blend")))
- view.setBlend(true);
- if (args.contains(QLatin1String("-vertical")))
- view.setVertical(true);
-
- int w_pos = args.indexOf("-width");
- int h_pos = args.indexOf("-height");
- if (w_pos >= 0 && h_pos >= 0)
- {
- bool ok = true;
- int w = args.at(w_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse width argument:" << args;
- return 1;
- }
- int h = args.at(h_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse height argument:" << args;
- return 1;
- }
- view.resize(w, h);
- }
- else
- {
- view.resize(800, 600);
- }
- view.show();
-
- return app.exec();
-}
-
-#include "pageflip.moc"
diff --git a/demos/qt3d/pageflip/pageflip.desktop b/demos/qt3d/pageflip/pageflip.desktop
deleted file mode 100644
index 5b75c596..00000000
--- a/demos/qt3d/pageflip/pageflip.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Pageflip
-Icon=icon-l-qt3d
-Exec=/usr/bin/pageflip -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_pageflip
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/qt3d/pageflip/pageflip.pro b/demos/qt3d/pageflip/pageflip.pro
deleted file mode 100644
index 9a49941d..00000000
--- a/demos/qt3d/pageflip/pageflip.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TEMPLATE = app
-TARGET = pageflip
-CONFIG += qt warn_on
-QT += widgets qt3d
-
-SOURCES = pageflip.cpp pageflipmath.cpp
-HEADERS = pageflipmath_p.h
-RESOURCES = pageflip.qrc
-
-CONFIG += qt3d_deploy_pkg
-include(../../../pkg.pri)
-
-OTHER_FILES += \
- pageflip.rc
-
-RC_FILE = pageflip.rc
diff --git a/demos/qt3d/pageflip/pageflip.qrc b/demos/qt3d/pageflip/pageflip.qrc
deleted file mode 100644
index 1584add5..00000000
--- a/demos/qt3d/pageflip/pageflip.qrc
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>qqpage1.png</file>
- <file>qqpage2.png</file>
- <file>qqpage3.png</file>
- <file>qqpage4.png</file>
- <file>gradient.png</file>
-</qresource>
-</RCC>
diff --git a/demos/qt3d/pageflip/pageflip.rc b/demos/qt3d/pageflip/pageflip.rc
deleted file mode 100644
index b40ecdc1..00000000
--- a/demos/qt3d/pageflip/pageflip.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qt3d.ico"
diff --git a/demos/qt3d/pageflip/pageflipmath.cpp b/demos/qt3d/pageflip/pageflipmath.cpp
deleted file mode 100644
index afb66dbc..00000000
--- a/demos/qt3d/pageflip/pageflipmath.cpp
+++ /dev/null
@@ -1,592 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "pageflipmath_p.h"
-#include <QtCore/qmath.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-PageFlipMath::PageFlipMath()
-{
- m_showPageReverse = false;
- m_startCorner = BottomRight;
-
- qMemSet(vertices, 0, sizeof(vertices));
- qMemSet(pageCount, 0, sizeof(pageCount));
-}
-
-PageFlipMath::~PageFlipMath()
-{
-}
-
-void PageFlipMath::drawPage(int page) const
-{
- if (page < 0 || page >= 4 || pageCount[page] == 0)
- return;
- glDrawArrays(GL_TRIANGLE_FAN, page * 5, pageCount[page]);
-}
-
-void PageFlipMath::drawOutline(int page) const
-{
- if (page < 0 || page >= 4 || pageCount[page] == 0)
- return;
- glDrawArrays(GL_LINE_LOOP, page * 5, pageCount[page]);
-}
-
-void PageFlipMath::compute(qreal t)
-{
- int page, vertex;
-
- // Compute the relative vertices for position t.
- if (m_startCorner < VerticalBottomRight)
- flip(m_pageRect.width() - 1, m_pageRect.height() - 1, t);
- else
- flip(m_pageRect.height() - 1, m_pageRect.width() - 1, t);
-
- // Deal with starting corner issues by swapping co-ordinates.
- switch (m_startCorner) {
-
- case BottomRight: break;
-
- case TopRight:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- vertices[page][vertex][1]
- = m_pageRect.height() - 1 - vertices[page][vertex][1];
- vertices[page][vertex][3]
- = 1.0f - vertices[page][vertex][3];
- }
- }
- break;
-
- case BottomLeft:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- vertices[page][vertex][0]
- = m_pageRect.width() - 1 - vertices[page][vertex][0];
- vertices[page][vertex][0] -= m_pageRect.width();
- vertices[page][vertex][2]
- = 1.0f - vertices[page][vertex][2];
- }
- }
- break;
-
- case TopLeft:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- vertices[page][vertex][0]
- = m_pageRect.width() - 1 - vertices[page][vertex][0];
- vertices[page][vertex][0] -= m_pageRect.width();
- vertices[page][vertex][1]
- = m_pageRect.height() - 1 - vertices[page][vertex][1];
- vertices[page][vertex][2]
- = 1.0f - vertices[page][vertex][2];
- vertices[page][vertex][3]
- = 1.0f - vertices[page][vertex][3];
- }
- }
- break;
-
- case BottomLeftOnePage:
- for (page = 1; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- vertices[page][vertex][0]
- = m_pageRect.width() - 1 - vertices[page][vertex][0];
- vertices[page][vertex][2]
- = 1.0f - vertices[page][vertex][2];
- }
- }
- break;
-
- case TopLeftOnePage:
- for (page = 1; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- vertices[page][vertex][0]
- = m_pageRect.width() - 1 - vertices[page][vertex][0];
- vertices[page][vertex][1]
- = m_pageRect.height() - 1 - vertices[page][vertex][1];
- vertices[page][vertex][2]
- = 1.0f - vertices[page][vertex][2];
- vertices[page][vertex][3]
- = 1.0f - vertices[page][vertex][3];
- }
- }
- break;
-
- case VerticalBottomRight:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- qSwap(vertices[page][vertex][0], vertices[page][vertex][1]);
- vertices[page][vertex][0]
- = m_pageRect.width() - 1 - vertices[page][vertex][0];
- vertices[page][vertex][1]
- = m_pageRect.height() - 1 - vertices[page][vertex][1];
- qSwap(vertices[page][vertex][2], vertices[page][vertex][3]);
- vertices[page][vertex][2]
- = 1.0f - vertices[page][vertex][2];
- vertices[page][vertex][3]
- = 1.0f - vertices[page][vertex][3];
- }
- }
- break;
-
- case VerticalTopRight:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- qSwap(vertices[page][vertex][0], vertices[page][vertex][1]);
- vertices[page][vertex][0]
- = m_pageRect.width() - 1 - vertices[page][vertex][0];
- qSwap(vertices[page][vertex][2], vertices[page][vertex][3]);
- vertices[page][vertex][2]
- = 1.0f - vertices[page][vertex][2];
- }
- }
- break;
-
- case VerticalBottomLeft:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- qSwap(vertices[page][vertex][0], vertices[page][vertex][1]);
- vertices[page][vertex][1]
- = m_pageRect.height() - 1 - vertices[page][vertex][1];
- qSwap(vertices[page][vertex][2], vertices[page][vertex][3]);
- vertices[page][vertex][3]
- = 1.0f - vertices[page][vertex][3];
- }
- }
- break;
-
- case VerticalTopLeft:
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- qSwap(vertices[page][vertex][0], vertices[page][vertex][1]);
- qSwap(vertices[page][vertex][2], vertices[page][vertex][3]);
- }
- }
- break;
- }
-
- // Adjust the vertices for the final rectangle position.
- for (page = 0; page < 4; ++page) {
- for (vertex = 0; vertex < pageCount[page]; ++vertex) {
- vertices[page][vertex][0] += m_pageRect.x();
- vertices[page][vertex][1]
- = m_pageRect.y() +
- (m_pageRect.height() - 1 - vertices[page][vertex][1]);
- }
- }
-
- // Flip the x texture co-ordinates for page 2 if showing the page reverse.
- if (m_showPageReverse) {
- if (m_startCorner < VerticalBottomRight) {
- for (int vertex = 0; vertex < pageCount[2]; ++vertex)
- vertices[2][vertex][2] = 1.0f - vertices[2][vertex][2];
- } else {
- for (int vertex = 0; vertex < pageCount[2]; ++vertex)
- vertices[2][vertex][3] = 1.0f - vertices[2][vertex][3];
- }
- }
-}
-
-// Page 1 is the reference page and extends from the bottom-left
-// corner at (0, 0) to the top-right corner at (pageWidth, pageHeight).
-// The flip starts at the bottom-right corner and proceeds leftwards
-// across the page. All other flip directions and starting corners
-// can be derived from this basic reference flip animation.
-void PageFlipMath::flip(qreal pageWidth, qreal pageHeight, qreal t)
-{
- // Handle the simple start and end position cases first.
- if (t <= 0.0f) {
- // Starting position: pages 0 and 1 in their rest states
- // and pages 2 and 3 not visible.
- pageCount[0] = 4;
- pageCount[1] = 4;
- pageCount[2] = 0;
- pageCount[3] = 0;
-
- vertices[0][0][0] = -pageWidth; // corner 0 at (-pageWidth, 0)
- vertices[0][0][1] = 0.0f;
- vertices[0][0][2] = 0.0f; // texture co-ordinate
- vertices[0][0][3] = 0.0f;
- vertices[0][0][4] = 0.0f; // gradient control
-
- vertices[0][1][0] = 0.0f; // corner 1 at (0, 0)
- vertices[0][1][1] = 0.0f;
- vertices[0][1][2] = 1.0f;
- vertices[0][1][3] = 0.0f;
- vertices[0][1][4] = 1.0f; // gradient along fold on the right
-
- vertices[0][2][0] = 0.0f; // corner 2 at (0, pageHeight)
- vertices[0][2][1] = pageHeight;
- vertices[0][2][2] = 1.0f;
- vertices[0][2][3] = 1.0f;
- vertices[0][2][4] = 1.0f;
-
- vertices[0][3][0] = -pageWidth; // corner 3 at (-pageWidth, pageHeight)
- vertices[0][3][1] = pageHeight;
- vertices[0][3][2] = 0.0f;
- vertices[0][3][3] = 1.0f;
- vertices[0][3][4] = 0.0f;
-
- vertices[1][0][0] = 0.0f; // corner 0 at (0, 0)
- vertices[1][0][1] = 0.0f;
- vertices[1][0][2] = 0.0f; // texture co-ordinate
- vertices[1][0][3] = 0.0f;
- vertices[1][0][4] = 1.0f; // gradient along fold on the left
-
- vertices[1][1][0] = pageWidth; // corner 1 at (pageWidth, 0)
- vertices[1][1][1] = 0.0f;
- vertices[1][1][2] = 1.0f;
- vertices[1][1][3] = 0.0f;
- vertices[1][1][4] = 0.0f;
-
- vertices[1][2][0] = pageWidth; // corner 2 at (pageWidth, pageHeight)
- vertices[1][2][1] = pageHeight;
- vertices[1][2][2] = 1.0f;
- vertices[1][2][3] = 1.0f;
- vertices[1][2][4] = 0.0f;
-
- vertices[1][3][0] = 0.0f; // corner 3 at (0, pageHeight)
- vertices[1][3][1] = pageHeight;
- vertices[1][3][2] = 0.0f;
- vertices[1][3][3] = 1.0f;
- vertices[1][3][4] = 1.0f;
- return;
- } else if (t >= 1.0f) {
- // Ending position: pages 0 and 1 are not visible, but
- // pages 2 and 3 are visible in the rest states.
- pageCount[0] = 0;
- pageCount[1] = 0;
- pageCount[2] = 4;
- pageCount[3] = 4;
-
- vertices[2][0][0] = -pageWidth; // corner 0 at (-pageWidth, 0)
- vertices[2][0][1] = 0.0f;
- vertices[2][0][2] = 0.0f; // texture co-ordinate
- vertices[2][0][3] = 0.0f;
- vertices[2][0][4] = 0.0f; // gradient control
-
- vertices[2][1][0] = 0.0f; // corner 1 at (0, 0)
- vertices[2][1][1] = 0.0f;
- vertices[2][1][2] = 1.0f;
- vertices[2][1][3] = 0.0f;
- vertices[2][1][4] = 1.0f; // gradient along fold on the right
-
- vertices[2][2][0] = 0.0f; // corner 2 at (0, pageHeight)
- vertices[2][2][1] = pageHeight;
- vertices[2][2][2] = 1.0f;
- vertices[2][2][3] = 1.0f;
- vertices[2][2][4] = 1.0f;
-
- vertices[2][3][0] = -pageWidth; // corner 3 at (-pageWidth, pageHeight)
- vertices[2][3][1] = pageHeight;
- vertices[2][3][2] = 0.0f;
- vertices[2][3][3] = 1.0f;
- vertices[2][3][4] = 0.0f;
-
- vertices[3][0][0] = 0.0f; // corner 0 at (0, 0)
- vertices[3][0][1] = 0.0f;
- vertices[3][0][2] = 0.0f; // texture co-ordinate
- vertices[3][0][3] = 0.0f;
- vertices[3][0][4] = 1.0f; // gradient along fold on the left
-
- vertices[3][1][0] = pageWidth; // corner 1 at (pageWidth, 0)
- vertices[3][1][1] = 0.0f;
- vertices[3][1][2] = 1.0f;
- vertices[3][1][3] = 0.0f;
- vertices[3][1][4] = 0.0f;
-
- vertices[3][2][0] = pageWidth; // corner 2 at (pageWidth, pageHeight)
- vertices[3][2][1] = pageHeight;
- vertices[3][2][2] = 1.0f;
- vertices[3][2][3] = 1.0f;
- vertices[3][2][4] = 0.0f;
-
- vertices[3][3][0] = 0.0f; // corner 3 at (0, pageHeight)
- vertices[3][3][1] = pageHeight;
- vertices[3][3][2] = 0.0f;
- vertices[3][3][3] = 1.0f;
- vertices[3][3][4] = 1.0f;
- return;
- }
-
- // Page 0 is the same for all other animation positions.
- pageCount[0] = 4;
-
- vertices[0][0][0] = -pageWidth; // corner 0 at (-pageWidth, 0)
- vertices[0][0][1] = 0.0f;
- vertices[0][0][2] = 0.0f; // texture co-ordinate
- vertices[0][0][3] = 0.0f;
- vertices[0][0][4] = 0.0f; // gradient control
-
- vertices[0][1][0] = 0.0f; // corner 1 at (0, 0)
- vertices[0][1][1] = 0.0f;
- vertices[0][1][2] = 1.0f;
- vertices[0][1][3] = 0.0f;
- vertices[0][1][4] = 1.0f; // gradient along fold on the right
-
- vertices[0][2][0] = 0.0f; // corner 2 at (0, pageHeight)
- vertices[0][2][1] = pageHeight;
- vertices[0][2][2] = 1.0f;
- vertices[0][2][3] = 1.0f;
- vertices[0][2][4] = 1.0f;
-
- vertices[0][3][0] = -pageWidth; // corner 3 at (-pageWidth, pageHeight)
- vertices[0][3][1] = pageHeight;
- vertices[0][3][2] = 0.0f;
- vertices[0][3][3] = 1.0f;
- vertices[0][3][4] = 0.0f;
-
- // Get the angle of the "curling" dividing line to the bottom of the page.
- // Basically: 45deg + (45deg * t) = 45deg * (1 + t), where t is between
- // 0 and 1 but is neither 0 nor 1.
- qreal angle = (M_PI / 4.0f) * (1.0f + t);
-
- // We need the cos and sin of both the angle and angle * 2.
- qreal cosAngle = qCos(angle);
- qreal sinAngle = qSin(angle);
- qreal cosAngle2 = qCos(angle * 2.0f);
- qreal sinAngle2 = qSin(angle * 2.0f);
-
- // Find the reference point. This is the point along the bottom of
- // the page where the dividing line intersects the page bottom.
- qreal refx = pageWidth * (1.0f - t);
- qreal refy = 0.0f;
-
- // Distance from the reference point to the right side of the page.
- qreal d = pageWidth - refx;
-
- // Determine the intersection of the dividing line with the
- // top of the page. If the intersection is not on the page (k >= d),
- // then we need to generate similar triangles. If the intersection is
- // on the page (k < d), then we need to generate similar trapezoids.
- qreal k = (pageHeight * cosAngle) / sinAngle;
- if (k >= d) {
- // Generate similar triangles. Find the intersection with
- // the right-hand side of the page at x == pageWidth.
- qreal intx = pageWidth;
- qreal inty = refy + (d * sinAngle) / cosAngle;
-
- // Find the opposite triangle corner on the back page.
- qreal oppx = refx + d * cosAngle2;
- qreal oppy = refy + d * sinAngle2;
-
- // Generate vertices and texture co-ordinates for the back page.
- qreal texa = 1.0f - (d * sinAngle) / (pageHeight * cosAngle);
- qreal texb = d / pageWidth;
- vertices[2][0][0] = intx;
- vertices[2][0][1] = inty;
- vertices[2][0][2] = 0.0f;
- vertices[2][0][3] = 1.0f - texa;
- vertices[2][0][4] = 1.0f;
-
- vertices[2][1][0] = oppx;
- vertices[2][1][1] = oppy;
- vertices[2][1][2] = 0.0f;
- vertices[2][1][3] = 0.0f;
- vertices[2][1][4] = 1.0f - texb;
-
- vertices[2][2][0] = refx;
- vertices[2][2][1] = refy;
- vertices[2][2][2] = texb;
- vertices[2][2][3] = 0.0f;
- vertices[2][2][4] = 1.0f;
-
- pageCount[2] = 3;
-
- // Generate vertices and texture co-ordinates for the next page.
- vertices[3][0][0] = intx;
- vertices[3][0][1] = inty;
- vertices[3][0][2] = 1.0f;
- vertices[3][0][3] = 1.0f - texa;
- vertices[3][0][4] = 1.0f;
-
- vertices[3][1][0] = refx;
- vertices[3][1][1] = refy;
- vertices[3][1][2] = 1.0f - texb;
- vertices[3][1][3] = 0.0f;
- vertices[3][1][4] = 1.0f;
-
- vertices[3][2][0] = pageWidth;
- vertices[3][2][1] = 0.0f;
- vertices[3][2][2] = 1.0f;
- vertices[3][2][3] = 0.0f;
- vertices[3][2][4] = 1.0f - texb;
-
- pageCount[3] = 3;
-
- // Set page 1's vertices to clip off pixels we don't need to draw.
- vertices[1][0][0] = 0.0f;
- vertices[1][0][1] = 0.0f;
- vertices[1][0][2] = 0.0f;
- vertices[1][0][3] = 0.0f;
- vertices[1][0][4] = 1.0f;
-
- vertices[1][1][0] = pageWidth - d;
- vertices[1][1][1] = 0.0f;
- vertices[1][1][2] = 1.0f - texb;
- vertices[1][1][3] = 0.0f;
- vertices[1][1][4] = texb;
-
- vertices[1][2][0] = intx;
- vertices[1][2][1] = inty;
- vertices[1][2][2] = 1.0f;
- vertices[1][2][3] = 1.0f - texa;
- vertices[1][2][4] = 0.0f;
-
- vertices[1][3][0] = pageWidth;
- vertices[1][3][1] = pageHeight;
- vertices[1][3][2] = 1.0f;
- vertices[1][3][3] = 1.0f;
- vertices[1][3][4] = 0.0f;
-
- vertices[1][4][0] = 0.0f;
- vertices[1][4][1] = pageHeight;
- vertices[1][4][2] = 0.0f;
- vertices[1][4][3] = 1.0f;
- vertices[1][4][4] = 1.0f;
-
- pageCount[1] = 5;
- } else {
- // Generate similar trapezoids. Find the intersection with
- // the top of the page at y == pageHeight.
- qreal intx = refx + (pageHeight * cosAngle) / sinAngle;
- qreal inty = pageHeight;
-
- // Get the distance between the intersection and the right of the page.
- qreal e = pageWidth - intx;
-
- // Find the opposite trapezoid corners to "ref" and "int".
- qreal opprefx = refx + d * cosAngle2;
- qreal opprefy = refy + d * sinAngle2;
- qreal oppintx = intx + e * cosAngle2;
- qreal oppinty = inty + e * sinAngle2;
-
- // Generate vertices and texture co-ordinates for the back page.
- qreal texa = e / pageWidth;
- qreal texb = d / pageWidth;
- vertices[2][0][0] = intx;
- vertices[2][0][1] = inty;
- vertices[2][0][2] = texa;
- vertices[2][0][3] = 1.0f;
- vertices[2][0][4] = 1.0f;
-
- vertices[2][1][0] = oppintx;
- vertices[2][1][1] = oppinty;
- vertices[2][1][2] = 0.0f;
- vertices[2][1][3] = 1.0f;
- vertices[2][1][4] = 1.0f - texa;
-
- vertices[2][2][0] = opprefx;
- vertices[2][2][1] = opprefy;
- vertices[2][2][2] = 0.0f;
- vertices[2][2][3] = 0.0f;
- vertices[2][2][4] = 1.0f - texb;
-
- vertices[2][3][0] = refx;
- vertices[2][3][1] = refy;
- vertices[2][3][2] = texb;
- vertices[2][3][3] = 0.0f;
- vertices[2][3][4] = 1.0f;
-
- pageCount[2] = 4;
-
- // Generate vertices and texture co-ordinates for the next page.
- vertices[3][0][0] = intx;
- vertices[3][0][1] = inty;
- vertices[3][0][2] = 1.0f - texa;
- vertices[3][0][3] = 1.0f;
- vertices[3][0][4] = 1.0f;
-
- vertices[3][1][0] = refx;
- vertices[3][1][1] = refy;
- vertices[3][1][2] = 1.0f - texb;
- vertices[3][1][3] = 0.0f;
- vertices[3][1][4] = 1.0f;
-
- vertices[3][2][0] = pageWidth;
- vertices[3][2][1] = 0.0f;
- vertices[3][2][2] = 1.0f;
- vertices[3][2][3] = 0.0f;
- vertices[3][2][4] = 1.0f - texb;
-
- vertices[3][3][0] = pageWidth;
- vertices[3][3][1] = pageHeight;
- vertices[3][3][2] = 1.0f;
- vertices[3][3][3] = 1.0f;
- vertices[3][3][4] = 1.0f - texa;
-
- pageCount[3] = 4;
-
- // Set page 1's vertices to clip off pixels we don't need to draw.
- vertices[1][0][0] = 0.0f;
- vertices[1][0][1] = 0.0f;
- vertices[1][0][2] = 0.0f;
- vertices[1][0][3] = 0.0f;
- vertices[1][0][4] = 1.0f;
-
- vertices[1][1][0] = pageWidth - d;
- vertices[1][1][1] = 0.0f;
- vertices[1][1][2] = 1.0f - texb;
- vertices[1][1][3] = 0.0f;
- vertices[1][1][4] = texb;
-
- vertices[1][2][0] = pageWidth - e;
- vertices[1][2][1] = pageHeight;
- vertices[1][2][2] = 1.0f - texa;
- vertices[1][2][3] = 1.0f;
- vertices[1][2][4] = texa;
-
- vertices[1][3][0] = 0.0f;
- vertices[1][3][1] = pageHeight;
- vertices[1][3][2] = 0.0f;
- vertices[1][3][3] = 1.0f;
- vertices[1][3][4] = 1.0f;
-
- pageCount[1] = 4;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/demos/qt3d/pageflip/pageflipmath_p.h b/demos/qt3d/pageflip/pageflipmath_p.h
deleted file mode 100644
index 21280b05..00000000
--- a/demos/qt3d/pageflip/pageflipmath_p.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PAGEFLIPMATH_P_H
-#define PAGEFLIPMATH_P_H
-
-#include <QtOpenGL/qgl.h>
-
-QT_BEGIN_NAMESPACE
-
-class PageFlipMath
-{
-public:
- PageFlipMath();
- ~PageFlipMath();
-
- enum StartCorner
- {
- BottomRight,
- TopRight,
- BottomLeft,
- TopLeft,
- BottomLeftOnePage,
- TopLeftOnePage,
- VerticalBottomRight,
- VerticalTopRight,
- VerticalBottomLeft,
- VerticalTopLeft
- };
-
- // Corner to start flipping from.
- StartCorner startCorner() const { return m_startCorner; }
- void setStartCorner(StartCorner value) { m_startCorner = value; }
-
- // Rectangle to display the main page (usually the one on the right).
- QRect pageRect() const { return m_pageRect; }
- void setPageRect(const QRect& rect) { m_pageRect = rect; }
-
- // Show the reverse of the right-hand page on the back when
- // flipping pages. That is, the user will essentially see
- // the texture on the front of the page "through" it in reverse
- // while it is being flipped.
- bool showPageReverse() const { return m_showPageReverse; }
- void setShowPageReverse(bool value) { m_showPageReverse = value; }
-
- // Get the vertex array pointer.
- const GLfloat *vertexArray() const { return vertices[0][0]; }
-
- // Get the vertex array stride in bytes.
- int stride() const { return 5 * sizeof(GLfloat); }
-
- // Draw a specific page.
- void drawPage(int page) const;
-
- // Draw the outline of a page as a set of lines.
- void drawOutline(int page) const;
-
- // Compute the frame at position t (0...1) in the animation.
- void compute(qreal t);
-
-private:
- StartCorner m_startCorner;
- QRect m_pageRect;
- bool m_showPageReverse;
-
- // Vertex array: up to 4 pages, with up to 5 vertices per page,
- // and 5 components (2D position, 2D texcoord, 1D gradient control)
- // per vertex. The gradient control value is interpolated between
- // 0 and 1 - it is 1 at the fold point and 0 on the side of the page
- // opposite the fold point. Shaders can use this to extract a color
- // value from a gradient texture to blend with the page texture.
- GLfloat vertices[4][5][5];
-
- // Number of vertices for drawing the triangle fan for each page.
- int pageCount[4];
-
- void flip(qreal pageWidth, qreal pageHeight, qreal t);
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/demos/qt3d/pageflip/qqpage1.png b/demos/qt3d/pageflip/qqpage1.png
deleted file mode 100644
index 8abf37d9..00000000
--- a/demos/qt3d/pageflip/qqpage1.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/qqpage2.png b/demos/qt3d/pageflip/qqpage2.png
deleted file mode 100644
index afd1b047..00000000
--- a/demos/qt3d/pageflip/qqpage2.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/qqpage3.png b/demos/qt3d/pageflip/qqpage3.png
deleted file mode 100644
index fa2a85a0..00000000
--- a/demos/qt3d/pageflip/qqpage3.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/qqpage4.png b/demos/qt3d/pageflip/qqpage4.png
deleted file mode 100644
index 0a6ba7b0..00000000
--- a/demos/qt3d/pageflip/qqpage4.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/pageflip/qt3d.ico b/demos/qt3d/pageflip/qt3d.ico
deleted file mode 100644
index 1d07c43d..00000000
--- a/demos/qt3d/pageflip/qt3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/buttons.cpp b/demos/qt3d/photobrowser3d/buttons.cpp
deleted file mode 100644
index 16373e65..00000000
--- a/demos/qt3d/photobrowser3d/buttons.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "buttons.h"
-#include "qglpainter.h"
-
-Buttons::Buttons(QObject *parent, QGLMaterialCollection *palette)
- : QGLSceneNode(parent)
-{
- setObjectName("Buttons");
- setPalette(palette);
- setOption(QGLSceneNode::CullBoundingBox, false);
-
- m_left = new QGLSceneNode(this);
- m_left->setObjectName("Left Button");
- m_right = new QGLSceneNode(this);
- m_right->setObjectName("Right Button");
-
- QGLMaterial *mat = new QGLMaterial;
- QImage im(":/controls/arrows-left.png");
- m_size = im.size();
- QGLTexture2D *tex = new QGLTexture2D(mat);
- tex->setImage(im);
- mat->setTexture(tex);
-
- setMaterial(mat);
- setEffect(QGL::FlatReplaceTexture2D);
-
- QGeometryData data;
- QSize f = im.size() / 2;
- QVector2D a(-f.width(), -f.height());
- QVector2D b(f.width(), -f.height());
- QVector2D c(f.width(), f.height());
- QVector2D d(-f.width(), f.height());
- QVector2D ta(0, 1);
- QVector2D tb(1, 1);
- QVector2D tc(1, 0);
- QVector2D td(0, 0);
- data.appendVertex(a, b, c, d);
- data.appendTexCoord(ta, tb, tc, td);
- data.appendIndices(0, 1, 2);
- data.appendIndices(0, 2, 3);
-
- // the right hand arrow geometry is same as above, flipped X <-> -X
- data.appendGeometry(data);
- data.texCoord(4).setX(1);
- data.texCoord(5).setX(0);
- data.texCoord(6).setX(0);
- data.texCoord(7).setX(1);
- data.appendIndices(4, 5, 6);
- data.appendIndices(4, 6, 7);
-
- m_left->setGeometry(data);
- m_left->setCount(6);
- m_left->setOption(QGLSceneNode::CullBoundingBox, false);
-
- m_right->setGeometry(data);
- m_right->setStart(6);
- m_right->setCount(6);
- m_left->setOption(QGLSceneNode::CullBoundingBox, false);
-}
-
-void Buttons::draw(QGLPainter *painter)
-{
- painter->projectionMatrix().push();
- painter->modelViewMatrix().push();
-
- QRect rect = painter->currentSurface()->viewportRect();
- QMatrix4x4 projm;
- projm.ortho(rect);
- painter->projectionMatrix() = projm;
- painter->modelViewMatrix().setToIdentity();
-
- if (m_left->position().isNull())
- {
- QVector2D pos(m_size.width() / 2, rect.height() - m_size.height() / 2);
- m_left->setPosition(pos);
- pos.setX(rect.width() - (m_size.width() / 2));
- m_right->setPosition(pos);
- }
-
- glDisable(GL_DEPTH_TEST);
-
- QGLSceneNode::draw(painter);
-
- glEnable(GL_DEPTH_TEST);
-
- painter->projectionMatrix().pop();
- painter->modelViewMatrix().pop();
-}
-
-void Buttons::clearPositions()
-{
- m_left->setPosition(QVector3D());
- m_right->setPosition(QVector3D());
-}
diff --git a/demos/qt3d/photobrowser3d/buttons.h b/demos/qt3d/photobrowser3d/buttons.h
deleted file mode 100644
index 1d0155c2..00000000
--- a/demos/qt3d/photobrowser3d/buttons.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BUTTONS_H
-#define BUTTONS_H
-
-#include "qglscenenode.h"
-
-#include <Qt>
-
-class Buttons : public QGLSceneNode
-{
- Q_OBJECT
-public:
- explicit Buttons(QObject *parent, QGLMaterialCollection *palette);
- void draw(QGLPainter *painter);
- void clearPositions();
-private:
- QGLSceneNode *m_left;
- QGLSceneNode *m_right;
- QSize m_size;
-};
-
-#endif // BUTTONS_H
diff --git a/demos/qt3d/photobrowser3d/bytereader.cpp b/demos/qt3d/photobrowser3d/bytereader.cpp
deleted file mode 100644
index 13511868..00000000
--- a/demos/qt3d/photobrowser3d/bytereader.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "bytereader.h"
-#include "thumbnailableimage.h"
-
-#include <QByteArray>
-#include <QThread>
-#include <QImage>
-#include <QImageReader>
-#include <QUrl>
-#include <QFile>
-#include <QCoreApplication>
-
-ByteReader::ByteReader()
- : m_stop(0), m_loading(0)
-{ }
-
-void ByteReader::loadFile(const ThumbnailableImage &image)
-{
- if (!m_stop.load())
- {
- m_loading.ref();
-
- // FIXME: actually handle remote files
- QUrl url = image.url();
- QString fn = url.toLocalFile();
- int pos = fn.lastIndexOf('.');
- QString ext;
- if (pos != -1)
- ext = fn.mid(pos).toUpper();
- if (ext.isEmpty() ||
- !QImageReader::supportedImageFormats().contains(ext.toLocal8Bit()))
- ext = QString();
- QImage im;
- QFile f(fn);
- QString errorMessage;
- if (f.open(QIODevice::ReadOnly))
- {
- QByteArray bytes;
- while (!f.atEnd() & !m_stop.load())
- {
- bytes.append(f.read(1024));
- QCoreApplication::processEvents();
- }
- im = ext.isEmpty() ? QImage::fromData(bytes)
- : QImage::fromData(bytes, qPrintable(ext));
- }
- else
- {
- errorMessage = tr("Could not read: %1").arg(url.toString());
- }
-
- QCoreApplication::processEvents();
- if (!m_stop.load())
- {
- if (im.isNull())
- {
- im = QImage(QSize(128, 128), QImage::Format_ARGB32);
- im.fill(qRgba(0, 30, 50, 64));
- QPainter ptr;
- ptr.begin(&im);
- ptr.setBackgroundMode(Qt::TransparentMode);
- if (errorMessage.isEmpty())
- errorMessage = tr("Could not load: %1").arg(url.toString());
- ptr.setPen(QColor("orange"));
- ptr.drawText(im.rect(), Qt::AlignCenter, errorMessage);
- ptr.end();
- }
- else
- {
- // TODO: Fix size limit
- // This arbitrary size limit is really a debugging/development thing
- // In a real program once you had loaded the full image, the photo-
- // viewer would allow zooming and panning all around in the image
- // so loading a 2896 pixel × 1944 pixel photo would make sense even
- // on a small screen. For now work with fairly cruddy image quality.
- // Probably the fix is to have a separate load call that re-fetches
- // the full image on a zoom
- QSize workSize(1024, 768);
- Qt::TransformationMode mode = Qt::SmoothTransformation;
- if (QThread::idealThreadCount() < 2)
- {
- workSize = workSize / 2;
- mode = Qt::FastTransformation;
- }
- if (im.size().width() > workSize.width() || im.size().height() > workSize.height())
- im = im.scaled(workSize, Qt::KeepAspectRatio, mode);
- }
-
- Q_ASSERT(!im.isNull());
- ThumbnailableImage result(image);
- result.setData(im);
-
- // it would be nice to incur the cost of setThumbnailed() on the image
- // at this point - in the background thread. Trouble is the atlas is
- // constantly being accessed by the draw loop and to do anything about
- // that would mean locking the GUI thread...
-
- Q_ASSERT(!result.isNull());
-
- emit imageLoaded(result);
- }
-
- m_loading.deref();
- }
-
- if (m_stop.load())
- emit stopped();
-
-}
-
-void ByteReader::stop()
-{
- m_stop.ref();
- if (!m_loading.load())
- emit stopped();
-}
diff --git a/demos/qt3d/photobrowser3d/bytereader.h b/demos/qt3d/photobrowser3d/bytereader.h
deleted file mode 100644
index c790b823..00000000
--- a/demos/qt3d/photobrowser3d/bytereader.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BYTEREADER_H
-#define BYTEREADER_H
-
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-class QUrl;
-QT_END_NAMESPACE
-
-class ThumbnailableImage;
-
-class ByteReader : public QObject
-{
- Q_OBJECT
-public:
- ByteReader();
-signals:
- void imageLoaded(const ThumbnailableImage &image);
- void stopped();
-public slots:
- void loadFile(const ThumbnailableImage &url);
- void stop();
-private:
- QAtomicInt m_stop;
- QAtomicInt m_loading;
-};
-
-#endif // BYTEREADER_H
diff --git a/demos/qt3d/photobrowser3d/filescanner.cpp b/demos/qt3d/photobrowser3d/filescanner.cpp
deleted file mode 100644
index 86785dc9..00000000
--- a/demos/qt3d/photobrowser3d/filescanner.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "filescanner.h"
-
-#include <QTime>
-#include <QFileInfo>
-#include <QStringList>
-#include <QSet>
-#include <QDir>
-#include <QCoreApplication>
-#include <QImageReader>
-#include <QDebug>
-
-FileScanner::FileScanner(QObject *parent)
- : QThread(parent), m_stop(0)
-{ }
-
-FileScanner::~FileScanner()
-{
- // nothing to do here
-}
-
-void FileScanner::stop()
-{
- m_stop.ref();
-}
-
-void FileScanner::run()
-{
- scan();
-}
-
-void FileScanner::scan()
-{
- QStringList queue;
- queue.append(m_url.path());
- QSet<QString> loopProtect;
- int count = 0;
- while (queue.size() > 0 && !m_stop.load() && count < 300)
- {
- QString path = queue.takeFirst();
- QFileInfo u(path);
- if (u.isSymLink())
- {
- path = u.symLinkTarget();
- u = QFileInfo(path);
- }
- if (u.isDir())
- {
- if (!loopProtect.contains(path))
- {
- loopProtect.insert(path);
- QDir dir(path);
- QStringList entries = dir.entryList();
- QStringList::const_iterator it = entries.constBegin();
- for ( ; it != entries.constEnd(); ++it)
- {
- // ignore hidden files, system directories
- if ((*it).startsWith("."))
- continue;
- queue.append(dir.absoluteFilePath(*it));
- }
- }
- }
- else
- {
- if (u.isFile() && u.isReadable())
- {
- // small optimization: if the file has a suffix, check if that
- // is known as an image format before sending to loader
- QString ext = u.suffix().toLower();
- if (ext.isEmpty() ||
- QImageReader::supportedImageFormats().contains(ext.toLocal8Bit()))
- {
- QUrl url2;
- url2.setScheme("file");
- url2.setPath(u.absoluteFilePath());
- emit imageUrl(url2);
- ++count;
- }
- }
- }
- QCoreApplication::processEvents();
- QThread::yieldCurrentThread();
- }
-}
diff --git a/demos/qt3d/photobrowser3d/filescanner.h b/demos/qt3d/photobrowser3d/filescanner.h
deleted file mode 100644
index 0431b54b..00000000
--- a/demos/qt3d/photobrowser3d/filescanner.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef FILESCANNER_H
-#define FILESCANNER_H
-
-#include <QThread>
-#include <QUrl>
-#include <QDebug>
-
-class FileScanner : public QThread
-{
- Q_OBJECT
-public:
- explicit FileScanner(QObject *parent = 0);
- ~FileScanner();
-
- // INVARIANT: never get called when the thread is running
- void setBaseUrl(const QUrl &url)
- {
- Q_ASSERT(!isRunning());
- m_url = url;
- }
-
-signals:
- void imageUrl(const QUrl &url);
-
-public slots:
- void stop();
- void scan();
-
-protected:
- void run();
-
- QUrl m_url;
- QAtomicInt m_stop;
-private:
-
-};
-
-#endif // FILESCANNER_H
diff --git a/demos/qt3d/photobrowser3d/icon-l-qt3d.png b/demos/qt3d/photobrowser3d/icon-l-qt3d.png
deleted file mode 100644
index 07cc4092..00000000
--- a/demos/qt3d/photobrowser3d/icon-l-qt3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/imagedisplay.cpp b/demos/qt3d/photobrowser3d/imagedisplay.cpp
deleted file mode 100644
index a39cfa02..00000000
--- a/demos/qt3d/photobrowser3d/imagedisplay.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "imagedisplay.h"
-#include "thumbnailableimage.h"
-#include "thumbnailnode.h"
-#include "thumbnaileffect.h"
-#include "qglbuilder.h"
-#include "qglcube.h"
-#include "imagemanager.h"
-#include "qatlas.h"
-#include "qglshaderprogrameffect.h"
-#include "qphotobrowser3dscene.h"
-#include "photobrowser3dview.h"
-
-#include <QApplication>
-#include <QChildEvent>
-#include <QUrl>
-#include <QImage>
-
-static inline QImage qMakeFrameImage()
-{
- QImage frm(QSize(128, 128), QImage::Format_ARGB32);
- frm.fill(qRgba(8, 8, 8, 255)); // dark grey frame
- QPainter ptr;
- ptr.begin(&frm);
- QRect r(8, 8, 112, 112);
- ptr.setBackgroundMode(Qt::TransparentMode);
- ptr.fillRect(r, QColor(0, 30, 50, 64));
- ptr.setPen(QColor("orange"));
- ptr.drawText(frm.rect(), Qt::AlignCenter, "Loading...");
- ptr.end();
- return frm;
-}
-
-static inline void qAddPane(QSizeF size, QGeometryData *data)
-{
- Q_ASSERT(data);
- QSizeF f = size / 2.0f;
- QVector2D a(-f.width(), -f.height());
- QVector2D b(f.width(), -f.height());
- QVector2D c(f.width(), f.height());
- QVector2D d(-f.width(), f.height());
- QVector2D ta(0.0f, 0.0f);
- QVector2D tb(1.0f, 0.0f);
- QVector2D tc(1.0f, 1.0f);
- QVector2D td(0.0f, 1.0f);
- int k = data->count();
- data->appendVertex(a, b, c, d);
- data->appendTexCoord(ta, tb, tc, td);
- data->appendIndices(k, k+1, k+2);
- data->appendIndices(k, k+2, k+3);
-}
-
-ImageDisplay::ImageDisplay(QObject *parent, QGLMaterialCollection *materials, qreal wallSize)
- : QGLSceneNode(parent)
- , m_wall(0)
- , m_frames(0)
- , m_currentWall(0)
- , m_currentFrame(0)
- , m_imageSetToDefault(false)
- , m_count(0)
- , m_size(wallSize)
- , m_frameSize((m_size * 3.0f) / 4.0f)
- , m_maxImages(500)
- , m_frameLoadingMaterial(-1)
-{
- // the real values will get poked in here by the atlas
- m_atlasPlaceHolder.append(QVector2D(), QVector2D(), QVector2D(), QVector2D());
-
- setObjectName("ImageDisplay");
- setPalette(materials);
-
- // the frames lie in Z = 0, the wall is set back and lies in
- // the plane Z = (m_size / -4.0)
-
- // build the wall
- qAddPane(QSize(m_size, m_size), &m_wallGeometry);
- m_wall = new QGLSceneNode(this);
- m_wall->setObjectName("Wall");
- m_wall->setPalette(materials);
- m_currentWall = new QGLSceneNode(m_wall);
- m_currentWall->setObjectName("wall 0");
- m_currentWall->setGeometry(m_wallGeometry);
- m_currentWall->setCount(m_wallGeometry.indexCount());
- m_wall->setPosition(QVector3D(0.0f, 0.0f, m_size / -4.0));
-
- // paint the wall
- m_wall->setEffect(QGL::FlatReplaceTexture2D);
- QGLMaterial *mat = new QGLMaterial();
- QGLTexture2D *tex = new QGLTexture2D(mat);
- tex->setImage(QImage(":/res/images/girder.png"));
- mat->setTexture(tex);
- mat->setObjectName("girder material");
- m_wall->setMaterial(mat);
-
- // build the frames
- qAddPane(QSize(m_frameSize, m_frameSize), &m_frameGeometry);
- m_frameGeometry.appendTexCoordArray(m_atlasPlaceHolder, QGL::TextureCoord1);
- m_frames = new QGLSceneNode(this);
- m_frames->setObjectName("Frames");
- m_currentFrame = new ThumbnailNode(m_frames);
- m_currentFrame->setObjectName("frame 0");
- m_currentFrame->setGeometry(m_frameGeometry);
- m_currentFrame->setCount(m_frameGeometry.indexCount());
-
- // use the frames geometry to put the atlas data into
- QAtlas *atlas = QAtlas::instance();
- atlas->setGeometry(m_frameGeometry);
-
- // generally the frames use the thumbnail material & effect
- m_effect = new ThumbnailEffect;
- m_frames->setUserEffect(m_effect);
- m_frames->setEffectEnabled(true);
- m_frames->setMaterial(atlas->material());
-
- // unless they're loading, in which case use the "loading" image
- m_frameImage = qMakeFrameImage();
- mat = new QGLMaterial();
- tex = new QGLTexture2D(mat);
- tex->setHorizontalWrap(QGL::Clamp);
- tex->setImage(m_frameImage);
- mat->setTexture(tex);
- mat->setObjectName("loading image material - default");
- m_frameLoadingMaterial = materials->addMaterial(mat);
- m_currentFrame->setMaterialIndex(m_frameLoadingMaterial);
-
- // make the frames pickable
- PhotoBrowser3DView *view = qobject_cast<PhotoBrowser3DView*>(parent);
- view->scene()->mainNode()->addNode(m_frames);
-
- m_imageSetToDefault = true;
-}
-
-ImageDisplay::~ImageDisplay()
-{
- delete m_effect;
-}
-
-void ImageDisplay::addThumbnailNode(const QUrl &image)
-{
- Q_ASSERT(QThread::currentThread() == thread());
- ImageManager *manager = qobject_cast<ImageManager*>(sender());
- if (!m_imageSetToDefault)
- {
- QVector3D p = m_currentFrame->position();
- p.setX(p.x() - m_size);
- int start = m_frameGeometry.indexCount();
- qAddPane(QSize(m_frameSize, m_frameSize), &m_frameGeometry);
- int count = m_frameGeometry.indexCount() - start;
- m_frameGeometry.appendTexCoordArray(m_atlasPlaceHolder, QGL::TextureCoord1);
- m_currentFrame = new ThumbnailNode(m_frames);
- QString name = QLatin1String("frame %1");
- name.arg(m_count);
- m_currentFrame->setObjectName(name);
- m_currentFrame->setPosition(p);
- m_currentFrame->setStart(start);
- m_currentFrame->setCount(count);
- m_currentFrame->setGeometry(m_frameGeometry);
- m_currentFrame->setMaterialIndex(m_frameLoadingMaterial);
-
- QGLSceneNode *s = m_currentWall->clone(m_wall);
- name = QLatin1String("wall %1");
- name.arg(m_count);
- s->setObjectName(name);
- p = s->position();
- p.setX(p.x() - m_size);
- s->setPosition(p);
- m_currentWall = s;
- }
- m_currentFrame->setUrl(image);
- if (manager)
- {
- connect(m_currentFrame, SIGNAL(imageRequired(ThumbnailableImage)),
- manager, SIGNAL(deployLoader(ThumbnailableImage)));
- connect(manager, SIGNAL(imageReady(ThumbnailableImage)),
- m_currentFrame, SLOT(setImage(ThumbnailableImage)));
- }
- PhotoBrowser3DView *view = qobject_cast<PhotoBrowser3DView*>(parent());
- Q_ASSERT(view);
- connect(m_currentFrame, SIGNAL(nodeChanged()), view, SLOT(update()));
-
- m_imageSetToDefault = false;
- emit framesChanged();
- ++m_count;
-}
diff --git a/demos/qt3d/photobrowser3d/imagedisplay.h b/demos/qt3d/photobrowser3d/imagedisplay.h
deleted file mode 100644
index b0d7a56d..00000000
--- a/demos/qt3d/photobrowser3d/imagedisplay.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef IMAGEDISPLAY_H
-#define IMAGEDISPLAY_H
-
-#include "qglscenenode.h"
-#include "qglmaterialcollection.h"
-
-#include <QString>
-
-QT_BEGIN_NAMESPACE
-class QGLBuilder;
-class QGLTexture2D;
-class QGLPainter;
-QT_END_NAMESPACE
-
-class ThumbnailNode;
-
-class ImageDisplay : public QGLSceneNode
-{
- Q_OBJECT
-public:
- ImageDisplay(QObject *parent, QGLMaterialCollection *materials, qreal wallSize = 4.0);
- ~ImageDisplay();
- int maxImages() const { return m_maxImages; }
- void setMaxImages(int max) { m_maxImages = max; }
-signals:
- void framesChanged();
-public slots:
- void addThumbnailNode(const QUrl &url);
-private:
- QGLSceneNode *m_wall;
- QGLSceneNode *m_frames;
- QGLSceneNode *m_currentWall;
- ThumbnailNode *m_currentFrame;
- QGLAbstractEffect *m_effect;
- bool m_imageSetToDefault;
- int m_count;
- qreal m_size;
- qreal m_frameSize;
- int m_maxImages;
- QImage m_frameImage;
- int m_frameLoadingMaterial;
- QGeometryData m_frameGeometry;
- QGeometryData m_wallGeometry;
- QVector2DArray m_atlasPlaceHolder;
-};
-
-#endif // IMAGEDISPLAY_H
diff --git a/demos/qt3d/photobrowser3d/imageloader.cpp b/demos/qt3d/photobrowser3d/imageloader.cpp
deleted file mode 100644
index b2e0b4b2..00000000
--- a/demos/qt3d/photobrowser3d/imageloader.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "imageloader.h"
-#include "imagemanager.h"
-#include "bytereader.h"
-
-#include <QFileInfo>
-#include <QTime>
-#include <QDir>
-#include <QStringList>
-#include <QPixmap>
-#include <QPainter>
-#include <QBuffer>
-#include <QImageReader>
-#include <QMutex>
-#include <QMutexLocker>
-#include <QTimer>
-
-ImageLoader::ImageLoader()
- : m_stop(0)
-{ }
-ImageLoader::~ImageLoader()
-{
- // nothing to do here
-}
-
-ThumbnailableImage ImageLoader::image() const
-{
- return m_image;
-}
-
-void ImageLoader::setImage(const ThumbnailableImage &image)
-{
- m_image = image;
- if (!m_stop.load() && isRunning())
- emit readRequired(image);
-}
-
-void ImageLoader::stop()
-{
- m_stop.ref();
- emit stopLoading();
-}
-
-void ImageLoader::queueInitialImage()
-{
- emit readRequired(m_image);
-}
-
-void ImageLoader::unusedTimeout()
-{
- emit unused();
-}
-
-void ImageLoader::run()
-{
- ByteReader reader;
- connect(this, SIGNAL(readRequired(ThumbnailableImage)),
- &reader, SLOT(loadFile(ThumbnailableImage)));
- connect(&reader, SIGNAL(imageLoaded(ThumbnailableImage)),
- this, SIGNAL(imageLoaded(ThumbnailableImage)));
-
- connect(this, SIGNAL(stopLoading()), &reader, SLOT(stop()));
- connect(&reader, SIGNAL(stopped()), this, SLOT(quit()));
-
- QTimer timer;
- connect(&timer, SIGNAL(timeout()), this, SLOT(unusedTimeout()));
- timer.start(2 * 60 * 1000);
-
- if (!m_image.isNull())
- QTimer::singleShot(0, this, SLOT(queueInitialImage()));
-
- exec();
-}
diff --git a/demos/qt3d/photobrowser3d/imageloader.h b/demos/qt3d/photobrowser3d/imageloader.h
deleted file mode 100644
index f8f23ac4..00000000
--- a/demos/qt3d/photobrowser3d/imageloader.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef IMAGELOADER_H
-#define IMAGELOADER_H
-
-#include <QThread>
-#include <QUrl>
-#include <QMutex>
-#include <QAtomicInt>
-
-#include "thumbnailableimage.h"
-
-class ImageManager;
-class ByteReader;
-
-class ImageLoader : public QThread
-{
- Q_OBJECT
-public:
- ImageLoader();
- ~ImageLoader();
- ThumbnailableImage image() const;
- void setImage(const ThumbnailableImage &image);
-signals:
- void imageLoaded(const ThumbnailableImage &image);
- void stopLoading();
- void readRequired(const ThumbnailableImage &image);
- void thumbnailRequired(const ThumbnailableImage &image);
- void thumbnailDone(const ThumbnailableImage &image);
- void unused();
-public slots:
- void stop();
-protected:
- void run();
-private slots:
- void queueInitialImage();
- void unusedTimeout();
-private:
- ThumbnailableImage m_image;
- QAtomicInt m_stop;
- ByteReader *m_reader;
-};
-
-#endif // IMAGELOADER_H
diff --git a/demos/qt3d/photobrowser3d/imagemanager.cpp b/demos/qt3d/photobrowser3d/imagemanager.cpp
deleted file mode 100644
index 6f2ec5bc..00000000
--- a/demos/qt3d/photobrowser3d/imagemanager.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "imagemanager.h"
-#include "qatlas.h"
-#include "filescanner.h"
-#include "threadpool.h"
-
-#include <QTime>
-#include <QTimer>
-#include <QDir>
-
-ImageManager::ImageManager()
-{
-}
-
-ImageManager::~ImageManager()
-{
-}
-
-// INVARIANT: only ever called before the run() function is started
-// therefore no need for synchronized url
-void ImageManager::setImageBaseUrl(const QUrl &url)
-{
- Q_ASSERT(!isRunning());
- m_url = url;
-}
-
-/*!
- Stop the running threads if any, then sit waiting in the event loop
- for a quit call.
-*/
-void ImageManager::stop()
-{
- emit stopAll();
-}
-
-void ImageManager::scanForFiles()
-{
- // TODO: In a real app there would be a way to detect new files arriving
- // and trigger a rescan to pick these new files up. Here we just scan
- // once and then destroy the scanner, to save on resources.
-
-#ifndef QT_USE_TEST_IMAGES
- // TODO: If the amount of files is large and the app is quit early the
- // scanner could still be going when the threadpool quits. For now
- // assume its ok...
- FileScanner *scanner = new FileScanner;
- scanner->setBaseUrl(m_url);
- connect(scanner, SIGNAL(imageUrl(QUrl)), this, SIGNAL(imageUrl(QUrl)));
- connect(scanner, SIGNAL(finished()), scanner, SLOT(deleteLater()));
- connect(this, SIGNAL(stopAll()), scanner, SLOT(stop()));
- scanner->start();
-#else
- QDir testImages(":/pictures");
- QStringList pics = testImages.entryList();
- for (int i = 0; i < pics.size(); ++i)
- {
- QUrl url;
- url.setScheme("file");
- url.setPath(testImages.filePath(pics.at(i)));
- emit imageUrl(url);
- }
- qDebug() << "== test images loaded ==";
-#endif
-}
-
-void ImageManager::quit()
-{
- QThread::quit();
-}
-
-void ImageManager::run()
-{
- if (m_url.scheme() != "file")
- {
- qWarning("URL scheme %s not yet supported", qPrintable(m_url.scheme()));
- return;
- }
-
- // execute once in the event loop below
- QTimer::singleShot(0, this, SLOT(scanForFiles()));
-
-#ifndef QT_NO_THREADED_FILE_LOAD
- ThreadPool pool;
-
- connect(this, SIGNAL(deployLoader(ThumbnailableImage)),
- &pool, SLOT(deployLoader(ThumbnailableImage)));
-
- connect(this, SIGNAL(stopAll()), &pool, SLOT(stop()));
- connect(&pool, SIGNAL(stopped()), this, SLOT(quit()));
-#endif
-
- exec();
-}
diff --git a/demos/qt3d/photobrowser3d/imagemanager.h b/demos/qt3d/photobrowser3d/imagemanager.h
deleted file mode 100644
index 412f590a..00000000
--- a/demos/qt3d/photobrowser3d/imagemanager.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef IMAGEMANAGER_H
-#define IMAGEMANAGER_H
-
-#include <QThread>
-#include <QUrl>
-#include <QImage>
-#include <QMutex>
-
-#include "thumbnailableimage.h"
-
-class Launcher;
-
-class ImageManager : public QThread
-{
- Q_OBJECT
-public:
- ImageManager();
- ~ImageManager();
- QUrl imageBaseUrl() const { return m_url; }
- void setImageBaseUrl(const QUrl &url);
-public slots:
- void stop();
- void quit();
-signals:
- void imageUrl(const QUrl &);
- void imageReady(const ThumbnailableImage &);
- void deployLoader(const ThumbnailableImage &);
- void stopAll();
-protected:
- void run();
-private slots:
- void scanForFiles();
-private:
- QUrl m_url;
-};
-
-#endif // IMAGEMANAGER_H
diff --git a/demos/qt3d/photobrowser3d/images/P1000223.JPG b/demos/qt3d/photobrowser3d/images/P1000223.JPG
deleted file mode 100644
index 48edfbc2..00000000
--- a/demos/qt3d/photobrowser3d/images/P1000223.JPG
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/P1000228.JPG b/demos/qt3d/photobrowser3d/images/P1000228.JPG
deleted file mode 100644
index 2797b6df..00000000
--- a/demos/qt3d/photobrowser3d/images/P1000228.JPG
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/P1000472.JPG b/demos/qt3d/photobrowser3d/images/P1000472.JPG
deleted file mode 100644
index 067afdd4..00000000
--- a/demos/qt3d/photobrowser3d/images/P1000472.JPG
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/arrows-left.png b/demos/qt3d/photobrowser3d/images/arrows-left.png
deleted file mode 100644
index 791f2c6b..00000000
--- a/demos/qt3d/photobrowser3d/images/arrows-left.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/arrows.xcf b/demos/qt3d/photobrowser3d/images/arrows.xcf
deleted file mode 100644
index 302bcd6e..00000000
--- a/demos/qt3d/photobrowser3d/images/arrows.xcf
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_base.xcf b/demos/qt3d/photobrowser3d/images/default_sky_base.xcf
deleted file mode 100644
index 050812f7..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_base.xcf
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_down.png b/demos/qt3d/photobrowser3d/images/default_sky_down.png
deleted file mode 100644
index 685c28c4..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_down.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_east.png b/demos/qt3d/photobrowser3d/images/default_sky_east.png
deleted file mode 100644
index f6463abf..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_east.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_north.png b/demos/qt3d/photobrowser3d/images/default_sky_north.png
deleted file mode 100644
index 153b833c..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_north.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_south.png b/demos/qt3d/photobrowser3d/images/default_sky_south.png
deleted file mode 100644
index b3b01321..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_south.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_up.png b/demos/qt3d/photobrowser3d/images/default_sky_up.png
deleted file mode 100644
index 3d4d6233..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_up.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/default_sky_west.png b/demos/qt3d/photobrowser3d/images/default_sky_west.png
deleted file mode 100644
index 14325371..00000000
--- a/demos/qt3d/photobrowser3d/images/default_sky_west.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/images/girder.png b/demos/qt3d/photobrowser3d/images/girder.png
deleted file mode 100644
index f9b6c4dc..00000000
--- a/demos/qt3d/photobrowser3d/images/girder.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/launcher.cpp b/demos/qt3d/photobrowser3d/launcher.cpp
deleted file mode 100644
index 6d90636b..00000000
--- a/demos/qt3d/photobrowser3d/launcher.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "launcher.h"
-#include "imageloader.h"
-#include "imagemanager.h"
-
-#include <QSemaphore>
-#include <QTime>
-#include <QFileInfo>
-#include <QDir>
-#include <QStringList>
-#include <QSet>
-#include <QDebug>
-
-Launcher::Launcher(ImageManager *manager)
- : m_manager(manager)
- , m_stop(false)
-{
- Q_ASSERT(m_manager);
-}
-
-void Launcher::run()
-{
- if (m_url.isEmpty())
- {
- qWarning("Launcher::run - empty URL!");
- return;
- }
- if (m_url.scheme() != QLatin1String("file"))
- {
- qWarning("URL scheme %s not yet supported", qPrintable(m_url.scheme()));
- return;
- }
- QStringList queue;
- queue.append(m_url.path());
- QSet<QString> loopProtect;
- while (queue.size() > 0 && !m_stop)
- {
- QString path = queue.takeFirst();
- QFileInfo u(path);
- if (u.isSymLink())
- path = u.symLinkTarget();
- if (u.isDir())
- {
- if (!loopProtect.contains(path))
- {
- loopProtect.insert(path);
- QDir dir(path);
- QStringList entries = dir.entryList();
- QStringList::const_iterator it = entries.constBegin();
- for ( ; it != entries.constEnd(); ++it)
- {
- // ignore hidden files, system directories
- if ((*it).startsWith(QLatin1Char('.')))
- continue;
- queue.append(dir.absoluteFilePath(*it));
- }
- }
- }
- else
- {
- if (u.isFile() && u.isReadable())
- {
- // do no checking here for file extensions etc - just
- // forward any readable file found under the pictures
- // directory to the QImage loader, and let it sort out
- // if the thing can be loaded as an image.
- QUrl url2;
- url2.setScheme(QLatin1String("file"));
- url2.setPath(u.absoluteFilePath());
- m_manager->acquire();
- emit imageUrl(url2);
- }
- }
- }
-}
diff --git a/demos/qt3d/photobrowser3d/m5-photobrowser3d.desktop b/demos/qt3d/photobrowser3d/m5-photobrowser3d.desktop
deleted file mode 100644
index 54efc5f8..00000000
--- a/demos/qt3d/photobrowser3d/m5-photobrowser3d.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=Photobrowser
-Comment=Qt3D example application
-Exec=/usr/bin/photobrowser3d -fullscreen
-Icon=icon-l-qt3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/qt3d/photobrowser3d/main.cpp b/demos/qt3d/photobrowser3d/main.cpp
deleted file mode 100644
index 9e0edd87..00000000
--- a/demos/qt3d/photobrowser3d/main.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWidgets/QApplication>
-#include <QtCore/QThread>
-
-#include "photobrowser3dview.h"
-
-int main(int argc, char *argv[])
-{
- Q_INIT_RESOURCE(photobrowser3d);
-
- QApplication app(argc, argv);
-
- // for QSettings
- QCoreApplication::setOrganizationName("Nokia");
- QCoreApplication::setOrganizationDomain("nokia.com");
- QCoreApplication::setApplicationName("photobrowser3d");
-
- int result = 0;
- {
- PhotoBrowser3DView view;
-
- if (view.stereoType() != QGLView::RedCyanAnaglyph)
- view.camera()->setEyeSeparation(0.3f);
- QStringList args = QCoreApplication::arguments();
- int w_pos = args.indexOf("-width");
- int h_pos = args.indexOf("-height");
- if (w_pos >= 0 && h_pos >= 0)
- {
- bool ok = true;
- int w = args.at(w_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse width argument:" << args;
- return 1;
- }
- int h = args.at(h_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse height argument:" << args;
- return 1;
- }
- view.resize(w, h);
- }
- else
- {
- view.resize(800, 600);
- }
- view.show();
-
- result = app.exec();
- }
- return result;
-}
diff --git a/demos/qt3d/photobrowser3d/pancontroller.cpp b/demos/qt3d/photobrowser3d/pancontroller.cpp
deleted file mode 100644
index 1ed5639b..00000000
--- a/demos/qt3d/photobrowser3d/pancontroller.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "pancontroller.h"
-#include "qglview.h"
-#include "qglcamera.h"
-#include "photobrowser3dview.h"
-
-#include <qmath.h>
-
-#include <QtGlobal>
-#include <QTime>
-
-class PanControllerPrivate
-{
-public:
- PanControllerPrivate()
- : speed(0.0f)
- , angle(0.0f)
- , arrowDirection(Qt::NoArrow)
- , view(0)
- , maxSpeed(4.0f)
- , defaultDistance(0.0f)
- , panDistance(0.0f)
- , panViewAngle(M_PI / 4.0f) // 45 degrees in radians
- , animating(false)
- , elapsed(0.0f)
- {
- panTime.start();
- }
-
- void calculateValues();
-
- qreal speed;
- qreal angle;
- Qt::ArrowType arrowDirection;
- QGLView *view;
- QTime panTime;
- qreal maxSpeed;
- qreal defaultDistance;
- qreal panDistance;
- qreal panViewAngle;
- bool animating;
- qreal elapsed;
-};
-
-PanController::PanController(QObject *parent)
- : QObject(parent)
- , d(new PanControllerPrivate)
-{
- QGLView *v = qobject_cast<QGLView*>(parent);
- if (v)
- d->view = v;
-}
-
-PanController::~PanController()
-{
- delete d;
-}
-
-qreal PanController::defaultDistance() const
-{
- return d->defaultDistance;
-}
-
-void PanController::setDefaultDistance(qreal dist)
-{
- d->defaultDistance = dist;
-}
-
-qreal PanController::panDistance() const
-{
- return d->panDistance;
-}
-
-void PanController::setPanDistance(qreal dist)
-{
- d->panDistance = dist;
-}
-
-qreal PanController::panViewAngle() const
-{
- return d->panViewAngle;
-}
-
-void PanController::setPanViewAngle(qreal angle)
-{
- d->panViewAngle = angle;
-}
-
-void PanController::setMaxSpeed(qreal maxSpeed)
-{
- d->maxSpeed = maxSpeed;
-}
-
-qreal PanController::maxSpeed() const
-{
- return d->maxSpeed;
-}
-
-void PanController::setSpeed(qreal speed)
-{
- qreal t = d->panTime.restart();
- if (d->speed != speed)
- {
- d->speed = speed;
- d->angle = speed * d->panViewAngle;
- if (!qIsNull(d->speed))
- d->animating = true;
- d->elapsed += t;
- d->calculateValues();
- emit speedChanged();
- }
-}
-
-qreal PanController::speed() const
-{
- return d->speed;
-}
-
-void PanController::pan()
-{
- if (d->animating)
- {
- qreal t = d->panTime.restart();
- d->elapsed += t;
- // dont recalculate every single time
- // 30ms frame time == 33fps - more than enough
- if (d->elapsed > 30)
- d->calculateValues();
-
- PhotoBrowser3DView *view = qobject_cast<PhotoBrowser3DView*>(parent());
- Q_ASSERT(view);
- view->update();
- }
-}
-
-void PanControllerPrivate::calculateValues()
-{
- if (view && animating)
- {
- QGLCamera *cam = view->camera();
- Q_ASSERT(cam);
-
- QVector3D c = cam->center();
- QVector3D e = cam->eye();
-
- if (qFuzzyIsNull(speed))
- {
- c.setX(e.x());
- e.setZ(defaultDistance);
- }
- else
- {
- // as speed goes from 0 -> 1, eye moves closer to z=0 plane
- e.setZ(defaultDistance - (speed * (defaultDistance - panDistance)));
-
- // the view angle is a direct function of the speed see setSpeed() above
- // and as view angle increases we look further along the x-axis
- qreal opp = (e.z() - c.z()) * qTan(angle);
-
- // velocity along the x axis is controlled by speed (a value from 0 -> 1
- // which is a modifier for the maxSpeed, a constant). the velocity gives
- // us the incremental change in x for this unit time
- qreal dx = (speed * maxSpeed * elapsed);
-
- if (arrowDirection == Qt::LeftArrow)
- {
- e.setX(e.x() - dx);
- c.setX(e.x() - opp);
- }
- else if (arrowDirection == Qt::RightArrow)
- {
- e.setX(e.x() + dx);
- c.setX(e.x() + opp);
- }
- }
- cam->setEye(e);
- cam->setCenter(c);
- }
- elapsed = 0;
- if (qIsNull(speed))
- animating = false;
-}
-
-Qt::ArrowType PanController::direction() const
-{
- return d->arrowDirection;
-}
-
-void PanController::setDirection(Qt::ArrowType arrow)
-{
- Q_ASSERT(arrow == Qt::LeftArrow || arrow == Qt::RightArrow);
- d->arrowDirection = arrow;
-}
-
-QGLView *PanController::view() const
-{
- return d->view;
-}
-
-void PanController::setView(QGLView *view)
-{
- d->view = view;
-}
-
diff --git a/demos/qt3d/photobrowser3d/pancontroller.h b/demos/qt3d/photobrowser3d/pancontroller.h
deleted file mode 100644
index b6e938ab..00000000
--- a/demos/qt3d/photobrowser3d/pancontroller.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PANCONTROLLER_H
-#define PANCONTROLLER_H
-
-#include <QObject>
-#include <Qt>
-
-QT_BEGIN_NAMESPACE
-class QGLView;
-QT_END_NAMESPACE
-
-class PanControllerPrivate;
-
-class PanController : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(qreal speed READ speed WRITE setSpeed NOTIFY speedChanged)
-public:
- explicit PanController(QObject *parent = 0);
- ~PanController();
-
- qreal defaultDistance() const;
- void setDefaultDistance(qreal d);
-
- qreal panDistance() const;
- void setPanDistance(qreal d);
-
- qreal panViewAngle() const;
- void setPanViewAngle(qreal angle);
-
- qreal maxSpeed() const;
- void setMaxSpeed(qreal maxSpeed);
-
- qreal speed() const;
- void setSpeed(qreal speed);
-
- Qt::ArrowType direction() const;
- void setDirection(Qt::ArrowType arrow);
-
- QGLView *view() const;
- void setView(QGLView *view);
-
- void pan();
-
-signals:
- void speedChanged();
-
-private:
- PanControllerPrivate *d;
-};
-
-#endif // PANCONTROLLER_H
diff --git a/demos/qt3d/photobrowser3d/photobrowser.rc b/demos/qt3d/photobrowser3d/photobrowser.rc
deleted file mode 100644
index b40ecdc1..00000000
--- a/demos/qt3d/photobrowser3d/photobrowser.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qt3d.ico"
diff --git a/demos/qt3d/photobrowser3d/photobrowser3d.desktop b/demos/qt3d/photobrowser3d/photobrowser3d.desktop
deleted file mode 100644
index 747c8097..00000000
--- a/demos/qt3d/photobrowser3d/photobrowser3d.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Photobrowser 3D
-Icon=icon-l-qt3d
-Exec=/usr/bin/photobrowser3d -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_photobrowser3d
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/qt3d/photobrowser3d/photobrowser3d.pro b/demos/qt3d/photobrowser3d/photobrowser3d.pro
deleted file mode 100644
index 37c7275f..00000000
--- a/demos/qt3d/photobrowser3d/photobrowser3d.pro
+++ /dev/null
@@ -1,65 +0,0 @@
-TEMPLATE = app
-TARGET = photobrowser3d
-CONFIG += qt warn_on
-QT += widgets
-
-include(../../../pkg.pri)
-QT += qt3d opengl
-
-SOURCES += main.cpp\
- photobrowser3dview.cpp \
- imagedisplay.cpp \
- skybox.cpp \
- imagemanager.cpp \
- imageloader.cpp \
- qfocusadaptor.cpp \
- thumbnailableimage.cpp \
- qatlas.cpp \
- thumbnailnode.cpp \
- thumbnaileffect.cpp \
- filescanner.cpp \
- bytereader.cpp \
- threadpool.cpp \
- buttons.cpp \
- qphotobrowser3dscene.cpp \
- pancontroller.cpp
-
-HEADERS += photobrowser3dview.h \
- imagedisplay.h \
- skybox.h \
- imagemanager.h \
- imageloader.h \
- qfocusadaptor.h \
- thumbnailableimage.h \
- qatlas.h \
- thumbnailnode.h \
- thumbnaileffect.h \
- filescanner.h \
- bytereader.h \
- threadpool.h \
- buttons.h \
- qphotobrowser3dscene.h \
- pancontroller.h
-
-# Uncomment this line to force all file loading is done in the gui thread
-# instead of a background thread - useful for debugging.
-# DEFINES += QT_NO_THREADED_FILE_LOAD
-
-# Uncomment this to use test images instead of scanning the file-system for
-# pictures. The test images are stored in in-memory resources "files".
-# DEFINES += QT_USE_TEST_IMAGES
-
-RESOURCES += \
- photobrowser3d.qrc
-
-OTHER_FILES += \
- shaders/replace_texture.fsh \
- shaders/replace_texture.vsh
-
-CONFIG += qt3d_deploy_pkg
-include(../../../pkg.pri)
-
-OTHER_FILES += \
- photobrowser.rc
-
-RC_FILE = photobrowser.rc
diff --git a/demos/qt3d/photobrowser3d/photobrowser3d.qrc b/demos/qt3d/photobrowser3d/photobrowser3d.qrc
deleted file mode 100644
index 4d310bd8..00000000
--- a/demos/qt3d/photobrowser3d/photobrowser3d.qrc
+++ /dev/null
@@ -1,23 +0,0 @@
-<RCC>
- <qresource prefix="/res">
- <file alias="down.png">images/default_sky_down.png</file>
- <file alias="west.png">images/default_sky_east.png</file>
- <file alias="north.png">images/default_sky_north.png</file>
- <file alias="south.png">images/default_sky_south.png</file>
- <file alias="up.png">images/default_sky_up.png</file>
- <file alias="east.png">images/default_sky_west.png</file>
- <file>images/girder.png</file>
- </qresource>
- <qresource prefix="/shaders">
- <file alias="replace_texture.fsh">shaders/replace_texture.fsh</file>
- <file alias="replace_texture.vsh">shaders/replace_texture.vsh</file>
- </qresource>
- <qresource prefix="/pictures">
- <file alias="im1.jpg">images/P1000223.JPG</file>
- <file alias="im2.jpg">images/P1000228.JPG</file>
- <file alias="im3.jpg">images/P1000472.JPG</file>
- </qresource>
- <qresource prefix="/controls">
- <file alias="arrows-left.png">images/arrows-left.png</file>
- </qresource>
-</RCC>
diff --git a/demos/qt3d/photobrowser3d/photobrowser3dview.cpp b/demos/qt3d/photobrowser3d/photobrowser3dview.cpp
deleted file mode 100644
index 4227832b..00000000
--- a/demos/qt3d/photobrowser3d/photobrowser3dview.cpp
+++ /dev/null
@@ -1,446 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "photobrowser3dview.h"
-#include "imagemanager.h"
-#include "imagedisplay.h"
-#include "skybox.h"
-#include "qglpicknode.h"
-#include "qfocusadaptor.h"
-#include "thumbnailableimage.h"
-#include "qatlas.h"
-#include "filescanner.h"
-#include "buttons.h"
-#include "qphotobrowser3dscene.h"
-#include "pancontroller.h"
-#include "thumbnailnode.h"
-
-#include <QApplication>
-#include <QDesktopWidget>
-#include <QWheelEvent>
-#include <QDir>
-#include <QTimer>
-#include <QTime>
-#include <QStateMachine>
-#include <QState>
-#include <QFinalState>
-#include <QSignalTransition>
-#include <QPropertyAnimation>
-
-PhotoBrowser3DView::PhotoBrowser3DView()
- : QGLView()
- , m_scene(0)
- , m_display(0)
- , m_images(0)
- , m_buttons(0)
- , m_skybox(0)
- , m_palette(new QGLMaterialCollection(this))
- , m_state(0)
- , m_app(0)
- , m_zoomed(0)
- , m_browse(0)
- , m_pan(0)
- , m_fa(0)
- , m_pc(0)
- , m_pickableDirty(true)
- , m_done(false)
- , m_closing(false)
-{
- setOption(QGLView::ObjectPicking, true);
- // setOption(QGLView::ShowPicking, true);
- //setOption(QGLView::CameraNavigation, false);
-
- qRegisterMetaType<ThumbnailableImage>("ThumbnailableImage");
-
- QString path = ":/res";
- int ix = qApp->arguments().indexOf("--skybox");
- if (ix != -1)
- {
- if (qApp->arguments().size() > ix+1)
- path = qApp->arguments().at(ix+1);
- else
- qWarning("Expected path/to/skybox/files after \"--skybox\" switch\n");
- }
-
- m_displaySize = 4.0;
- m_scene = new QPhotoBrowser3DScene(this);
- m_buttons = new Buttons(this, m_palette);
- m_scene->mainNode()->addNode(m_buttons);
- m_scene->setPickable(true);
- m_skybox = new SkyBox(this, path);
- m_display = new ImageDisplay(this, m_palette, m_displaySize);
-
- setupStates();
-
- // make sure this only gets created in the GUI thread
- QAtlas::instance();
-
- QTimer::singleShot(0, this, SLOT(initialise()));
-}
-
-PhotoBrowser3DView::~PhotoBrowser3DView()
-{
- // nothing to be done here
-}
-
-void PhotoBrowser3DView::setupStates()
-{
- m_state = new QStateMachine(this);
- m_app = new QState;
- m_zoomed = new QState(m_app);
- m_browse = new QState(m_app);
- m_pan = new QState(m_app);
- m_app->setInitialState(m_browse);
- m_state->addState(m_app);
- QFinalState *end_state = new QFinalState;
- m_app->addTransition(this, SIGNAL(done()), end_state);
- m_state->addState(end_state);
- connect(m_state, SIGNAL(finished()), this, SLOT(close()));
-
- m_fa = new QFocusAdaptor(this);
- m_browse->assignProperty(m_fa, "progress", 0.0);
- m_zoomed->assignProperty(m_fa, "progress", 1.0);
-
- m_pc = new PanController(this);
- m_pc->setMaxSpeed(m_displaySize / 1000.0f);
- m_browse->assignProperty(m_pc, "speed", 0.0);
- m_pan->assignProperty(m_pc, "speed", 1.0);
-
- m_state->setObjectName("StateMachine");
- m_app->setObjectName("Application");
- m_zoomed->setObjectName("Zoomed");
- m_browse->setObjectName("Browse");
- m_pan->setObjectName("Pan");
- end_state->setObjectName("EndState");
-
- QSignalTransition *transition = m_browse->addTransition(this, SIGNAL(zoom()), m_zoomed);
- QPropertyAnimation *a = new QPropertyAnimation(m_fa, "progress");
- a->setDuration(500);
- a->setEasingCurve(QEasingCurve::OutQuad);
- transition->addAnimation(a);
-
- transition = m_zoomed->addTransition(this, SIGNAL(zoom()), m_browse);
- a = new QPropertyAnimation(m_fa, "progress");
- a->setDuration(500);
- a->setEasingCurve(QEasingCurve::InQuad);
- transition->addAnimation(a);
-
- transition = m_browse->addTransition(this, SIGNAL(pan()), m_pan);
- a = new QPropertyAnimation(m_pc, "speed");
- a->setDuration(500);
- a->setEasingCurve(QEasingCurve::OutQuad);
- transition->addAnimation(a);
-
- transition = m_pan->addTransition(this, SIGNAL(pan()), m_browse);
- a = new QPropertyAnimation(m_pc, "speed");
- a->setDuration(500);
- a->setEasingCurve(QEasingCurve::InQuad);
- transition->addAnimation(a);
-
- m_state->setInitialState(m_app);
- m_state->start();
-}
-
-void PhotoBrowser3DView::initialise()
-{
- QString path = QDir::home().absoluteFilePath("Pictures");
- int ix = qApp->arguments().indexOf("--pictures");
- if (ix != -1)
- {
- if (qApp->arguments().size() > ix+1)
- path = qApp->arguments().at(ix+1);
- else
- qWarning("Expected /path/to/image/files after \"--pictures\" switch\n");
- }
-
- QUrl url;
- url.setScheme("file");
- url.setPath(path);
-
- bool atLeastOneImageFound = false;
- QFileInfo fi(path);
- if (fi.exists() && fi.isDir())
- {
- QDir pics(path);
- QStringList entries = pics.entryList(QDir::Files);
- for (int i = 0; i < entries.size() && !atLeastOneImageFound; ++i)
- {
- QImage im(pics.filePath(entries.at(i)));
- if (!im.isNull())
- atLeastOneImageFound = true;
- }
- }
- if (!atLeastOneImageFound)
- {
- qWarning("No pictures directory found at %s\n"
- "using test images", qPrintable(path));
-
- url.setPath(":/pictures");
- }
-
-#ifdef QT_NO_THREADED_FILE_LOAD
- nonThreadedFileLoad(url);
-#else
- initialiseImageManager(url);
-#endif
-}
-
-void PhotoBrowser3DView::initialiseImageManager(const QUrl &url)
-{
- m_images = new ImageManager;
-
- connect(m_images, SIGNAL(imageUrl(QUrl)), m_display, SLOT(addThumbnailNode(QUrl)));
- connect(m_images, SIGNAL(finished()), this, SLOT(waitForExit()));
-
- connect(m_display, SIGNAL(framesChanged()), this, SLOT(pickableDirty()));
- connect(m_display, SIGNAL(framesChanged()), this, SLOT(update()));
-
- m_images->setImageBaseUrl(url);
- QThread::Priority p = QThread::idealThreadCount() < 2 ?
- QThread::IdlePriority : QThread::NormalPriority;
- m_images->start(p);
-}
-
-void PhotoBrowser3DView::nonThreadedFileLoad(const QUrl &url)
-{
-#if defined(QT_USE_TEST_IMAGES)
- Q_UNUSED(url);
- QDir testImages(":/pictures");
- QStringList pics = testImages.entryList();
- for (int i = 0; i < pics.size(); ++i)
- {
- QUrl url;
- url.setScheme("file");
- url.setPath(testImages.filePath(pics.at(i)));
- m_display->addThumbnailNode(url);
- }
- pickableDirty();
-#else
- FileScanner *scanner = new FileScanner(this);
- scanner->setBaseUrl(url);
- QTimer::singleShot(0, scanner, SLOT(scan()));
- connect(scanner, SIGNAL(imageUrl(QUrl)), m_display, SLOT(addThumbnailNode(QUrl)));
-#endif
-}
-
-void PhotoBrowser3DView::wheelEvent(QWheelEvent *e)
-{
- e->accept();
- QVector3D viewVec = camera()->eye() - camera()->center();
- qreal zoomMag = viewVec.length();
- qreal inc = float(e->delta()) / 50.0f;
- if (!qFuzzyIsNull(inc))
- {
- zoomMag += inc;
- if (zoomMag < 2.0f)
- zoomMag = 2.0f;
- QRay3D viewLine(camera()->center(), viewVec.normalized());
- camera()->setEye(viewLine.point(zoomMag));
- update();
- }
-}
-
-void PhotoBrowser3DView::keyPressEvent(QKeyEvent *e)
-{
- if (e->key() == Qt::Key_Q)
- {
- m_done = true;
- emit done();
- }
- else if (e->key() == Qt::Key_Right)
- {
- m_pc->setDirection(Qt::RightArrow);
- emit pan();
- }
- else if (e->key() == Qt::Key_Left)
- {
- m_pc->setDirection(Qt::LeftArrow);
- emit pan();
- }
- else if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Down)
- {
- QVector3D viewVec = camera()->eye() - camera()->center();
- qreal zoomMag = viewVec.length();
- zoomMag += (e->key() == Qt::Key_Up) ? -0.5f : 0.5f;
- if (zoomMag < 5.0f)
- zoomMag = 5.0f;
- QRay3D viewLine(camera()->center(), viewVec.normalized());
- camera()->setEye(viewLine.point(zoomMag));
- update();
- }
- else
- {
- QGLView::keyPressEvent(e);
- }
-}
-
-void PhotoBrowser3DView::waitForExit()
-{
- QThread::yieldCurrentThread();
- m_images->wait();
- m_images->deleteLater();
- m_images = 0;
- if (m_closing)
- {
- if (!m_done)
- {
- emit done();
- m_done = true;
- }
- }
-}
-
-void PhotoBrowser3DView::closeEvent(QCloseEvent *e)
-{
- if (m_images)
- {
- e->ignore();
- m_images->stop();
-
- // this was a request to close the main window, so we are closing up shop
- // set this flag to indicate that when the image manager stops done event
- // should be signalled to the state machine, resulting in close
- m_closing = true;
- }
- else
- {
- e->accept();
- }
-}
-
-void PhotoBrowser3DView::mousePressEvent(QMouseEvent *e)
-{
- Q_UNUSED(e);
- registerPickableNodes();
- QGLView::mousePressEvent(e);
-}
-
-void PhotoBrowser3DView::initializeGL(QGLPainter *painter)
-{
- Q_UNUSED(painter);
- QAtlas::instance()->initialize(painter);
- camera()->setEye(QVector3D(0.0f, 0.0f, 4.0f * m_displaySize));
- registerPickableNodes();
- qreal q = camera()->eye().z();
- qreal r = qBound(camera()->nearPlane(), q / 2.0f, camera()->nearPlane() * 3.0f);
- m_pc->setDefaultDistance(q);
- m_pc->setPanDistance(r);
-}
-
-void PhotoBrowser3DView::earlyPaintGL(QGLPainter *painter)
-{
- Q_UNUSED(painter);
-
- if (!painter->isPicking())
- {
- QAtlas::instance()->paint(painter);
- }
-
- if (!m_done)
- m_pc->pan();
-
- painter->setClearColor(Qt::blue);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-}
-
-void PhotoBrowser3DView::paintGL(QGLPainter *painter)
-{
- if (!m_done)
- {
- glEnable(GL_BLEND);
- m_skybox->draw(painter);
- m_display->draw(painter);
- m_buttons->draw(painter);
- }
-}
-
-void PhotoBrowser3DView::resizeGL(int w, int h)
-{
- Q_UNUSED(w);
- Q_UNUSED(h);
- m_buttons->clearPositions();
- m_updateRequired = true;
-}
-
-void PhotoBrowser3DView::zoomImage()
-{
- QGLPickNode *pn = qobject_cast<QGLPickNode*>(sender());
- Q_ASSERT(pn);
- QGLSceneNode *n = pn->target();
- m_fa->setTarget(n);
- emit zoom();
-}
-
-void PhotoBrowser3DView::goPan()
-{
- QGLPickNode *pn = qobject_cast<QGLPickNode*>(sender());
- Q_ASSERT(pn);
- QGLSceneNode *n = pn->target();
- m_pc->setDirection(n->objectName() == "Left Button" ? Qt::LeftArrow : Qt::RightArrow);
- emit pan();
-}
-
-void PhotoBrowser3DView::pickableDirty()
-{
- m_pickableDirty = true;
-}
-
-void PhotoBrowser3DView::registerPickableNodes()
-{
- if (m_pickableDirty)
- {
- m_scene->generatePickNodes();
- QList<QGLPickNode*> pickList = m_scene->pickNodes();
- QList<QGLPickNode*>::const_iterator it = pickList.constBegin();
- for ( ; it != pickList.constEnd(); ++it)
- {
- QGLPickNode *pn = *it;
- pn->disconnect(this);
- ThumbnailNode *node = qobject_cast<ThumbnailNode*>(pn->target());
- if (node)
- QObject::connect(pn, SIGNAL(clicked()), this, SLOT(zoomImage()));
- else
- QObject::connect(pn, SIGNAL(clicked()), this, SLOT(goPan()));
- registerObject(pn->id(), pn);
- }
- m_pickableDirty = false;
- }
-}
diff --git a/demos/qt3d/photobrowser3d/photobrowser3dview.h b/demos/qt3d/photobrowser3d/photobrowser3dview.h
deleted file mode 100644
index 50443c31..00000000
--- a/demos/qt3d/photobrowser3d/photobrowser3dview.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PHOTOBROWSER3DVIEW_H
-#define PHOTOBROWSER3DVIEW_H
-
-#include "qglview.h"
-
-QT_BEGIN_NAMESPACE
-class QGLMaterialCollection;
-class QGLSceneNode;
-class QState;
-class QStateMachine;
-QT_END_NAMESPACE
-
-
-class SkyBox;
-class ImageDisplay;
-class ImageManager;
-class QAtlas;
-class Buttons;
-class QPhotoBrowser3DScene;
-class PanController;
-class QFocusAdaptor;
-
-class PhotoBrowser3DView : public QGLView
-{
- Q_OBJECT
-public:
- PhotoBrowser3DView();
- ~PhotoBrowser3DView();
- void initializeGL(QGLPainter *);
- QPhotoBrowser3DScene *scene() { return m_scene; }
-signals:
- void done();
- void zoom();
- void pan();
-protected:
- void earlyPaintGL(QGLPainter *);
- void paintGL(QGLPainter *);
- void resizeGL(int w, int h);
- void wheelEvent(QWheelEvent *e);
- void keyPressEvent(QKeyEvent *e);
- void closeEvent(QCloseEvent *e);
- void mousePressEvent(QMouseEvent *e);
-private slots:
- void initialise();
- void zoomImage();
- void pickableDirty();
- void waitForExit();
- void goPan();
-private:
- void registerPickableNodes();
- void setupStates();
- void nonThreadedFileLoad(const QUrl &url);
- void initialiseImageManager(const QUrl &url);
-
- QPhotoBrowser3DScene *m_scene;
- ImageDisplay *m_display;
- ImageManager *m_images;
- Buttons *m_buttons;
- SkyBox *m_skybox;
- QGLMaterialCollection *m_palette;
- QStateMachine *m_state;
- QState *m_app;
- QState *m_zoomed;
- QState *m_browse;
- QState *m_pan;
- QFocusAdaptor *m_fa;
- PanController *m_pc;
- bool m_pickableDirty;
- qreal m_displaySize;
- bool m_done;
- bool m_closing;
- bool m_updateRequired;
-};
-
-#endif // PHOTOBROWSER3DVIEW_H
diff --git a/demos/qt3d/photobrowser3d/qatlas.cpp b/demos/qt3d/photobrowser3d/qatlas.cpp
deleted file mode 100644
index d8522c99..00000000
--- a/demos/qt3d/photobrowser3d/qatlas.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qatlas.h"
-#include "qareaallocator.h"
-#include "qgltexture2d.h"
-#include "qglpainter.h"
-#include "qgeometrydata.h"
-#include "qglmaterial.h"
-#include "qglpainter.h"
-#include "qglframebufferobjectsurface.h"
-#include "qglbuilder.h"
-
-#include <QImage>
-#include <QThread>
-#include <QGLFramebufferObject>
-#include <QGLFramebufferObjectFormat>
-#include <QCoreApplication>
-
-#ifndef GL_MULTISAMPLE
-#define GL_MULTISAMPLE 0x809D
-#endif
-
-QAtlas::QAtlas()
- : m_size(1024, 1024)
- , m_data(0)
- , m_renderTarget(0)
- , m_allocator(new QSimpleAreaAllocator(m_size))
- , m_tex(0)
- , m_material(new QGLMaterial)
- , m_initialized(false)
- , m_count(0)
-{
-}
-
-QAtlas::~QAtlas()
-{
- delete m_data;
- delete m_renderTarget;
- delete m_allocator;
-}
-
-void QAtlas::initialize(QGLPainter *painter)
-{
- Q_UNUSED(painter);
- if (!m_initialized)
- {
- m_data = new QOpenGLFramebufferObject(m_size);
- m_renderTarget = new QGLFramebufferObjectSurface(m_data);
- m_tex = QGLTexture2D::fromTextureId(m_data->texture(), m_size);
- m_material->setTexture(m_tex, 1);
- m_material->setObjectName("Atlas material");
- m_initialized = true;
- }
-}
-
-void QAtlas::paint(QGLPainter *painter)
-{
- Q_ASSERT(QThread::currentThread() == qApp->thread());
-
- if (m_allocationQueue.isEmpty() || painter->isPicking())
- return;
-
- glDisable(GL_DEPTH_TEST);
-
- painter->pushSurface(m_renderTarget);
- painter->setStandardEffect(QGL::FlatReplaceTexture2D);
- painter->projectionMatrix().push();
- painter->modelViewMatrix().push();
- QRect rect = painter->currentSurface()->viewportRect();
- QMatrix4x4 proj;
- proj.ortho(rect);
- painter->projectionMatrix() = proj;
- painter->modelViewMatrix().setToIdentity();
-
- painter->update();
-
- QAtlasEntry entry = m_allocationQueue.takeFirst();
-
- QRect a = entry.rect;
- QImage image = entry.image;
-
- if (a.left() == 0 && a.top() == 0) // first one - paint fill color
- {
- painter->setClearColor(Qt::red);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- }
-
- QGLTexture2D t;
- t.setImage(image);
- t.bind();
- QVector3D va(a.left(), a.bottom()+1, 0);
- QVector3D vb(a.right()+1, a.bottom()+1, 0);
- QVector3D vc(a.right()+1, a.top(), 0);
- QVector3D vd(a.left(), a.top(), 0);
- QVector2D ta(0.0f, 0.0f);
- QVector2D tb(1.0f, 0.0f);
- QVector2D tc(1.0f, 1.0f);
- QVector2D td(0.0f, 1.0f);
- QGeometryData quad;
- quad.setBufferStrategy(QGeometryData::KeepClientData);
- quad.appendVertex(va, vb, vc, vd);
- quad.appendTexCoord(ta, tb, tc, td);
- quad.appendIndices(0, 1, 2);
- quad.appendIndices(0, 2, 3);
- quad.draw(painter, 0, 6);
-
- painter->popSurface();
-
- glEnable(GL_DEPTH_TEST);
-}
-
-QRect QAtlas::allocate(const QSize &size, const QImage &image, const QGL::IndexArray &indices)
-{
- Q_ASSERT(QThread::currentThread() == qApp->thread());
-
- QRect a = m_allocator->allocate(size);
- if (a.isEmpty())
- {
- qWarning("QAtlas::allocate: overflowed");
- return a;
- }
-
- m_allocationQueue.append(QAtlasEntry(image, a));
- ++m_count;
-
- QRectF af(a);
- QSizeF szf(m_size);
- float l = af.left() / szf.width();
- float r = af.right() / szf.width();
- float t = 1.0f - (af.top() / szf.height());
- float b = 1.0f - (af.bottom() / szf.height());
- m_geometry.texCoord(indices.at(0), QGL::TextureCoord1) = QVector2D(l, b);
- m_geometry.texCoord(indices.at(1), QGL::TextureCoord1) = QVector2D(r, b);
- m_geometry.texCoord(indices.at(2), QGL::TextureCoord1) = QVector2D(r, t);
- m_geometry.texCoord(indices.at(5), QGL::TextureCoord1) = QVector2D(l, t);
- return a;
-}
-
-void QAtlas::release(QRect frame)
-{
- m_allocator->release(frame);
-}
-
-Q_GLOBAL_STATIC(QAtlas, atlasInstance);
-
-QAtlas *QAtlas::instance()
-{
- return atlasInstance();
-}
diff --git a/demos/qt3d/photobrowser3d/qatlas.h b/demos/qt3d/photobrowser3d/qatlas.h
deleted file mode 100644
index 260b5149..00000000
--- a/demos/qt3d/photobrowser3d/qatlas.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QATLAS_H
-#define QATLAS_H
-
-#include <QSize>
-#include <QtGui/QOpenGLFramebufferObject>
-
-#include "qarray.h"
-#include "qgeometrydata.h"
-
-QT_BEGIN_NAMESPACE
-class QAreaAllocator;
-class QGLTexture2D;
-class QGLMaterial;
-class QGeometryData;
-class QGLFramebufferObject;
-class QGLFramebufferObjectSurface;
-QT_END_NAMESPACE
-
-struct QAtlasEntry
-{
- QAtlasEntry(QImage i, QRect r) : image(i), rect(r) {}
- QImage image;
- QRect rect;
-};
-
-class QAtlas
-{
-public:
- QAtlas();
- ~QAtlas();
-
- QAreaAllocator *allocator() const { return m_allocator; }
- void setAllocator(QAreaAllocator *allocator) { m_allocator = allocator; }
-
- QRect allocate(const QSize &size, const QImage &image, const QGL::IndexArray &indices);
-
- void initialize(QGLPainter *painter);
- void paint(QGLPainter *painter);
-
- void release(QRect frame);
-
- void setGeometry(QGeometryData geometry) { m_geometry = geometry; }
- QGeometryData geometry() { return m_geometry; }
-
- QGLMaterial *material() { return m_material; }
-
- QList<QAtlasEntry> allocationQueue() const { return m_allocationQueue; }
-
- static QAtlas *instance();
-
-private:
- QSize m_size;
- QOpenGLFramebufferObject *m_data;
- QGLFramebufferObjectSurface *m_renderTarget;
- QAreaAllocator *m_allocator;
- QGLTexture2D *m_tex;
- QGLMaterial *m_material;
- QGeometryData m_geometry;
- bool m_initialized;
- QList<QAtlasEntry> m_allocationQueue;
- int m_count;
-};
-
-#endif // QATLAS_H
diff --git a/demos/qt3d/photobrowser3d/qfocusadaptor.cpp b/demos/qt3d/photobrowser3d/qfocusadaptor.cpp
deleted file mode 100644
index c45ab8f3..00000000
--- a/demos/qt3d/photobrowser3d/qfocusadaptor.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qfocusadaptor.h"
-#include "qglscenenode.h"
-#include "qglview.h"
-#include "qglcamera.h"
-#include "thumbnailnode.h"
-
-class QFocusAdaptorPrivate
-{
-public:
- QFocusAdaptorPrivate()
- : progress(0.0)
- , reset(true)
- , target(0)
- , view(0)
- {}
- qreal progress;
- QVector3D targetEye;
- QVector3D targetCenter;
- QVector3D sourceEye;
- QVector3D sourceCenter;
- bool reset;
- QGLSceneNode *target;
- QGLView *view;
-};
-
-QFocusAdaptor::QFocusAdaptor(QObject *parent)
- : QObject(parent)
- , d(new QFocusAdaptorPrivate)
-{
- QGLView *v = qobject_cast<QGLView*>(parent);
- if (v)
- d->view = v;
-}
-
-QFocusAdaptor::~QFocusAdaptor()
-{
- delete d;
-}
-
-qreal QFocusAdaptor::progress() const
-{
- return d->progress;
-}
-
-void QFocusAdaptor::setProgress(qreal progress)
-{
- if (d->progress != progress)
- {
- d->progress = progress;
- calculateValues();
- emit progressChanged();
- }
-}
-
-QGLView *QFocusAdaptor::view() const
-{
- return d->view;
-}
-
-void QFocusAdaptor::setView(QGLView *view)
-{
- d->view = view;
- d->reset = true;
-}
-
-QGLSceneNode *QFocusAdaptor::target() const
-{
- return d->target;
-}
-
-void QFocusAdaptor::setTarget(QGLSceneNode *target)
-{
- if (d->target != target)
- {
- d->target = target;
- d->reset = true;
- }
-}
-
-void QFocusAdaptor::calculateValues()
-{
- if (d->target && d->view)
- {
- QGLCamera *cam = d->view->camera();
- Q_ASSERT(cam);
- if (d->reset)
- {
- QGeometryData data = d->target->geometry();
- if (data.count() == 0 || d->target->count() == 0)
- {
- qWarning("Could not setup focus animation");
- return;
- }
- // assume that the first triangle referenced by this node is the one
- // you want to focus on - works for simple rects and like cases
- QGL::IndexArray ixs = data.indices();
- QVector3D a = data.vertexAt(ixs.at(d->target->start()));
- QVector3D b = data.vertexAt(ixs.at(d->target->start() + 1));
- QVector3D c = data.vertexAt(ixs.at(d->target->start() + 2));
-
- // assumes that first triangle is facing the camera
- QVector3D toCam = QVector3D::normal(a, b, c);
-
- // wont work very well if the target is not axis-aligned
- // find the distance q for the eye to be away from this object
- // in order that it is a tight fit in the viewport
- QGeometryData g = d->target->geometry();
- QGL::IndexArray inxs = g.indices();
- QBox3D box;
- for (int i = d->target->start(); i < (d->target->start() + d->target->count()); ++i)
- box.unite(g.vertexAt(inxs.at(i)));
- QVector3D sz = box.size();
-
- qreal nearDist = cam->nearPlane();
-
- QSizeF v = cam->viewSize();
-
- qreal vh = d->view->geometry().height();
- qreal vw = d->view->geometry().width();
- if (!qFuzzyIsNull(vw - vh))
- {
- qreal asp = vh / vw;
- if (vh > vw)
- v.setHeight(v.height() * asp);
- else
- v.setWidth(v.width() / asp);
- }
-
- qreal qh = (nearDist * sz.y()) / v.height();
- qreal qw = (nearDist * sz.x()) / v.width();
-
- qreal q = qMax(qh, qw);
- q = qMax(q, qreal(nearDist * 1.05));
-
- d->sourceCenter = cam->center();
- d->sourceEye = cam->eye();
-
- d->targetCenter = d->target->position();
- d->targetEye = d->targetCenter + (toCam * q);
-
- d->reset = false;
- }
- cam->setCenter(d->sourceCenter + ((d->targetCenter - d->sourceCenter) * d->progress));
- cam->setEye(d->sourceEye + ((d->targetEye - d->sourceEye) * d->progress));
- }
-}
diff --git a/demos/qt3d/photobrowser3d/qfocusadaptor.h b/demos/qt3d/photobrowser3d/qfocusadaptor.h
deleted file mode 100644
index 8d0fe895..00000000
--- a/demos/qt3d/photobrowser3d/qfocusadaptor.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QFOCUSADAPTOR_H
-#define QFOCUSADAPTOR_H
-
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-class QGLView;
-class QGLSceneNode;
-QT_END_NAMESPACE
-
-class QFocusAdaptorPrivate;
-
-class QFocusAdaptor : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(qreal progress READ progress WRITE setProgress NOTIFY progressChanged)
-public:
- explicit QFocusAdaptor(QObject *parent = 0);
- ~QFocusAdaptor();
-
- qreal progress() const;
- void setProgress(qreal progress);
-
- QGLView *view() const;
- void setView(QGLView *view);
-
- QGLSceneNode *target() const;
- void setTarget(QGLSceneNode *target);
-
-signals:
- void progressChanged();
-
-public slots:
-
-private:
- void calculateValues();
-
- QFocusAdaptorPrivate *d;
-};
-
-#endif // QFOCUSADAPTOR_H
diff --git a/demos/qt3d/photobrowser3d/qphotobrowser3dscene.cpp b/demos/qt3d/photobrowser3d/qphotobrowser3dscene.cpp
deleted file mode 100644
index e05e7d46..00000000
--- a/demos/qt3d/photobrowser3d/qphotobrowser3dscene.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qphotobrowser3dscene.h"
-#include "qglscenenode.h"
-
-QPhotoBrowser3DScene::QPhotoBrowser3DScene(QObject *parent)
- : QGLAbstractScene(parent)
- , m_rootNode(new QGLSceneNode(this))
-{
-}
-
-QList<QObject *> QPhotoBrowser3DScene::objects() const
-{
- QList<QGLSceneNode *> children = m_rootNode->allChildren();
- QList<QObject *> objects;
- for (int index = 0; index < children.size(); ++index)
- objects.append(children.at(index));
- return objects;
-}
diff --git a/demos/qt3d/photobrowser3d/qphotobrowser3dscene.h b/demos/qt3d/photobrowser3d/qphotobrowser3dscene.h
deleted file mode 100644
index 73eb7159..00000000
--- a/demos/qt3d/photobrowser3d/qphotobrowser3dscene.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QFRAMESSCENE_H
-#define QFRAMESSCENE_H
-
-#include "qglabstractscene.h"
-
-QT_BEGIN_NAMESPACE
-class QGLSceneNode;
-QT_END_NAMESPACE
-
-class QPhotoBrowser3DScene : public QGLAbstractScene
-{
- Q_OBJECT
-public:
- explicit QPhotoBrowser3DScene(QObject *parent = 0);
- virtual QList<QObject *> objects() const;
- QGLSceneNode *mainNode() const { return m_rootNode; }
-private:
- QGLSceneNode *m_rootNode;
-};
-
-#endif // QFRAMESSCENE_H
diff --git a/demos/qt3d/photobrowser3d/qt3d.ico b/demos/qt3d/photobrowser3d/qt3d.ico
deleted file mode 100644
index 1d07c43d..00000000
--- a/demos/qt3d/photobrowser3d/qt3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/photobrowser3d/shaders/replace_texture.fsh b/demos/qt3d/photobrowser3d/shaders/replace_texture.fsh
deleted file mode 100644
index dc55a3c7..00000000
--- a/demos/qt3d/photobrowser3d/shaders/replace_texture.fsh
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-// This is equivilent to GL_REPLACE
-varying highp vec4 qt_TexCoord0;
-uniform bool picking;
-uniform mediump vec4 color;
-uniform sampler2D texture;
-
-void main(void)
-{
- if (picking)
- gl_FragColor = color;
- else
- gl_FragColor = texture2D(texture, qt_TexCoord0.st);
-}
diff --git a/demos/qt3d/photobrowser3d/shaders/replace_texture.vsh b/demos/qt3d/photobrowser3d/shaders/replace_texture.vsh
deleted file mode 100644
index 458087f1..00000000
--- a/demos/qt3d/photobrowser3d/shaders/replace_texture.vsh
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-attribute highp vec4 vertex;
-attribute highp vec4 texcoord;
-attribute highp vec4 thumbcoord;
-
-uniform highp mat4 matrix;
-uniform bool thumb;
-
-varying highp vec4 qt_TexCoord0;
-
-void main(void)
-{
- if (thumb)
- qt_TexCoord0 = thumbcoord;
- else
- qt_TexCoord0 = texcoord;
- gl_Position = matrix * vertex;
-}
diff --git a/demos/qt3d/photobrowser3d/skybox.cpp b/demos/qt3d/photobrowser3d/skybox.cpp
deleted file mode 100644
index 3162a76d..00000000
--- a/demos/qt3d/photobrowser3d/skybox.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "skybox.h"
-#include "qglbuilder.h"
-#include "qglcube.h"
-#include "qglpainter.h"
-#include "qglview.h"
-
-#include <QDir>
-#include <QFileInfo>
-
-SkyBox::SkyBox(QGLView *view, const QString &imagePath)
- : m_scene(0)
- , m_view(view)
- , m_camera(new QGLCamera(this))
-{
- m_camera->setEye(QVector3D());
- m_camera->setNearPlane(0.3f);
- m_camera->setViewSize(QSizeF(0.3f, 0.3f));
-
- QGLBuilder builder;
- builder.newSection(QGL::Faceted);
- QVector3D blb(-1.0, -1.0, -1.0);
- QVector3D blf(-1.0, -1.0, 1.0);
- QVector3D tlf(-1.0, 1.0, 1.0);
- QVector3D tlb(-1.0, 1.0, -1.0);
- QVector3D brb(1.0, -1.0, -1.0);
- QVector3D brf(1.0, -1.0, 1.0);
- QVector3D trf(1.0, 1.0, 1.0);
- QVector3D trb(1.0, 1.0, -1.0);
- QVector2D bl(0.0f, 0.0f);
- QVector2D br(1.0f, 0.0f);
- QVector2D tr(1.0f, 1.0f);
- QVector2D tl(0.0f, 1.0f);
- {
- QGeometryData q; // left
- builder.currentNode()->setObjectName("left");
- q.appendVertex(blf, blb, tlb, tlf);
- q.appendTexCoord(bl, br, tr, tl);
- builder.addQuads(q);
- m_faces[0] = builder.currentNode();
- m_faces[0]->setMaterial(new QGLMaterial);
- }
- {
- builder.newNode(); // top
- builder.currentNode()->setObjectName("top");
- QGeometryData q;
- q.appendVertex(trf, tlf, tlb, trb);
- q.appendTexCoord(bl, br, tr, tl);
- builder.addQuads(q);
- m_faces[1] = builder.currentNode();
- m_faces[1]->setMaterial(new QGLMaterial);
- }
- {
- builder.newNode(); // right
- builder.currentNode()->setObjectName("right");
- QGeometryData q;
- q.appendVertex(brb, brf, trf, trb);
- q.appendTexCoord(bl, br, tr, tl);
- builder.addQuads(q);
- m_faces[2] = builder.currentNode();
- m_faces[2]->setMaterial(new QGLMaterial);
- }
- {
- builder.newNode(); // bottom
- builder.currentNode()->setObjectName("bottom");
- QGeometryData q;
- q.appendVertex(brb, blb, blf, brf);
- q.appendTexCoord(bl, br, tr, tl);
- builder.addQuads(q);
- m_faces[3] = builder.currentNode();
- m_faces[3]->setMaterial(new QGLMaterial);
- }
- {
- builder.newNode(); // front
- builder.currentNode()->setObjectName("front");
- QGeometryData q;
- q.appendVertex(brf, blf, tlf, trf);
- q.appendTexCoord(bl, br, tr, tl);
- builder.addQuads(q);
- m_faces[4] = builder.currentNode();
- m_faces[4]->setMaterial(new QGLMaterial);
- }
- {
- builder.newNode(); // back
- builder.currentNode()->setObjectName("back");
- QGeometryData q;
- q.appendVertex(blb, brb, trb, tlb);
- q.appendTexCoord(bl, br, tr, tl);
- builder.addQuads(q);
- m_faces[5] = builder.currentNode();
- m_faces[5]->setMaterial(new QGLMaterial);
- }
- m_scene = builder.finalizedSceneNode();
- m_scene->setObjectName("SkyboxList");
- m_scene->setEffect(QGL::FlatReplaceTexture2D);
- m_scene->setEffectEnabled(true);
- m_scene->setParent(this);
-
- QString resourceBase = QLatin1String(":/");
- setImagePath(imagePath.isEmpty() ? resourceBase : imagePath);
-}
-
-
-void SkyBox::setImagePath(const QString &imagePath)
-{
- static QStringList expected2;
- static QStringList expected;
-
- if (expected.isEmpty())
- expected << QLatin1String("east") << QLatin1String("up") << QLatin1String("west")
- << QLatin1String("down") << QLatin1String("south") << QLatin1String("north");
- if (expected2.isEmpty())
- expected2 << QLatin1String("right") << QLatin1String("top") << QLatin1String("left")
- << QLatin1String("bottom") << QLatin1String("front") << QLatin1String("back");
- if (imagePath != m_imagePath)
- {
- m_imagePath = imagePath;
- QStringList notFound = expected;
- QFileInfo info(m_imagePath);
- if (info.exists() && info.isDir())
- {
- QDir imDir(imagePath);
- QFileInfoList files = imDir.entryInfoList(QDir::Files);
- QFileInfoList::const_iterator it = files.constBegin();
- for ( ; it != files.constEnd() && notFound.size() > 0; ++it)
- {
- QFileInfo ent = *it;
- QString tok = ent.baseName().toLower();
- int ix = 0;
- for ( ; ix < 6; ++ix)
- if (tok.contains(expected.at(ix)))
- break;
- if (ix == 6)
- {
- ix = 0;
- for ( ; ix < 6; ++ix)
- if (tok.contains(expected2.at(ix)))
- break;
- }
- if (ix != 6)
- {
- notFound.removeOne(expected.at(ix));
- QUrl url;
- url.setScheme("file");
- url.setPath(ent.absoluteFilePath());
- m_faces[ix]->material()->setTextureUrl(url);
- m_faces[ix]->material()->texture()->setHorizontalWrap(QGL::ClampToEdge);
- m_faces[ix]->material()->texture()->setVerticalWrap(QGL::ClampToEdge);
- }
- }
- if (notFound.size() > 2)
- {
- qWarning("Could not load textures for");
- for (int i = 0; i < notFound.size(); ++i)
- qWarning("\t%s", qPrintable(notFound.at(i)));
- }
- }
- else
- {
- qWarning("SkyBox::setImagePath: Not an existing directory %s",
- qPrintable(m_imagePath));
- }
- }
-}
-
-void SkyBox::draw(QGLPainter *painter) const
-{
- painter->modelViewMatrix().push();
- painter->modelViewMatrix().setToIdentity();
-
- QGLCamera *cam = m_view->camera();
- m_camera->setCenter(-cam->eye());
- painter->setCamera(m_camera);
-
- glDisable(GL_DEPTH_TEST);
-
- m_scene->draw(painter);
-
- glEnable(GL_DEPTH_TEST);
-
- painter->setCamera(cam);
- painter->modelViewMatrix().pop();
-}
diff --git a/demos/qt3d/photobrowser3d/skybox.h b/demos/qt3d/photobrowser3d/skybox.h
deleted file mode 100644
index 79b17219..00000000
--- a/demos/qt3d/photobrowser3d/skybox.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SKYBOX_H
-#define SKYBOX_H
-
-#include <QString>
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-class QGLBuilder;
-class QGLSceneNode;
-class QGLPainter;
-class QGLView;
-class QGLCamera;
-QT_END_NAMESPACE
-
-class SkyBox : public QObject
-{
- Q_OBJECT
-public:
- SkyBox(QGLView *view, const QString &imagePath = QString());
- QString imagePath() const { return m_imagePath; }
- void setImagePath(const QString &imagePath);
- void draw(QGLPainter *painter) const;
-private:
- QGLSceneNode *m_scene;
- QString m_imagePath;
- QGLSceneNode *m_faces[6];
- QGLView *m_view;
- QGLCamera *m_camera;
-};
-
-#endif // SKYBOX_H
diff --git a/demos/qt3d/photobrowser3d/threadpool.cpp b/demos/qt3d/photobrowser3d/threadpool.cpp
deleted file mode 100644
index c4d9fa85..00000000
--- a/demos/qt3d/photobrowser3d/threadpool.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "threadpool.h"
-#include "imageloader.h"
-#include "imagemanager.h"
-
-#include <QSemaphore>
-
-ThreadPool::ThreadPool()
-{
- m_threadPoolSize = QThread::idealThreadCount();
- if (m_threadPoolSize < 2)
- m_threadPoolSize = 2;
- m_stop.store(0);
-}
-
-ThreadPool::~ThreadPool()
-{
- Q_ASSERT(m_allWorkers.size() == 0);
-}
-
-void ThreadPool::deployLoader(const ThumbnailableImage &image)
-{
- // INVARIANT: this critical section is only ever executed from its
- // own thread via queued signals - thus access to it is serialized
- Q_ASSERT(QThread::currentThread() == thread());
-
- if (m_stop.load())
- return;
-
- ImageManager *manager = qobject_cast<ImageManager*>(sender());
- Q_ASSERT(manager);
-
- ImageLoader *loader = 0;
- if (m_freeWorkers.size() > 0)
- loader = m_freeWorkers.takeFirst();
-
- if (loader)
- {
- loader->setImage(image);
- }
- else
- {
- if (m_allWorkers.size() < m_threadPoolSize)
- {
- loader = new ImageLoader;
- m_allWorkers.append(loader);
- loader->setImage(image);
- connect(loader, SIGNAL(imageLoaded(ThumbnailableImage)), manager,
- SIGNAL(imageReady(ThumbnailableImage)));
- connect(loader, SIGNAL(imageLoaded(ThumbnailableImage)), this,
- SLOT(retrieveLoader()));
- connect(loader, SIGNAL(finished()), this, SLOT(closeLoader()));
- connect(this, SIGNAL(stopAll()), loader, SLOT(stop()));
- loader->start();
- }
- else
- {
- m_workList.append(image);
- }
- }
-}
-
-void ThreadPool::retrieveLoader()
-{
- ImageLoader *loader = qobject_cast<ImageLoader*>(sender());
- Q_ASSERT(loader);
- if (!m_stop.load())
- {
- if (!m_workList.isEmpty())
- loader->setImage(m_workList.takeFirst());
- else
- m_freeWorkers.append(loader);
- }
-}
-
-void ThreadPool::stop()
-{
- m_stop.ref();
- if (m_allWorkers.isEmpty())
- emit stopped();
- else
- emit stopAll();
-}
-
-void ThreadPool::closeLoader()
-{
- ImageLoader *loader = qobject_cast<ImageLoader*>(sender());
- Q_ASSERT(loader);
- m_allWorkers.removeOne(loader);
- loader->deleteLater();
- if (m_allWorkers.isEmpty() && m_stop.load())
- {
- emit stopped();
- }
-}
diff --git a/demos/qt3d/photobrowser3d/threadpool.h b/demos/qt3d/photobrowser3d/threadpool.h
deleted file mode 100644
index ff13b2b1..00000000
--- a/demos/qt3d/photobrowser3d/threadpool.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef LOADINGJOB_H
-#define LOADINGJOB_H
-
-#include <QObject>
-#include <QAtomicInt>
-#include <QList>
-#include <QUrl>
-
-#include "thumbnailableimage.h"
-
-class ImageLoader;
-
-class ThreadPool : public QObject
-{
- Q_OBJECT
-public:
- ThreadPool();
- ~ThreadPool();
-
-signals:
- void stopped();
- void stopAll();
-
-public slots:
- void deployLoader(const ThumbnailableImage &url);
- void stop();
-
-private slots:
- void retrieveLoader();
- void closeLoader();
-
-private:
- QList<ImageLoader*> m_freeWorkers;
- QList<ImageLoader*> m_allWorkers;
- QList<ThumbnailableImage> m_workList;
- QAtomicInt m_stop;
- int m_threadPoolSize;
-};
-
-#endif // LOADINGJOB_H
diff --git a/demos/qt3d/photobrowser3d/thumbnailableimage.cpp b/demos/qt3d/photobrowser3d/thumbnailableimage.cpp
deleted file mode 100644
index b6e52ffd..00000000
--- a/demos/qt3d/photobrowser3d/thumbnailableimage.cpp
+++ /dev/null
@@ -1,302 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "thumbnailableimage.h"
-#include "qareaallocator.h"
-#include "qgltexture2d.h"
-#include "qglmaterial.h"
-#include "qatlas.h"
-
-#include <QUrl>
-
-class ThumbnailableImagePrivate
-{
-public:
- ThumbnailableImagePrivate();
- ~ThumbnailableImagePrivate();
-
- ThumbnailableImagePrivate *clone() const
- {
- ThumbnailableImagePrivate *temp = new ThumbnailableImagePrivate;
- temp->thumbnailed = thumbnailed;
- temp->pending = pending;
- temp->url = url;
- temp->data = data;
- temp->tex = tex;
- temp->mat = mat;
- temp->frame = frame;
- temp->scale = scale;
- temp->indices = indices;
- return temp;
- }
-
- QAtomicInt ref;
-
- bool thumbnailed;
- bool pending;
- QUrl url;
- QImage data;
- QGLTexture2D *tex;
- QGLMaterial *mat;
- QRect frame;
- qreal scale;
- QGL::IndexArray indices;
-};
-
-ThumbnailableImagePrivate::ThumbnailableImagePrivate()
- : ref(0)
- , thumbnailed(false)
- , pending(false)
- , tex(0)
- , mat(0)
- , scale(15.0f)
-{
-}
-
-ThumbnailableImagePrivate::~ThumbnailableImagePrivate()
-{
-}
-
-ThumbnailableImage::ThumbnailableImage()
- : d(0)
-{
-}
-
-/*!
- Construct ThumbnailableImage as a copy of \a other
-*/
-ThumbnailableImage::ThumbnailableImage(const ThumbnailableImage &other)
- : d(other.d)
-{
- if (d)
- d->ref.ref();
-}
-
-/*!
- Destroys this ThumbnailableImage recovering any resources.
-*/
-ThumbnailableImage::~ThumbnailableImage()
-{
- if (d && !d->ref.deref())
- delete d;
-}
-
-/*!
- Assigns this ThumbnailableImage to be a copy of \a other.
-*/
-ThumbnailableImage &ThumbnailableImage::operator=(const ThumbnailableImage &other)
-{
- if (d != other.d)
- {
- if (d && !d->ref.deref())
- delete d;
- d = other.d;
- if (d)
- d->ref.ref();
- }
- return *this;
-}
-
-void ThumbnailableImage::setThumbnailed(bool enable)
-{
- detach();
- if (enable != d->thumbnailed && !d->data.isNull())
- {
- if (enable)
- {
- if (d->frame.isNull())
- {
- Q_ASSERT(!d->data.isNull());
- QSize sz = (QSizeF(d->data.size()) / d->scale).toSize();
- QAtlas *atlas = QAtlas::instance();
- d->frame = atlas->allocate(sz, d->data, d->indices);
- d->pending = true;
- }
- }
- if (!d->pending)
- d->thumbnailed = enable;
- }
-}
-
-bool ThumbnailableImage::isThumbnailed() const
-{
- bool result = false;
- if (d)
- {
- if (d->pending)
- {
- QList<QAtlasEntry> queue = QAtlas::instance()->allocationQueue();
- int i = 0;
- for ( ; i < queue.count(); ++i)
- if (d->frame == queue.at(i).rect)
- break;
- if (i == queue.count())
- {
- d->pending = false;
- d->thumbnailed = true;
- }
- }
- result = d->thumbnailed;
- }
- return result;
-}
-
-QImage ThumbnailableImage::data() const
-{
- QImage result;
- if (d)
- result = d->data;
- return result;
-}
-
-void ThumbnailableImage::setData(QImage data)
-{
- detach();
- d->data = data;
-}
-
-QUrl ThumbnailableImage::url() const
-{
- QUrl result;
- if (d)
- result = d->url;
- return result;
-}
-
-void ThumbnailableImage::setUrl(const QUrl &url)
-{
- detach();
- d->url = url;
-}
-
-QRectF ThumbnailableImage::frame() const
-{
- QRectF result;
- if (d)
- result = d->frame;
- return result;
-}
-
-qreal ThumbnailableImage::scale() const
-{
- qreal result = 0.0f;
- if (d)
- result = d->scale;
- return result;
-}
-
-void ThumbnailableImage::minimize()
-{
- if (!d)
- return;
- detach();
- if (!isMinimized())
- {
- if (d->thumbnailed)
- {
- // If thumbnailed, I don't really need the full size image
- d->data = QImage();
- }
- else
- {
- // If not thumbnailed, I don't need the atlas resources
- QAtlas *atlas = QAtlas::instance();
- atlas->release(d->frame);
- d->frame = QRect();
- }
- }
-}
-
-bool ThumbnailableImage::isMinimized() const
-{
- bool result = true;
- if (d)
- result = (d->thumbnailed) ? (d->data.isNull()) : (d->frame.isNull());
- return result;
-}
-
-void ThumbnailableImage::setIndices(const QGL::IndexArray &indices)
-{
- detach();
- d->indices = indices;
-}
-
-QGL::IndexArray ThumbnailableImage::indices() const
-{
- QGL::IndexArray result;
- if (d)
- result = d->indices;
- return result;
-}
-
-/*!
- \internal
- You know what this is for. No user serviceable parts below here.
-*/
-void ThumbnailableImage::detach()
-{
- if (!d) // lazy creation of data block
- {
- d = new ThumbnailableImagePrivate;
- d->ref.ref();
- }
- else
- {
- if (d->ref.load() > 1) // being shared, must detach
- {
- ThumbnailableImagePrivate *temp = d->clone();
- d->ref.deref();
- d = temp;
- d->ref.ref();
- }
- }
-}
-
-#ifndef QT_NO_DEBUG_STREAM
-QDebug operator<<(QDebug dbg, const ThumbnailableImage &image)
-{
- dbg << "ThumbnailableImage" << image.url() << "size:" << image.data().size() <<
- "minimized:" << image.isMinimized() << "-- thumbnailed:" << image.isThumbnailed()
- << "-- null:" << image.isNull() << "-- image loaded:" << (!image.data().isNull())
- << "-- index count:" << image.indices().count();
- return dbg;
-}
-#endif
diff --git a/demos/qt3d/photobrowser3d/thumbnailableimage.h b/demos/qt3d/photobrowser3d/thumbnailableimage.h
deleted file mode 100644
index 2f5b5b98..00000000
--- a/demos/qt3d/photobrowser3d/thumbnailableimage.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef THUMBNAILABLEIMAGE_H
-#define THUMBNAILABLEIMAGE_H
-
-#include <QRectF>
-#include <QMetaType>
-
-#include "qarray.h"
-#include "qgeometrydata.h"
-
-QT_BEGIN_NAMESPACE
-class QImage;
-class QGLPainter;
-QT_END_NAMESPACE
-
-class ThumbnailableImagePrivate;
-
-class ThumbnailableImage
-{
-public:
- ThumbnailableImage();
- ThumbnailableImage(const ThumbnailableImage&);
- ~ThumbnailableImage();
-
- ThumbnailableImage &operator=(const ThumbnailableImage &);
-
- void setThumbnailed(bool enable);
- bool isThumbnailed() const;
-
- QImage data() const;
- void setData(QImage data);
-
- QUrl url() const;
- void setUrl(const QUrl &url);
-
- QRectF frame() const;
- qreal scale() const;
-
- void minimize();
- bool isMinimized() const;
-
- QGL::IndexArray indices() const;
- void setIndices(const QGL::IndexArray &indices);
-
- bool isNull() const { return d == 0; }
-
- ThumbnailableImagePrivate *priv() const { return d; } /// debug = remove me
-
-private:
- void detach();
-
- ThumbnailableImagePrivate *d;
-};
-
-Q_DECLARE_METATYPE(ThumbnailableImage);
-
-#ifndef QT_NO_DEBUG_STREAM
-QDebug operator<<(QDebug dbg, const ThumbnailableImage &image);
-#endif
-
-#endif // THUMBNAILABLEIMAGE_H
diff --git a/demos/qt3d/photobrowser3d/thumbnaileffect.cpp b/demos/qt3d/photobrowser3d/thumbnaileffect.cpp
deleted file mode 100644
index 927bf8b7..00000000
--- a/demos/qt3d/photobrowser3d/thumbnaileffect.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "thumbnaileffect.h"
-
-#include <QtOpenGL/qglshaderprogram.h>
-
-class ThumbnailEffectPrivate
-{
-public:
- ThumbnailEffectPrivate()
- : program(0)
- , matrixUniform(-1)
- , thumbnailUniform(-1)
- , thumbnail(false)
- , thumbnailUpdateRequired(false)
- {
- }
- ~ThumbnailEffectPrivate() { delete program; }
-
- QGLShaderProgram *program;
- int matrixUniform;
- int thumbnailUniform;
- int colorUniform;
- int pickingUniform;
- // true if we render a thumbnail, false do the large size
- bool thumbnail;
- bool thumbnailUpdateRequired;
-};
-
-/*!
- Constructs a new flat texture effect.
-*/
-ThumbnailEffect::ThumbnailEffect()
- : d(new ThumbnailEffectPrivate)
-{
-}
-
-/*!
- Destroys this flat texture effect.
-*/
-ThumbnailEffect::~ThumbnailEffect()
-{
- delete d;
-}
-
-/*!
- \reimp
-*/
-QList<QGL::VertexAttribute> ThumbnailEffect::requiredFields() const
-{
- QList<QGL::VertexAttribute> fields;
- fields += QGL::Position;
- fields += QGL::TextureCoord0;
- fields += QGL::TextureCoord1;
- return fields;
-}
-
-/*!
- \reimp
-*/
-void ThumbnailEffect::setActive(QGLPainter *painter, bool flag)
-{
- Q_UNUSED(painter);
- if (!d->program) {
- if (!flag)
- return;
- d->program = new QGLShaderProgram();
- d->program->addShaderFromSourceFile(QGLShader::Vertex, ":/shaders/replace_texture.vsh");
- d->program->addShaderFromSourceFile(QGLShader::Fragment, ":/shaders/replace_texture.fsh");
- d->program->bindAttributeLocation("vertex", QGL::Position);
- d->program->bindAttributeLocation("texcoord", QGL::TextureCoord0);
- d->program->bindAttributeLocation("thumbcoord", QGL::TextureCoord1);
- if (!d->program->link()) {
- qWarning("ThumbnailEffect::setActive(): could not link shader d->program");
- delete d->program;
- d->program = 0;
- return;
- }
- d->matrixUniform = d->program->uniformLocation("matrix");
- d->thumbnailUniform = d->program->uniformLocation("thumb");
- d->colorUniform = d->program->uniformLocation("color");
- d->pickingUniform = d->program->uniformLocation("picking");
- d->program->bind();
- d->program->setUniformValue("texture", 0);
- d->program->enableAttributeArray(QGL::Position);
- d->program->enableAttributeArray(QGL::TextureCoord0);
- d->program->enableAttributeArray(QGL::TextureCoord1);
- } else if (flag) {
- d->matrixUniform = d->program->uniformLocation("matrix");
- d->program->bind();
- d->program->setUniformValue("texture", 0);
- d->program->enableAttributeArray(QGL::Position);
- d->program->enableAttributeArray(QGL::TextureCoord0);
- d->program->enableAttributeArray(QGL::TextureCoord1);
- } else {
- d->program->disableAttributeArray(QGL::Position);
- d->program->disableAttributeArray(QGL::TextureCoord0);
- d->program->disableAttributeArray(QGL::TextureCoord1);
- d->program->release();
- }
-}
-
-/*!
- \reimp
-*/
-void ThumbnailEffect::update
- (QGLPainter *painter, QGLPainter::Updates updates)
-{
- Q_ASSERT(d->program);
- if ((updates & QGLPainter::UpdateMatrices) != 0)
- {
- d->program->setUniformValue(d->matrixUniform,
- painter->combinedMatrix());
- }
- if ((updates & QGLPainter::UpdateColor) != 0) {
- d->program->setUniformValue(d->pickingUniform, painter->isPicking());
- if (painter->isPicking())
- d->program->setUniformValue(d->colorUniform, painter->pickColor());
- else
- d->program->setUniformValue(d->colorUniform, Qt::green);
- }
- if (d->thumbnailUpdateRequired)
- {
- d->program->setUniformValue(d->thumbnailUniform, d->thumbnail);
- d->thumbnailUpdateRequired = false;
- }
-}
-
-bool ThumbnailEffect::supportsPicking() const
-{
- return true;
-}
-
-
-void ThumbnailEffect::setThumbnail(bool enable)
-{
- if (d->thumbnail != enable)
- {
- d->thumbnailUpdateRequired = true;
- d->thumbnail = enable;
- }
-}
-
-bool ThumbnailEffect::thumbnail() const
-{
- return d->thumbnail;
-}
diff --git a/demos/qt3d/photobrowser3d/thumbnaileffect.h b/demos/qt3d/photobrowser3d/thumbnaileffect.h
deleted file mode 100644
index 488887de..00000000
--- a/demos/qt3d/photobrowser3d/thumbnaileffect.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGLFLATTEXTUREEFFECT_H
-#define QGLFLATTEXTUREEFFECT_H
-
-#include "qglabstracteffect.h"
-#include <QtCore/qscopedpointer.h>
-
-class ThumbnailEffectPrivate;
-
-class ThumbnailEffect : public QGLAbstractEffect
-{
-public:
- ThumbnailEffect();
- virtual ~ThumbnailEffect();
-
- QList<QGL::VertexAttribute> requiredFields() const;
- void setActive(QGLPainter *painter, bool flag);
- void update(QGLPainter *painter, QGLPainter::Updates updates);
- bool supportsPicking() const;
-
- void setThumbnail(bool enable);
- bool thumbnail() const;
-
- QString name() const { return QLatin1String("ThumbnailEffect"); }
-
-private:
- ThumbnailEffectPrivate *d;
-};
-
-#endif
diff --git a/demos/qt3d/photobrowser3d/thumbnailnode.cpp b/demos/qt3d/photobrowser3d/thumbnailnode.cpp
deleted file mode 100644
index 2199fc03..00000000
--- a/demos/qt3d/photobrowser3d/thumbnailnode.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "thumbnailnode.h"
-#include "qglpainter.h"
-#include "thumbnaileffect.h"
-#include "imagemanager.h"
-#include "qatlas.h"
-#include "qglrendersequencer.h"
-#include "qglpicknode.h"
-#include "qlogicalvertex.h"
-
-#include <QMatrix4x4>
-#include <QTimer>
-
-ThumbnailNode::ThumbnailNode(QObject *parent)
- : QGLSceneNode(parent)
- , m_thresholdSquared(20.0f * 20.0f)
- , m_defaultMaterial(-1)
- , m_loading(false)
- , m_full(0)
- , m_manager(0)
- , m_lastDistance(ThumbnailNode::Unknown)
-{
- setPalette(new QGLMaterialCollection(this));
-}
-
-ThumbnailNode::~ThumbnailNode()
-{
- delete m_full;
-}
-
-void ThumbnailNode::setUrl(const QUrl &url)
-{
- m_url = url;
- m_image = ThumbnailableImage();
- m_image.setUrl(m_url);
- QGL::IndexArray inxs = geometry().indices();
- m_image.setIndices(inxs.mid(start(), count()));
-}
-
-void ThumbnailNode::setupLoading()
-{
- if (!m_loading && !m_url.isEmpty() && m_image.data().isNull())
- {
- m_loading = true;
-#ifdef QT_NO_THREADED_FILE_LOAD
- ThumbnailableImage image;
- image.setUrl(m_url);
- QImage im(m_url.toLocalFile());
- if (im.isNull())
- qDebug() << "ThumbnailNode::setupLoading: could not load image:"
- << m_url.toLocalFile();
- if (im.size().width() > 1024 || im.size().height() > 768)
- im = im.scaled(QSize(1024, 768), Qt::KeepAspectRatio,
- Qt::SmoothTransformation);
- image.setData(im);
- setImage(image);
-#else
- if (m_manager)
- // reconnect the signal we disconnnected in setImage() below
- connect(m_manager, SIGNAL(imageReady(ThumbnailableImage)),
- this, SLOT(setImage(ThumbnailableImage)));
- emit imageRequired(m_image);
- setMaterialIndex(m_defaultMaterial);
-#endif
- }
-}
-
-void ThumbnailNode::createFullNode()
-{
- m_full = new QGLSceneNode;
- m_full->setPosition(position());
- m_full->setGeometry(geometry());
- m_full->setStart(start());
- m_full->setCount(count());
- m_full->setPalette(palette());
- m_full->setMaterialIndex(m_defaultMaterial);
-}
-
-void ThumbnailNode::destroyFullNode()
-{
- if (!m_full)
- return;
- QGLMaterial *mat = m_full->material();
- if (m_full->materialIndex() != m_defaultMaterial)
- m_full->palette()->removeMaterial(mat);
- delete m_full;
- m_full = 0;
-}
-
-void ThumbnailNode::loadFullImage()
-{
- if (!m_full)
- createFullNode();
- Q_CHECK_PTR(m_full);
- // if we have a valid image, and the full node still has the
- // default material, switch to a new material which displays
- // the full size image
- if (!m_image.data().isNull() &&
- m_full->materialIndex() == m_defaultMaterial)
- {
- QGLMaterial *mat = new QGLMaterial;
- QGLTexture2D *tex = new QGLTexture2D;
- tex->setImage(m_image.data());
- mat->setTexture(tex);
- mat->setObjectName(m_image.url().path());
- int ix = palette()->addMaterial(mat);
- m_full->setMaterialIndex(ix);
- mat->setParent(m_full);
- }
-}
-
-void ThumbnailNode::drawGeometry(QGLPainter *painter)
-{
- QGLSceneNode::drawGeometry(painter);
-}
-
-void ThumbnailNode::draw(QGLPainter *painter)
-{
- QGLSceneNode *p = qobject_cast<QGLSceneNode*>(parent());
- Q_ASSERT_X(p && p->userEffect() && (!hasEffect()),
- Q_FUNC_INFO, "Should only inherit parents ThumbnailEffect");
-
- ThumbnailEffect *effect = static_cast<ThumbnailEffect*>(p->userEffect());
- Q_ASSERT_X(effect && effect->name() == QLatin1String("ThumbnailEffect"),
- Q_FUNC_INFO, "Can only be drawn with custom ThumbnailEffect");
-
- if (m_defaultMaterial == -1)
- m_defaultMaterial = materialIndex();
-
- QMatrix4x4 m = painter->modelViewMatrix().top();
- QVector3D pos = m.map(position());
- qreal magSquared = pos.lengthSquared();
-
- Distance distance = Unknown;
-
- if (magSquared > (4.0f * m_thresholdSquared))
- distance = VeryFar;
- else if (magSquared > (2.0f * m_thresholdSquared))
- distance = Far;
- else if (magSquared > m_thresholdSquared)
- distance = Middle;
- else
- distance = Near;
-
- if (true) // distance != m_lastDistance)
- {
- m_lastDistance = distance;
- m_image.setThumbnailed(m_lastDistance > Near);
- switch (distance)
- {
- case Unknown:
- case Near:
- setupLoading();
- loadFullImage();
- break;
- case Middle:
- setupLoading();
- loadFullImage();
- break;
- case Far:
- setupLoading();
- break;
- case VeryFar:
- destroyFullNode();
- break;
- }
- }
-
- effect->setThumbnail(m_image.isThumbnailed());
- if (m_image.isThumbnailed() || !m_full)
- {
- QGLSceneNode::draw(painter);
- }
- else
- {
- if (m_image.data().isNull())
- m_full->setMaterialIndex(m_defaultMaterial);
- if (pickNode() && painter->isPicking())
- painter->setObjectPickId(pickNode()->id());
- m_full->draw(painter);
- }
-
-}
-
-void ThumbnailNode::setImage(const ThumbnailableImage &image)
-{
- Q_ASSERT(QThread::currentThread() == thread());
- Q_ASSERT(!image.isNull());
-
- // the manager will be (potentially) loading a number of images, but
- // we only want our one, so just check this is our order
- if (m_url != image.url())
- return;
-
- // ok we got the right one, stop listening to the manager
- if (sender())
- {
- m_manager = sender();
- m_manager->disconnect(this, SLOT(setImage(ThumbnailableImage)));
- }
-
- // ok maybe we got what we asked for but in the meantime we decided
- // we did not want it anymore
- if (!m_loading)
- return;
-
- // the indices we are about to set will index this thumbnail image
- // into the image that its atlas is based on via the texture coords
- // that the atlas is using - those texture coords must be in the
- // same geometry that this node is referencing, so that they will
- // arrive at the vertex shader at the same time - ie they are all
- // matched in the data arrays in the geometry object
- //Q_ASSERT(QAtlas::instance()->geometry() == geometry());
-
- m_image = image;
- Q_ASSERT(!m_image.data().isNull());
-
- // configure the placeholder for the actual image size
- // this makes a photo of 1024 x 768 display on approx 3.0 x 2.8 pane
- // add salt to taste
- //QSizeF f = QSizeF(m_image.data().size()) / 600.0f;
- QSizeF f = QSizeF(m_image.data().size());
- f.scale(1.6, 1.2, Qt::KeepAspectRatio);
- QVector3D a(-f.width(), -f.height(), 0.0f);
- QVector3D b(f.width(), -f.height(), 0.0f);
- QVector3D c(f.width(), f.height(), 0.0f);
- QVector3D d(-f.width(), f.height(), 0.0f);
- int k = start();
- Q_ASSERT(count() == 6);
- QGeometryData g = geometry();
- QGL::IndexArray inxs = g.indices();
- g.vertex(inxs.at(k)) = a;
- g.vertex(inxs.at(k+1)) = b;
- g.vertex(inxs.at(k+2)) = c;
- g.vertex(inxs.at(k+5)) = d;
-
- setMaterialIndex(-1);
- m_loading = false;
-
- emit nodeChanged();
-}
diff --git a/demos/qt3d/photobrowser3d/thumbnailnode.h b/demos/qt3d/photobrowser3d/thumbnailnode.h
deleted file mode 100644
index c05da591..00000000
--- a/demos/qt3d/photobrowser3d/thumbnailnode.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef THUMBNAILNODE_H
-#define THUMBNAILNODE_H
-
-#include "qglscenenode.h"
-#include "thumbnailableimage.h"
-
-#include <QtCore/qmath.h>
-#include <QUrl>
-
-class ThumbnailNode : public QGLSceneNode
-{
- Q_OBJECT
-public:
- enum Distance
- {
- Unknown,
- Near,
- Middle,
- Far,
- VeryFar
- };
-
- explicit ThumbnailNode(QObject *parent = 0);
- ~ThumbnailNode();
- QUrl url() const { return m_url; }
- void setUrl(const QUrl &url);
- void setThreshold(qreal threshold) { m_thresholdSquared = threshold * threshold; }
- qreal threshold() const { return qSqrt(m_thresholdSquared); }
- void draw(QGLPainter *painter);
- void drawGeometry(QGLPainter *painter);
- ThumbnailableImage image() const { return m_image; }
-signals:
- void imageRequired(const ThumbnailableImage &);
- void nodeChanged();
-public slots:
- void setImage(const ThumbnailableImage &image);
-private:
- void createFullNode();
- void destroyFullNode();
- void setupLoading();
- void setupThumbnailing();
- void loadFullImage();
-
- ThumbnailableImage m_image;
- qreal m_thresholdSquared;
- int m_defaultMaterial;
- QUrl m_url;
- bool m_loading;
- QGLSceneNode *m_full;
- QSizeF m_max;
- QObject *m_manager;
- Distance m_lastDistance;
-};
-
-#endif // THUMBNAILNODE_H
diff --git a/demos/qt3d/qt3d.pro b/demos/qt3d/qt3d.pro
deleted file mode 100644
index 90e858a3..00000000
--- a/demos/qt3d/qt3d.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = teaservice shapes pageflip cubehouse photobrowser3d
diff --git a/demos/qt3d/qt3d.svg b/demos/qt3d/qt3d.svg
deleted file mode 100644
index 37e093c6..00000000
--- a/demos/qt3d/qt3d.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<!-- Converted with SVG Converter - Version 0.9.5 (Compiled Mon May 30 09:08:51 2011) - Copyright (C) 2011 Nokia -->
-<svg xmlns="http://www.w3.org/2000/svg" width="156.4375" version="1.1" height="157.4375" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" id="svg3033">
- <defs id="defs3035"/>
- <metadata id="metadata3038"/>
- <g id="layer1" transform="translate(28.03125,33.8125)">
- <rect width="150.51273" x="-25.074545" y="-30.852354" height="151.52289" ry="22.142857" style="fill:#000000;stroke:#d4f301;stroke-width:5.92500019;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="rect2996"/>
- <image width="134" x="-14.079733" y="-21.892805" height="128" id="image2993" xlink:href="data:image/png;base64,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 SzT+AAAAAElFTkSuQmCC "/>
- </g>
-</svg>
diff --git a/demos/qt3d/shapes/icon-l-qt3d.png b/demos/qt3d/shapes/icon-l-qt3d.png
deleted file mode 100644
index 07cc4092..00000000
--- a/demos/qt3d/shapes/icon-l-qt3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/shapes/m5-shapes.desktop b/demos/qt3d/shapes/m5-shapes.desktop
deleted file mode 100644
index e3ef575d..00000000
--- a/demos/qt3d/shapes/m5-shapes.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=Shapes
-Comment=Qt3D example application
-Exec=/usr/bin/shapes -fullscreen
-Icon=icon-l-qt3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/qt3d/shapes/qt3d.ico b/demos/qt3d/shapes/qt3d.ico
deleted file mode 100644
index 1d07c43d..00000000
--- a/demos/qt3d/shapes/qt3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/shapes/shapes.cpp b/demos/qt3d/shapes/shapes.cpp
deleted file mode 100644
index 4da051a3..00000000
--- a/demos/qt3d/shapes/shapes.cpp
+++ /dev/null
@@ -1,520 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qglpainter.h"
-#include "qglbuilder.h"
-#include "qglcube.h"
-#include "qglteapot.h"
-#include "qglcamera.h"
-#include "qgltexture2d.h"
-#include "qglsubsurface.h"
-#include <QApplication>
-#include <QImage>
-#include <QPainter>
-#include <QDebug>
-#include <QtGui/QFontDatabase>
-
-#include <QtGui/QWindow>
-#include <QtGui/QOpenGLContext>
-#include <QtGui/QSurfaceFormat>
-
-class ShapesWidget : public QWindow
-{
- Q_OBJECT
-public:
- ShapesWidget(QWindow *parent = 0);
- ~ShapesWidget();
-
-protected:
- void exposeEvent(QExposeEvent *);
-
- void resizeGL(int w, int h);
- void initializeGL();
- void paintGL();
-
-private:
- void ensureContext();
-
- void paintPoints(QGLPainter *painter, const QRect& rect);
- void paintLines(QGLPainter *painter, const QRect& rect);
- void paintLineStrip(QGLPainter *painter, const QRect& rect);
- void paintLineLoop(QGLPainter *painter, const QRect& rect);
- void paintTriangles(QGLPainter *painter, const QRect& rect);
- void paintTriangleStrip(QGLPainter *painter, const QRect& rect);
- void paintTriangleFan(QGLPainter *painter, const QRect& rect);
- void paintCube(QGLPainter *painter, const QRect& rect);
- void paintTeapot(QGLPainter *painter, const QRect& rect);
- void drawText(QGLPainter *painter, const QRect& posn, const QString& str);
-
- static QVector2DArray basicPoints(const QRect& rect);
-
- QGLCamera camera;
- QGLSceneNode *scene;
- QGLSceneNode *cube;
- QGLSceneNode *teapot;
- QGLLightModel oneSidedModel;
- QGLLightModel twoSidedModel;
-
- QOpenGLContext *context;
- bool initialised;
- QSurfaceFormat format;
-};
-
-ShapesWidget::ShapesWidget(QWindow *parent)
- : QWindow(parent)
- , context(0)
- , initialised(false)
-{
- setWindowTitle(tr("GL Primitive Shapes"));
- format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- format.setDepthBufferSize(24);
- setSurfaceType(QWindow::OpenGLSurface);
- setFormat(format);
-
- oneSidedModel.setModel(QGLLightModel::OneSided);
- twoSidedModel.setModel(QGLLightModel::TwoSided);
-}
-
-ShapesWidget::~ShapesWidget()
-{
- delete scene;
-}
-
-void ShapesWidget::exposeEvent(QExposeEvent *e)
-{
- Q_UNUSED(e);
-
- ensureContext();
-
- QRect rect = geometry();
- resizeGL(rect.width(), rect.height());
-
- if (!initialised)
- initializeGL();
-
- paintGL();
-
- if (format.swapBehavior() == QSurfaceFormat::DoubleBuffer)
- context->swapBuffers(this);
-}
-
-void ShapesWidget::resizeGL(int w, int h)
-{
- glViewport(0, 0, w, h);
-}
-
-void ShapesWidget::initializeGL()
-{
- QGLPainter painter;
- painter.begin();
-
- painter.setLightModel(&twoSidedModel);
- painter.setFaceColor(QGL::FrontFaces, QColor(170, 202, 0));
- painter.setFaceColor(QGL::BackFaces, QColor(202, 170, 0));
-
- QGLBuilder builder;
- builder << QGL::Faceted << QGLCube();
- cube = builder.currentNode();
- builder << QGL::Smooth << QGLTeapot();
- teapot = builder.currentNode();
- scene = builder.finalizedSceneNode();
-
- initialised = true;
-}
-
-void ShapesWidget::paintGL()
-{
- QGLPainter painter(this);
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glDisable(GL_DEPTH_TEST);
-
- QMatrix4x4 projm;
- projm.ortho(geometry());
- painter.projectionMatrix() = projm;
- painter.modelViewMatrix().setToIdentity();
-
- QRect wrect = geometry();
- int boxw = wrect.width() / 3;
- int boxh = wrect.height() / 3;
-
- paintLines(&painter, QRect(0, 0, boxw, boxh));
- paintLineStrip(&painter, QRect(boxw, 0, boxw, boxh));
- paintLineLoop(&painter, QRect(boxw * 2, 0, boxw, boxh));
- paintTriangles(&painter, QRect(0, boxh, boxw, boxh));
- paintTriangleStrip(&painter, QRect(boxw, boxh, boxw, boxh));
- paintTriangleFan(&painter, QRect(boxw * 2, boxh, boxw, boxh));
- paintPoints(&painter, QRect(0, boxh * 2, boxw, boxh));
-
- glEnable(GL_DEPTH_TEST);
-
- paintCube(&painter, QRect(boxw, boxh * 2, boxw, boxh));
- paintTeapot(&painter, QRect(boxw * 2, boxh * 2, boxw, boxh));
-}
-
-QVector2DArray ShapesWidget::basicPoints(const QRect& rect)
-{
- QVector2DArray vertices;
- int step = qMin(rect.width() / 6, rect.height() / 6);
- int midx = rect.x() + rect.width() / 2;
- int midy = rect.y() + rect.height() / 2;
- vertices.append(midx - step * 2, midy - step);
- vertices.append(midx + step, midy - step * 2);
- vertices.append(midx, midy - step);
- vertices.append(midx + step * 2 + step / 2, midy - step / 2);
- vertices.append(midx - step, midy);
- vertices.append(midx + step * 2, midy + step);
- vertices.append(midx - step, midy + step);
- vertices.append(midx + step * 2, midy);
- return vertices;
-}
-
-void ShapesWidget::paintPoints(QGLPainter *painter, const QRect& rect)
-{
- painter->setStandardEffect(QGL::FlatColor);
- painter->setColor(QColor(170, 202, 0));
-
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, basicPoints(rect));
- painter->draw(QGL::Points, 8);
-
- drawText(painter, rect, tr("Points"));
-}
-
-void ShapesWidget::paintLines(QGLPainter *painter, const QRect& rect)
-{
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, basicPoints(rect));
- painter->draw(QGL::Lines, 8);
-
- drawText(painter, rect, tr("Lines"));
-}
-
-void ShapesWidget::paintLineStrip(QGLPainter *painter, const QRect& rect)
-{
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, basicPoints(rect));
- painter->draw(QGL::LineStrip, 8);
-
- drawText(painter, rect, tr("Line strip"));
-}
-
-void ShapesWidget::paintLineLoop(QGLPainter *painter, const QRect& rect)
-{
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, basicPoints(rect));
- painter->draw(QGL::LineLoop, 8);
-
- drawText(painter, rect, tr("Line loop"));
-}
-
-void ShapesWidget::paintTriangles(QGLPainter *painter, const QRect& rect)
-{
- painter->setStandardEffect(QGL::LitMaterial);
-
- QVector2DArray vertices;
- QVector3DArray normals;
- int step = qMin(rect.width() / 8, rect.height() / 8);
- int midx = rect.x() + rect.width() / 2;
- int midy = rect.y() + rect.height() / 2;
-
- vertices.append(midx - step * 3, midy);
- vertices.append(midx - step * 3, midy + step * 2);
- vertices.append(midx - step, midy + step * 2);
-
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
-
- vertices.append(midx - step * 2, midy - step);
- vertices.append(midx + step / 2, midy + step * 2);
- vertices.append(midx + step * 3, midy - step);
-
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
-
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, vertices);
- painter->setVertexAttribute(QGL::Normal, normals);
- painter->draw(QGL::Triangles, 6);
-
- drawText(painter, rect, tr("Triangles"));
-}
-
-void ShapesWidget::paintTriangleStrip(QGLPainter *painter, const QRect& rect)
-{
- painter->setStandardEffect(QGL::LitMaterial);
-
- QVector2DArray vertices;
- QVector3DArray normals;
- int step = qMin(rect.width() / 8, rect.height() / 8);
- int midx = rect.x() + rect.width() / 2;
- int midy = rect.y() + rect.height() / 2;
-
- vertices.append(midx - step * 3, midy - step * 2);
- vertices.append(midx - step * 3, midy + step);
- vertices.append(midx - step, midy - step * 2);
- vertices.append(midx, midy + step);
- vertices.append(midx + step, midy - step * 2);
- vertices.append(midx + step * 2, midy + step * 2);
-
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
-
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, vertices);
- painter->setVertexAttribute(QGL::Normal, normals);
- painter->draw(QGL::TriangleStrip, 6);
-
- // Overpaint some lines to show the triangle boundaries.
- painter->clearAttributes();
- painter->setStandardEffect(QGL::FlatColor);
- painter->setColor(QColor(202, 170, 0));
- painter->setVertexAttribute(QGL::Position, vertices);
- painter->draw(QGL::LineStrip, 4, 1);
-
- drawText(painter, rect, tr("Triangle strip"));
-}
-
-void ShapesWidget::paintTriangleFan(QGLPainter *painter, const QRect& rect)
-{
- painter->setStandardEffect(QGL::LitMaterial);
-
- QVector2DArray vertices;
- QVector3DArray normals;
- int step = qMin(rect.width() / 8, rect.height() / 8);
- int midx = rect.x() + rect.width() / 2;
- int midy = rect.y() + rect.height() / 2;
-
- vertices.append(midx - step, midy + step);
- vertices.append(midx + step * 2, midy + step * 2);
- vertices.append(midx + step * 2, midy);
- vertices.append(midx + step, midy - step);
- vertices.append(midx - step, midy - step * 2);
-
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
- normals.append(0.0f, 0.0f, 1.0f);
-
- painter->clearAttributes();
- painter->setVertexAttribute(QGL::Position, vertices);
- painter->setVertexAttribute(QGL::Normal, normals);
- painter->draw(QGL::TriangleFan, 5);
-
- // Overpaint some lines to show the triangle boundaries.
- painter->clearAttributes();
- painter->setStandardEffect(QGL::FlatColor);
- painter->setColor(QColor(202, 170, 0));
- static ushort const indices[] = {0, 2, 0, 3};
- painter->setVertexAttribute(QGL::Position, vertices);
- painter->draw(QGL::Lines, indices, 4);
-
- drawText(painter, rect, tr("Triangle fan"));
-}
-
-void ShapesWidget::paintCube(QGLPainter *painter, const QRect& rect)
-{
- painter->setStandardEffect(QGL::LitMaterial);
-
- painter->projectionMatrix().push();
- painter->modelViewMatrix().push();
-
- QGLSubsurface surface(painter->currentSurface(), rect);
- painter->pushSurface(&surface);
-
- painter->setCamera(&camera);
- painter->modelViewMatrix().rotate(45.0f, 1.0f, 1.0f, 1.0f);
-
- cube->draw(painter);
-
- painter->projectionMatrix().pop();
- painter->modelViewMatrix().pop();
-
- painter->popSurface();
-
- drawText(painter, rect, tr("Cube"));
-}
-
-void ShapesWidget::paintTeapot(QGLPainter *painter, const QRect& rect)
-{
- painter->setStandardEffect(QGL::LitMaterial);
-
- painter->projectionMatrix().push();
- painter->modelViewMatrix().push();
-
- QGLSubsurface surface(painter->currentSurface(), rect);
- painter->pushSurface(&surface);
-
- painter->setCamera(&camera);
-
- // Need a one-sided lighting model for the teapot.
- painter->setLightModel(&oneSidedModel);
-
- teapot->draw(painter);
-
- painter->setLightModel(&twoSidedModel);
-
- painter->projectionMatrix().pop();
- painter->modelViewMatrix().pop();
-
- painter->popSurface();
-
- drawText(painter, rect, tr("Teapot"));
-}
-
-// Draw text centered on the bottom of the "posn" rectangle.
-void ShapesWidget::drawText
- (QGLPainter *painter, const QRect& posn, const QString& str)
-{
- QFont f = QApplication::font();
- QFontMetrics metrics(f);
- QRect rect = metrics.boundingRect(str);
- rect.adjust(0, 0, 1, 1);
-
- QImage image(rect.size(), QImage::Format_ARGB32);
- image.fill(0);
- QPainter p2(&image);
- p2.setFont(f);
- p2.setPen(Qt::white);
- p2.drawText(-rect.x(), metrics.ascent(), str);
- p2.end();
-
- QGLTexture2D texture;
- texture.setImage(image);
-
- int x = posn.x() + (posn.width() - rect.width()) / 2;
- int y = posn.y() + posn.height() - metrics.ascent() - metrics.descent();
- y -= 10;
-
- QVector2DArray vertices;
- vertices.append(x + rect.x(), y + metrics.ascent());
- vertices.append(x + rect.x(), y - metrics.descent());
- vertices.append(x + rect.x() + rect.width(), y - metrics.descent());
- vertices.append(x + rect.x() + rect.width(), y + metrics.ascent());
-
- QVector2DArray texCoord;
- texCoord.append(0.0f, 0.0f);
- texCoord.append(0.0f, 1.0f);
- texCoord.append(1.0f, 1.0f);
- texCoord.append(1.0f, 0.0f);
-
- painter->clearAttributes();
- painter->setStandardEffect(QGL::FlatReplaceTexture2D);
- texture.bind();
- painter->setVertexAttribute(QGL::Position, vertices);
- painter->setVertexAttribute(QGL::TextureCoord0, texCoord);
- painter->draw(QGL::TriangleFan, 4);
- painter->setStandardEffect(QGL::FlatColor);
- glBindTexture(GL_TEXTURE_2D, 0);
-}
-
-void ShapesWidget::ensureContext()
-{
- if (!context)
- {
- format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
- context = new QOpenGLContext();
- context->setFormat(format);
-#ifndef QT_NO_DEBUG_STREAM
- QSurfaceFormat oldFormat = format;
-#endif
- context->create();
- // TODO: is it possible that the platform will downgrade the actual
- // format, or will it just fail if it can't deliver the actual format
- format = context->format();
-#ifndef QT_NO_DEBUG_STREAM
- if (oldFormat.swapBehavior() != format.swapBehavior())
- qWarning() << "Could not create context for swap behavior"
- << oldFormat.swapBehavior();
-#endif
- context->makeCurrent(this);
- }
- else
- {
- context->makeCurrent(this);
- }
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- ShapesWidget view;
-
- QStringList args = QCoreApplication::arguments();
- int w_pos = args.indexOf("-width");
- int h_pos = args.indexOf("-height");
- if (w_pos >= 0 && h_pos >= 0)
- {
- bool ok = true;
- int w = args.at(w_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse width argument:" << args;
- return 1;
- }
- int h = args.at(h_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse height argument:" << args;
- return 1;
- }
- view.resize(w, h);
- }
- else
- {
- view.resize(800, 600);
- }
- view.show();
-
- return app.exec();
-}
-
-
-
-#include "shapes.moc"
diff --git a/demos/qt3d/shapes/shapes.desktop b/demos/qt3d/shapes/shapes.desktop
deleted file mode 100644
index 7a841e12..00000000
--- a/demos/qt3d/shapes/shapes.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=shapes
-Icon=icon-l-qt3d
-Exec=/usr/bin/shapes -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_shapes
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/qt3d/shapes/shapes.pro b/demos/qt3d/shapes/shapes.pro
deleted file mode 100644
index bebc7157..00000000
--- a/demos/qt3d/shapes/shapes.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TEMPLATE = app
-TARGET = shapes
-CONFIG += qt warn_on
-QT += widgets qt3d
-
-SOURCES = shapes.cpp
-
-CONFIG += qt3d_deploy_pkg
-include(../../../pkg.pri)
-
-OTHER_FILES += \
- shapes.rc
-
-RC_FILE = shapes.rc
diff --git a/demos/qt3d/shapes/shapes.rc b/demos/qt3d/shapes/shapes.rc
deleted file mode 100644
index b40ecdc1..00000000
--- a/demos/qt3d/shapes/shapes.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qt3d.ico"
diff --git a/demos/qt3d/teaservice/README b/demos/qt3d/teaservice/README
deleted file mode 100644
index d7d71a61..00000000
--- a/demos/qt3d/teaservice/README
+++ /dev/null
@@ -1,7 +0,0 @@
-
-This example demonstrates a view with multiple scene objects, plus material
-parameters. It shows a teapot, two teacups, and two teaspoons.
-
-The model source data came from "http://www.sjbaker.org/teapot/teaset.tgz".
-
-Note: the teacups have no bottoms in the original source data.
diff --git a/demos/qt3d/teaservice/icon-l-qt3d.png b/demos/qt3d/teaservice/icon-l-qt3d.png
deleted file mode 100644
index 07cc4092..00000000
--- a/demos/qt3d/teaservice/icon-l-qt3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/teaservice/m5-teaservice.desktop b/demos/qt3d/teaservice/m5-teaservice.desktop
deleted file mode 100644
index be3e241a..00000000
--- a/demos/qt3d/teaservice/m5-teaservice.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=Tea Service
-Comment=Qt3D example application
-Exec=/usr/bin/teaservice -fullscreen
-Icon=icon-l-qt3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/qt3d/teaservice/meshobject.cpp b/demos/qt3d/teaservice/meshobject.cpp
deleted file mode 100644
index f2ef5242..00000000
--- a/demos/qt3d/teaservice/meshobject.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "meshobject.h"
-#include "qglview.h"
-
-MeshObject::MeshObject(QGLSceneNode *meshObject, QObject *parent)
- : QObject(parent)
-{
- m_mesh = 0;
- m_meshObject = meshObject;
- m_scale = 1.0f;
- m_rotationAngle = 0.0f;
- m_effect = 0;
- m_objectId = -1;
- m_hovering = false;
- m_material = 0;
- m_hoverMaterial = 0;
-}
-
-MeshObject::MeshObject(QGLAbstractScene *scene, QObject *parent)
- : QObject(parent)
-{
- scene->setParent(this);
- m_mesh = 0;
- m_meshObject = scene->mainNode();
- m_scale = 1.0f;
- m_rotationAngle = 0.0f;
- m_effect = 0;
- m_objectId = -1;
- m_hovering = false;
- m_material = 0;
- m_hoverMaterial = 0;
-}
-
-MeshObject::~MeshObject()
-{
- delete m_mesh;
-}
-
-void MeshObject::initialize(QGLView *view, QGLPainter *painter)
-{
- Q_UNUSED(painter);
- if (m_objectId != -1)
- view->registerObject(m_objectId, this);
-}
-
-void MeshObject::draw(QGLPainter *painter)
-{
- // Position the model at its designated position, scale, and orientation.
- painter->modelViewMatrix().push();
- painter->modelViewMatrix().translate(m_position);
- if (m_scale != 1.0f)
- painter->modelViewMatrix().scale(m_scale);
- if (m_rotationAngle != 0.0f)
- painter->modelViewMatrix().rotate(m_rotationAngle, m_rotationVector);
-
- // Apply the material and effect to the painter.
- QGLMaterial *material;
- if (m_hovering)
- material = m_hoverMaterial;
- else
- material = m_material;
- painter->setColor(material->diffuseColor());
- painter->setFaceMaterial(QGL::AllFaces, material);
- if (m_effect)
- painter->setUserEffect(m_effect);
- else
- painter->setStandardEffect(QGL::LitMaterial);
-
- // Mark the object for object picking purposes.
- int prevObjectId = painter->objectPickId();
- if (m_objectId != -1)
- painter->setObjectPickId(m_objectId);
-
- // Draw the geometry mesh.
- if (m_meshObject)
- m_meshObject->draw(painter);
- else
- m_mesh->draw(painter);
-
- // Turn off the user effect, if present.
- if (m_effect)
- painter->setStandardEffect(QGL::LitMaterial);
-
- // Revert to the previous object identifier.
- painter->setObjectPickId(prevObjectId);
-
- // Restore the modelview matrix.
- painter->modelViewMatrix().pop();
-}
-
-bool MeshObject::event(QEvent *e)
-{
- // Convert the raw event into a signal representing the user's action.
- if (e->type() == QEvent::MouseButtonPress) {
- QMouseEvent *me = (QMouseEvent *)e;
- if (me->button() == Qt::LeftButton)
- emit pressed();
- } else if (e->type() == QEvent::MouseButtonRelease) {
- QMouseEvent *me = (QMouseEvent *)e;
- if (me->button() == Qt::LeftButton) {
- emit released();
- if (me->x() >= 0) // Positive: inside object, Negative: outside.
- emit clicked();
- }
- } else if (e->type() == QEvent::MouseButtonDblClick) {
- emit doubleClicked();
- } else if (e->type() == QEvent::Enter) {
- m_hovering = true;
- emit hoverChanged();
- } else if (e->type() == QEvent::Leave) {
- m_hovering = false;
- emit hoverChanged();
- }
- return QObject::event(e);
-}
diff --git a/demos/qt3d/teaservice/meshobject.h b/demos/qt3d/teaservice/meshobject.h
deleted file mode 100644
index 15b62f05..00000000
--- a/demos/qt3d/teaservice/meshobject.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MESHOBJECT_H
-#define MESHOBJECT_H
-
-#include <QtCore/qobject.h>
-#include <QtGui/qevent.h>
-
-#include "qglpainter.h"
-#include "qglabstractscene.h"
-
-QT_BEGIN_NAMESPACE
-class QGLView;
-class QGLSceneNode;
-QT_END_NAMESPACE
-
-class MeshObject : public QObject
-{
- Q_OBJECT
-public:
- explicit MeshObject(QGLSceneNode *meshObject, QObject *parent=0);
- explicit MeshObject(QGLAbstractScene *scene, QObject *parent=0);
- virtual ~MeshObject();
-
- QVector3D position() const { return m_position; }
- void setPosition(const QVector3D& value) { m_position = value; }
-
- qreal scale() const { return m_scale; }
- void setScale(qreal value) { m_scale = value; }
-
- qreal rotationAngle() const { return m_rotationAngle; }
- void setRotationAngle(qreal value) { m_rotationAngle = value; }
-
- QVector3D rotationVector() const { return m_rotationVector; }
- void setRotationVector(const QVector3D& value) { m_rotationVector = value; }
-
- QGLMaterial *material() const { return m_material; }
- void setMaterial(QGLMaterial *value)
- { m_material = value; m_hoverMaterial = value; }
-
- QGLMaterial *hoverMaterial() const { return m_hoverMaterial; }
- void setHoverMaterial(QGLMaterial *value) { m_hoverMaterial = value; }
-
- QGLAbstractEffect *effect() const { return m_effect; }
- void setEffect(QGLAbstractEffect *value) { m_effect = value; }
-
- int objectId() const { return m_objectId; }
- void setObjectId(int id) { m_objectId = id; }
-
- void initialize(QGLView *view, QGLPainter *painter);
- void draw(QGLPainter *painter);
-
-signals:
- void pressed();
- void released();
- void clicked();
- void doubleClicked();
- void hoverChanged();
-
-protected:
- bool event(QEvent *e);
-
-private:
- QGLSceneNode *m_mesh;
- QGLSceneNode *m_meshObject;
- QGLAbstractScene *m_scene;
- QVector3D m_position;
- qreal m_scale;
- qreal m_rotationAngle;
- QVector3D m_rotationVector;
- QGLMaterial *m_material;
- QGLMaterial *m_hoverMaterial;
- QGLAbstractEffect *m_effect;
- int m_objectId;
- bool m_hovering;
-};
-
-#endif
diff --git a/demos/qt3d/teaservice/per_pixel_lighting.fsh b/demos/qt3d/teaservice/per_pixel_lighting.fsh
deleted file mode 100644
index d97a0461..00000000
--- a/demos/qt3d/teaservice/per_pixel_lighting.fsh
+++ /dev/null
@@ -1,112 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-// Per-pixel lighting - fragment shader side.
-
-struct qt_MaterialParameters {
- mediump vec4 emission;
- mediump vec4 ambient;
- mediump vec4 diffuse;
- mediump vec4 specular;
- mediump float shininess;
-};
-uniform qt_MaterialParameters qt_Material;
-
-struct qt_SingleLightParameters {
- mediump vec4 position;
- mediump vec3 spotDirection;
- mediump float spotExponent;
- mediump float spotCutoff;
- mediump float spotCosCutoff;
- mediump float constantAttenuation;
- mediump float linearAttenuation;
- mediump float quadraticAttenuation;
-};
-uniform qt_SingleLightParameters qt_Light;
-
-varying mediump vec3 qNormal;
-varying mediump vec3 qLightDirection;
-varying mediump vec3 qHalfVector;
-varying mediump vec3 qVertexToLight;
-varying mediump vec4 qAmbient;
-varying mediump vec4 qDiffuse;
-
-vec4 qLightPixel(vec4 ambient, vec4 diffuse)
-{
- float angle, spot;
- vec4 color;
- vec4 component;
- vec3 normal = normalize(qNormal);
-
- // Start with the ambient color.
- color = ambient;
-
- // Determine the cosine of the angle between the normal and the
- // vector from the vertex to the light.
- angle = max(dot(normal, qLightDirection), 0.0);
-
- // Calculate the diffuse light components.
- component = angle * diffuse;
-
- // Calculate the specular light components.
- if (angle != 0.0) {
- angle = max(dot(normal, qHalfVector), 0.0);
- component += pow(angle, qt_Material.shininess) * qt_Material.specular;
- }
-
- // Apply the spotlight angle and exponent.
- if (qt_Light.spotCutoff != 180.0) {
- spot = max(dot(normalize(qVertexToLight),
- normalize(qt_Light.spotDirection)), 0.0);
- if (spot < qt_Light.spotCosCutoff)
- spot = 0.0;
- else
- spot = pow(spot, qt_Light.spotExponent);
- component *= spot;
- }
-
- return clamp(color + component, 0.0, 1.0);
-}
-
-void main(void)
-{
- gl_FragColor = qLightPixel(qAmbient, qDiffuse);
-}
diff --git a/demos/qt3d/teaservice/per_pixel_lighting.vsh b/demos/qt3d/teaservice/per_pixel_lighting.vsh
deleted file mode 100644
index d5157840..00000000
--- a/demos/qt3d/teaservice/per_pixel_lighting.vsh
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-// Per-pixel lighting - vertex shader side.
-
-attribute highp vec4 qt_Vertex;
-attribute mediump vec3 qt_Normal;
-uniform mediump mat4 qt_ModelViewMatrix;
-uniform mediump mat4 qt_ModelViewProjectionMatrix;
-uniform mediump mat3 qt_NormalMatrix;
-
-struct qt_MaterialParameters {
- mediump vec4 emission;
- mediump vec4 ambient;
- mediump vec4 diffuse;
- mediump vec4 specular;
- mediump float shininess;
-};
-uniform qt_MaterialParameters qt_Material;
-
-struct qt_SingleLightParameters {
- mediump vec4 position;
- mediump vec3 spotDirection;
- mediump float spotExponent;
- mediump float spotCutoff;
- mediump float spotCosCutoff;
- mediump float constantAttenuation;
- mediump float linearAttenuation;
- mediump float quadraticAttenuation;
-};
-uniform qt_SingleLightParameters qt_Light;
-
-varying mediump vec4 qAmbient;
-varying mediump vec4 qDiffuse;
-varying mediump vec3 qNormal;
-varying mediump vec3 qLightDirection;
-varying mediump vec3 qHalfVector;
-varying mediump vec3 qVertexToLight;
-
-void qLightVertex(vec4 vertex, vec3 normal)
-{
- vec3 toEye;
- qNormal = normal;
- qAmbient = qt_Material.emission + qt_Material.ambient;
- qDiffuse = qt_Material.diffuse;
- qLightDirection = normalize(qt_Light.position.xyz);
- toEye = vec3(0, 0, 1);
- qHalfVector = normalize(qLightDirection + toEye);
- qVertexToLight = vertex.xyz - qt_Light.position.xyz;
-}
-
-void main(void)
-{
- gl_Position = qt_ModelViewProjectionMatrix * qt_Vertex;
- vec4 vertex = qt_ModelViewMatrix * qt_Vertex;
- vec3 normal = normalize(qt_NormalMatrix * qt_Normal);
- qLightVertex(vertex, normal);
-}
diff --git a/demos/qt3d/teaservice/perpixeleffect.cpp b/demos/qt3d/teaservice/perpixeleffect.cpp
deleted file mode 100644
index fc3a4260..00000000
--- a/demos/qt3d/teaservice/perpixeleffect.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "perpixeleffect.h"
-
-PerPixelEffect::PerPixelEffect()
-{
- setVertexShaderFromFile(":per_pixel_lighting.vsh");
- setFragmentShaderFromFile(":per_pixel_lighting.fsh");
-}
-
-PerPixelEffect::~PerPixelEffect()
-{
-}
diff --git a/demos/qt3d/teaservice/perpixeleffect.h b/demos/qt3d/teaservice/perpixeleffect.h
deleted file mode 100644
index dd265f2a..00000000
--- a/demos/qt3d/teaservice/perpixeleffect.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PERPIXELEFFECT_H
-#define PERPIXELEFFECT_H
-
-#include "qglshaderprogrameffect.h"
-
-class PerPixelEffectPrivate;
-class QGLShader;
-
-class PerPixelEffect : public QGLShaderProgramEffect
-{
- Q_DISABLE_COPY(PerPixelEffect);
-public:
- PerPixelEffect();
- virtual ~PerPixelEffect();
-};
-
-#endif
diff --git a/demos/qt3d/teaservice/qt3d.ico b/demos/qt3d/teaservice/qt3d.ico
deleted file mode 100644
index 1d07c43d..00000000
--- a/demos/qt3d/teaservice/qt3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/qt3d/teaservice/sceneobject.cpp b/demos/qt3d/teaservice/sceneobject.cpp
deleted file mode 100644
index 0c7ec4ed..00000000
--- a/demos/qt3d/teaservice/sceneobject.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sceneobject.h"
-#include "meshobject.h"
-
-SceneObject::SceneObject(QObject *parent)
- : QObject(parent)
-{
-}
-
-SceneObject::~SceneObject()
-{
-}
-
-void SceneObject::initialize(QGLView *view, QGLPainter *painter)
-{
- // Initialize all of the mesh objects that we have as children.
- foreach (QObject *obj, children()) {
- MeshObject *meshobj = qobject_cast<MeshObject *>(obj);
- if (meshobj)
- meshobj->initialize(view, painter);
- }
-}
-
-void SceneObject::draw(QGLPainter *painter)
-{
- // Draw all of the mesh objects that we have as children.
- foreach (QObject *obj, children()) {
- MeshObject *meshobj = qobject_cast<MeshObject *>(obj);
- if (meshobj)
- meshobj->draw(painter);
- }
-}
diff --git a/demos/qt3d/teaservice/sceneobject.h b/demos/qt3d/teaservice/sceneobject.h
deleted file mode 100644
index 0e3a3323..00000000
--- a/demos/qt3d/teaservice/sceneobject.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SCENEOBJECT_H
-#define SCENEOBJECT_H
-
-#include <QtCore/qobject.h>
-#include "qglpainter.h"
-
-QT_BEGIN_NAMESPACE
-class QGLView;
-QT_END_NAMESPACE
-
-class SceneObject : public QObject
-{
- Q_OBJECT
-public:
- explicit SceneObject(QObject *parent=0);
- virtual ~SceneObject();
-
- virtual void initialize(QGLView *view, QGLPainter *painter);
- virtual void draw(QGLPainter *painter);
-};
-
-#endif
diff --git a/demos/qt3d/teaservice/teacup.txt b/demos/qt3d/teaservice/teacup.txt
deleted file mode 100644
index f4dde3ef..00000000
--- a/demos/qt3d/teaservice/teacup.txt
+++ /dev/null
@@ -1,280 +0,0 @@
-26
-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
-4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28
-19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40
-31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13
-13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60
-16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69
-28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78
-40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57
-193,194,195,196,197,198,199,200,201,202,203,204,1,2,3,4
-196,205,206,207,200,208,209,210,204,211,212,213,4,17,18,19
-207,214,215,216,210,217,218,219,213,220,221,222,19,29,30,31
-216,223,224,193,219,225,226,197,222,227,228,201,31,41,42,1
-229,230,231,28,232,233,234,235,236,237,238,239,240,241,242,243
-28,244,245,229,235,246,247,232,239,248,249,236,243,250,251,240
-57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96
-60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105
-69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114
-78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93
-93,94,95,96,121,122,123,124,125,126,127,128,129,130,131,132
-96,103,104,105,124,133,134,135,128,136,137,138,132,139,140,141
-105,112,113,114,135,142,143,144,138,145,146,147,141,148,149,150
-114,119,120,93,144,151,152,121,147,153,154,125,150,155,156,129
-129,130,131,132,157,158,159,160,161,162,163,164,165,166,167,168
-132,139,140,141,160,169,170,171,164,172,173,174,168,175,176,177
-141,148,149,150,171,178,179,180,174,181,182,183,177,184,185,186
-150,155,156,129,180,187,188,157,183,189,190,161,186,191,192,165
-251
-0.409091,0.772727,0.0
-0.409091,0.772727,-0.229091
-0.229091,0.772727,-0.409091
-0.0,0.772727,-0.409091
-0.409091,0.886364,0.0
-0.409091,0.886364,-0.229091
-0.229091,0.886364,-0.409091
-0.0,0.886364,-0.409091
-0.454545,0.886364,0.0
-0.454545,0.886364,-0.254545
-0.254545,0.886364,-0.454545
-0.0,0.886364,-0.454545
-0.454545,0.772727,0.0
-0.454545,0.772727,-0.254545
-0.254545,0.772727,-0.454545
-0.0,0.772727,-0.454545
--0.229091,0.772727,-0.409091
--0.409091,0.772727,-0.229091
--0.409091,0.772727,0.0
--0.229091,0.886364,-0.409091
--0.409091,0.886364,-0.229091
--0.409091,0.886364,0.0
--0.254545,0.886364,-0.454545
--0.454545,0.886364,-0.254545
--0.454545,0.886364,0.0
--0.254545,0.772727,-0.454545
--0.454545,0.772727,-0.254545
--0.454545,0.772727,0.0
--0.409091,0.772727,0.229091
--0.229091,0.772727,0.409091
-0.0,0.772727,0.409091
--0.409091,0.886364,0.229091
--0.229091,0.886364,0.409091
-0.0,0.886364,0.409091
--0.454545,0.886364,0.254545
--0.254545,0.886364,0.454545
-0.0,0.886364,0.454545
--0.454545,0.772727,0.254545
--0.254545,0.772727,0.454545
-0.0,0.772727,0.454545
-0.229091,0.772727,0.409091
-0.409091,0.772727,0.229091
-0.229091,0.886364,0.409091
-0.409091,0.886364,0.229091
-0.254545,0.886364,0.454545
-0.454545,0.886364,0.254545
-0.254545,0.772727,0.454545
-0.454545,0.772727,0.254545
-0.454545,0.545455,0.0
-0.454545,0.545455,-0.254545
-0.254545,0.545455,-0.454545
-0.0,0.545455,-0.454545
-0.454545,0.272727,0.0
-0.454545,0.272727,-0.254545
-0.254545,0.272727,-0.454545
-0.0,0.272727,-0.454545
-0.318182,0.0454545,0.0
-0.318182,0.0454545,-0.178182
-0.178182,0.0454545,-0.318182
-0.0,0.0454545,-0.318182
--0.254545,0.545455,-0.454545
--0.454545,0.545455,-0.254545
--0.454545,0.545455,0.0
--0.254545,0.272727,-0.454545
--0.454545,0.272727,-0.254545
--0.454545,0.272727,0.0
--0.178182,0.0454545,-0.318182
--0.318182,0.0454545,-0.178182
--0.318182,0.0454545,0.0
--0.454545,0.545455,0.254545
--0.254545,0.545455,0.454545
-0.0,0.545455,0.454545
--0.454545,0.272727,0.254545
--0.254545,0.272727,0.454545
-0.0,0.272727,0.454545
--0.318182,0.0454545,0.178182
--0.178182,0.0454545,0.318182
-0.0,0.0454545,0.318182
-0.254545,0.545455,0.454545
-0.454545,0.545455,0.254545
-0.254545,0.272727,0.454545
-0.454545,0.272727,0.254545
-0.178182,0.0454545,0.318182
-0.318182,0.0454545,0.178182
-0.545455,0.0454545,0.0
-0.545455,0.0454545,-0.305455
-0.305455,0.0454545,-0.545455
-0.0,0.0454545,-0.545455
-0.727273,0.136364,0.0
-0.727273,0.136364,-0.407273
-0.407273,0.136364,-0.727273
-0.0,0.136364,-0.727273
-0.909091,0.136364,0.0
-0.909091,0.136364,-0.509091
-0.509091,0.136364,-0.909091
-0.0,0.136364,-0.909091
--0.305455,0.0454545,-0.545455
--0.545455,0.0454545,-0.305455
--0.545455,0.0454545,0.0
--0.407273,0.136364,-0.727273
--0.727273,0.136364,-0.407273
--0.727273,0.136364,0.0
--0.509091,0.136364,-0.909091
--0.909091,0.136364,-0.509091
--0.909091,0.136364,0.0
--0.545455,0.0454545,0.305455
--0.305455,0.0454545,0.545455
-0.0,0.0454545,0.545455
--0.727273,0.136364,0.407273
--0.407273,0.136364,0.727273
-0.0,0.136364,0.727273
--0.909091,0.136364,0.509091
--0.509091,0.136364,0.909091
-0.0,0.136364,0.909091
-0.305455,0.0454545,0.545455
-0.545455,0.0454545,0.305455
-0.407273,0.136364,0.727273
-0.727273,0.136364,0.407273
-0.509091,0.136364,0.909091
-0.909091,0.136364,0.509091
-1.0,0.136364,0.0
-1.0,0.136364,-0.56
-0.56,0.136364,-1.0
-0.0,0.136364,-1.0
-1.0,0.0909091,0.0
-1.0,0.0909091,-0.56
-0.56,0.0909091,-1.0
-0.0,0.0909091,-1.0
-0.909091,0.0909091,0.0
-0.909091,0.0909091,-0.509091
-0.509091,0.0909091,-0.909091
-0.0,0.0909091,-0.909091
--0.56,0.136364,-1.0
--1.0,0.136364,-0.56
--1.0,0.136364,0.0
--0.56,0.0909091,-1.0
--1.0,0.0909091,-0.56
--1.0,0.0909091,0.0
--0.509091,0.0909091,-0.909091
--0.909091,0.0909091,-0.509091
--0.909091,0.0909091,0.0
--1.0,0.136364,0.56
--0.56,0.136364,1.0
-0.0,0.136364,1.0
--1.0,0.0909091,0.56
--0.56,0.0909091,1.0
-0.0,0.0909091,1.0
--0.909091,0.0909091,0.509091
--0.509091,0.0909091,0.909091
-0.0,0.0909091,0.909091
-0.56,0.136364,1.0
-1.0,0.136364,0.56
-0.56,0.0909091,1.0
-1.0,0.0909091,0.56
-0.509091,0.0909091,0.909091
-0.909091,0.0909091,0.509091
-0.727273,0.0909091,0.0
-0.727273,0.0909091,-0.407273
-0.407273,0.0909091,-0.727273
-0.0,0.0909091,-0.727273
-0.545455,0.0,0.0
-0.545455,0.0,-0.305455
-0.305455,0.0,-0.545455
-0.0,0.0,-0.545455
-0.318182,0.0,0.0
-0.318182,0.0,-0.178182
-0.178182,0.0,-0.318182
-0.0,0.0,-0.318182
--0.407273,0.0909091,-0.727273
--0.727273,0.0909091,-0.407273
--0.727273,0.0909091,0.0
--0.305455,0.0,-0.545455
--0.545455,0.0,-0.305455
--0.545455,0.0,0.0
--0.178182,0.0,-0.318182
--0.318182,0.0,-0.178182
--0.318182,0.0,0.0
--0.727273,0.0909091,0.407273
--0.407273,0.0909091,0.727273
-0.0,0.0909091,0.727273
--0.545455,0.0,0.305455
--0.305455,0.0,0.545455
-0.0,0.0,0.545455
--0.318182,0.0,0.178182
--0.178182,0.0,0.318182
-0.0,0.0,0.318182
-0.407273,0.0909091,0.727273
-0.727273,0.0909091,0.407273
-0.305455,0.0,0.545455
-0.545455,0.0,0.305455
-0.178182,0.0,0.318182
-0.318182,0.0,0.178182
-0.272727,0.0454545,0.0
-0.272727,0.0454545,-0.152727
-0.152727,0.0454545,-0.272727
-0.0,0.0454545,-0.272727
-0.409091,0.272727,0.0
-0.409091,0.272727,-0.229091
-0.229091,0.272727,-0.409091
-0.0,0.272727,-0.409091
-0.409091,0.545455,0.0
-0.409091,0.545455,-0.229091
-0.229091,0.545455,-0.409091
-0.0,0.545455,-0.409091
--0.152727,0.0454545,-0.272727
--0.272727,0.0454545,-0.152727
--0.272727,0.0454545,0.0
--0.229091,0.272727,-0.409091
--0.409091,0.272727,-0.229091
--0.409091,0.272727,0.0
--0.229091,0.545455,-0.409091
--0.409091,0.545455,-0.229091
--0.409091,0.545455,0.0
--0.272727,0.0454545,0.152727
--0.152727,0.0454545,0.272727
-0.0,0.0454545,0.272727
--0.409091,0.272727,0.229091
--0.229091,0.272727,0.409091
-0.0,0.272727,0.409091
--0.409091,0.545455,0.229091
--0.229091,0.545455,0.409091
-0.0,0.545455,0.409091
-0.152727,0.0454545,0.272727
-0.272727,0.0454545,0.152727
-0.229091,0.272727,0.409091
-0.409091,0.272727,0.229091
-0.229091,0.545455,0.409091
-0.409091,0.545455,0.229091
--0.454545,0.704545,0.0
--0.454545,0.704545,-0.0454545
--0.454545,0.772727,-0.0454545
--0.772727,0.863636,0.0
--0.772727,0.863636,-0.0454545
--0.818182,0.954545,-0.0454545
--0.818182,0.954545,0.0
--0.772727,0.522727,0.0
--0.772727,0.522727,-0.0454545
--0.909091,0.477273,-0.0454545
--0.909091,0.477273,0.0
--0.409091,0.363636,0.0
--0.409091,0.363636,-0.0454545
--0.409091,0.295455,-0.0454545
--0.409091,0.295455,0.0
--0.454545,0.772727,0.0454545
--0.454545,0.704545,0.0454545
--0.818182,0.954545,0.0454545
--0.772727,0.863636,0.0454545
--0.909091,0.477273,0.0454545
--0.772727,0.522727,0.0454545
--0.409091,0.295455,0.0454545
--0.409091,0.363636,0.0454545
-# reverse-patches
diff --git a/demos/qt3d/teaservice/teaservice.cpp b/demos/qt3d/teaservice/teaservice.cpp
deleted file mode 100644
index 560ea364..00000000
--- a/demos/qt3d/teaservice/teaservice.cpp
+++ /dev/null
@@ -1,394 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include <QMainWindow>
-#include <QMenu>
-#include <QMenuBar>
-#include <QKeyEvent>
-#include <QAction>
-#include <QDebug>
-#include <QtCore/QTimer>
-
-#include "qglview.h"
-#include "meshobject.h"
-#include "sceneobject.h"
-#include "qglteapot.h"
-#include "qglbuilder.h"
-#include "perpixeleffect.h"
-
-enum {
- ObjTeapot,
- ObjTeacup1,
- ObjTeacup2,
- ObjTeaspoon1,
- ObjTeaspoon2
-};
-
-class Teapot : public MeshObject
-{
- Q_OBJECT
-public:
- Teapot(QObject *parent=0);
- ~Teapot() {}
-};
-
-static QGLSceneNode *createTeapot(QObject *parent)
-{
- QGLBuilder builder;
- builder << QGLTeapot();
- QGLSceneNode *n = builder.finalizedSceneNode();
- n->setParent(parent);
- return n;
-}
-
-Teapot::Teapot(QObject *parent)
- : MeshObject(createTeapot(parent), parent)
-{
-}
-
-class Teacup : public MeshObject
-{
- Q_OBJECT
-public:
- Teacup(QObject *parent=0);
- ~Teacup() {}
-};
-
-static QGLAbstractScene *loadBezier(const QString& fileName)
-{
- QGLAbstractScene *scene;
- scene = QGLAbstractScene::loadScene(fileName, QLatin1String("bezier"));
- if (!scene)
- qFatal("Could not load %s, probably plugin could not be found",
- fileName.toLatin1().constData());
- return scene;
-}
-
-Teacup::Teacup(QObject *parent)
- : MeshObject(loadBezier(QLatin1String(":/teacup.txt")), parent)
-{
-}
-
-class Teaspoon : public MeshObject
-{
- Q_OBJECT
-public:
- Teaspoon(QObject *parent=0);
- ~Teaspoon() {}
-};
-
-Teaspoon::Teaspoon(QObject *parent)
- : MeshObject(loadBezier(QLatin1String(":/teaspoon.txt")), parent)
-{
-}
-
-class TeaService : public QObject
-{
- Q_OBJECT
-public:
- TeaService(QObject *parent=0);
- ~TeaService();
-
- SceneObject *service;
-
- Teapot *teapot;
- Teacup *teacup1;
- Teacup *teacup2;
- Teaspoon *teaspoon1;
- Teaspoon *teaspoon2;
- PerPixelEffect *lighting;
-
- void changeMaterials(bool perPixel);
-
-signals:
- void changed();
-
-private slots:
- void teapotClicked();
- void teacup1Clicked();
- void teacup2Clicked();
- void teaspoon1Clicked();
- void teaspoon2Clicked();
-
-private:
- QGLMaterial *china;
- QGLMaterial *chinaHighlight;
- QGLMaterial *metal;
- QGLMaterial *metalHighlight;
-};
-
-TeaService::TeaService(QObject *parent)
- : QObject(parent)
-{
- china = new QGLMaterial(this);
- china->setAmbientColor(QColor(192, 150, 128));
- china->setSpecularColor(QColor(60, 60, 60));
- china->setShininess(128);
-
- chinaHighlight = new QGLMaterial(this);
- chinaHighlight->setAmbientColor(QColor(255, 192, 0));
- chinaHighlight->setSpecularColor(QColor(60, 60, 0));
- chinaHighlight->setShininess(128);
-
- metal = new QGLMaterial(this);
- metal->setAmbientColor(QColor(255, 255, 255));
- metal->setDiffuseColor(QColor(150, 150, 150));
- metal->setSpecularColor(QColor(255, 255, 255));
- metal->setShininess(128);
-
- metalHighlight = new QGLMaterial(this);
- metalHighlight->setAmbientColor(QColor(255, 255, 96));
- metalHighlight->setDiffuseColor(QColor(150, 150, 96));
- metalHighlight->setSpecularColor(QColor(255, 255, 255));
- metalHighlight->setShininess(128);
-
- service = new SceneObject(this);
- teapot = new Teapot(service);
- teacup1 = new Teacup(service);
- teacup2 = new Teacup(service);
- teacup1->setPosition(QVector3D(-2.3f, -0.75f, 0.0f));
- teacup2->setRotationAngle(180);
- teacup2->setRotationVector(QVector3D(0, 1, 0));
- teacup2->setPosition(QVector3D(2.3f, -0.75f, 0.0f));
- teaspoon1 = new Teaspoon(service);
- teaspoon2 = new Teaspoon(service);
- teaspoon1->setRotationAngle(275);
- teaspoon1->setRotationVector(QVector3D(1, 0, 0));
- teaspoon1->setPosition(QVector3D(-1.7f, -0.58f, 0.0f));
- teaspoon2->setRotationAngle(275);
- teaspoon2->setRotationVector(QVector3D(1, 0, 0));
- teaspoon2->setPosition(QVector3D(1.7f, -0.58f, 0.0f));
-
- teapot->setObjectId(ObjTeapot);
- teacup1->setObjectId(ObjTeacup1);
- teacup2->setObjectId(ObjTeacup2);
- teaspoon1->setObjectId(ObjTeaspoon1);
- teaspoon2->setObjectId(ObjTeaspoon2);
-
- lighting = new PerPixelEffect();
- changeMaterials(false);
-
- connect(teapot, SIGNAL(hoverChanged()), this, SIGNAL(changed()));
- connect(teacup1, SIGNAL(hoverChanged()), this, SIGNAL(changed()));
- connect(teacup2, SIGNAL(hoverChanged()), this, SIGNAL(changed()));
- connect(teaspoon1, SIGNAL(hoverChanged()), this, SIGNAL(changed()));
- connect(teaspoon2, SIGNAL(hoverChanged()), this, SIGNAL(changed()));
-
- connect(teapot, SIGNAL(clicked()), this, SLOT(teapotClicked()));
- connect(teacup1, SIGNAL(clicked()), this, SLOT(teacup1Clicked()));
- connect(teacup2, SIGNAL(clicked()), this, SLOT(teacup2Clicked()));
- connect(teaspoon1, SIGNAL(clicked()), this, SLOT(teaspoon1Clicked()));
- connect(teaspoon2, SIGNAL(clicked()), this, SLOT(teaspoon2Clicked()));
-}
-
-TeaService::~TeaService()
-{
- delete lighting;
-}
-
-void TeaService::changeMaterials(bool perPixel)
-{
- teapot->setMaterial(china);
- teapot->setHoverMaterial(chinaHighlight);
- teacup1->setMaterial(china);
- teacup1->setHoverMaterial(chinaHighlight);
- teacup2->setMaterial(china);
- teacup2->setHoverMaterial(chinaHighlight);
- if (perPixel) {
- teapot->setEffect(lighting);
- teacup1->setEffect(lighting);
- teacup2->setEffect(lighting);
- } else
- {
- teapot->setEffect(0);
- teacup1->setEffect(0);
- teacup2->setEffect(0);
- }
-
- teaspoon1->setMaterial(metal);
- teaspoon1->setHoverMaterial(metalHighlight);
- teaspoon2->setMaterial(metal);
- teaspoon2->setHoverMaterial(metalHighlight);
- if (perPixel) {
- teaspoon1->setEffect(lighting);
- teaspoon2->setEffect(lighting);
- } else
- {
- teaspoon1->setEffect(0);
- teaspoon2->setEffect(0);
- }
-}
-
-void TeaService::teapotClicked()
-{
- qDebug("teapot clicked");
-}
-
-void TeaService::teacup1Clicked()
-{
- qDebug("teacup1 clicked");
-}
-
-void TeaService::teacup2Clicked()
-{
- qDebug("teacup2 clicked");
-}
-
-void TeaService::teaspoon1Clicked()
-{
- qDebug("teaspoon1 clicked");
-}
-
-void TeaService::teaspoon2Clicked()
-{
- qDebug("teaspoon2 clicked");
-}
-
-class TeaServiceView : public QGLView
-{
- Q_OBJECT
-public:
- TeaServiceView(QWindow *parent=0);
-
-public slots:
- void standardLighting();
- void perPixelLighting();
-
-protected:
- void initializeGL(QGLPainter *painter);
- void paintGL(QGLPainter *painter);
- void keyPressEvent(QKeyEvent *e);
-
-private:
- TeaService *teaService;
-};
-
-TeaServiceView::TeaServiceView(QWindow *parent)
- : QGLView(parent)
-{
- teaService = new TeaService(this);
-
- setOption(QGLView::ObjectPicking, true);
-
- connect(teaService, SIGNAL(changed()), this, SLOT(update()));
-}
-
-void TeaServiceView::initializeGL(QGLPainter *painter)
-{
- teaService->service->initialize(this, painter);
-}
-
-void TeaServiceView::paintGL(QGLPainter *painter)
-{
- teaService->service->draw(painter);
-}
-
-void TeaServiceView::standardLighting()
-{
- teaService->changeMaterials(false);
- update();
-}
-
-void TeaServiceView::perPixelLighting()
-{
- teaService->changeMaterials(true);
- update();
-}
-
-void TeaServiceView::keyPressEvent(QKeyEvent *e)
-{
- if (e->key() == Qt::Key_Tab) {
- // The Tab key turns the ShowPicking option on and off,
- // which helps show what the pick buffer looks like.
- setOption(QGLView::ShowPicking, ((options() & QGLView::ShowPicking) == 0));
- update();
- }
- QGLView::keyPressEvent(e);
-}
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
-
- TeaServiceView view;
- QStringList args = QCoreApplication::arguments();
- int w_pos = args.indexOf("-width");
- int h_pos = args.indexOf("-height");
- if (w_pos >= 0 && h_pos >= 0)
- {
- bool ok = true;
- int w = args.at(w_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse width argument:" << args;
- return 1;
- }
- int h = args.at(h_pos + 1).toInt(&ok);
- if (!ok)
- {
- qWarning() << "Could not parse height argument:" << args;
- return 1;
- }
- view.resize(w, h);
- }
- else
- {
- view.resize(800, 600);
- }
- view.show();
-
- // TODO: QWindow has no setFocus function
- // view.setFocus();
-
- view.camera()->setEye(QVector3D(0, 3, 10));
-
- if (args.contains("-per-pixel-lighting"))
- {
- QTimer::singleShot(0, &view, SLOT(perPixelLighting()));
- }
-
- view.show();
-
- return app.exec();
-}
-
-#include "teaservice.moc"
diff --git a/demos/qt3d/teaservice/teaservice.desktop b/demos/qt3d/teaservice/teaservice.desktop
deleted file mode 100644
index 2d49ae2f..00000000
--- a/demos/qt3d/teaservice/teaservice.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Tea Service
-Icon=icon-l-qt3d
-Exec=/usr/bin/teaservice -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_teaservice
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/qt3d/teaservice/teaservice.pro b/demos/qt3d/teaservice/teaservice.pro
deleted file mode 100644
index 650fe030..00000000
--- a/demos/qt3d/teaservice/teaservice.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TEMPLATE = app
-TARGET = teaservice
-CONFIG += qt warn_on
-QT += widgets
-
-include(../../../pkg.pri)
-QT += qt3d
-
-SOURCES = teaservice.cpp meshobject.cpp sceneobject.cpp perpixeleffect.cpp
-HEADERS = meshobject.h sceneobject.h perpixeleffect.h
-RESOURCES = teaservice.qrc
-
-CONFIG += qt3d_deploy_pkg
-include(../../../pkg.pri)
-
-OTHER_FILES += \
- teaservice.rc
-
-RC_FILE = teaservice.rc
diff --git a/demos/qt3d/teaservice/teaservice.qrc b/demos/qt3d/teaservice/teaservice.qrc
deleted file mode 100644
index ab55d88c..00000000
--- a/demos/qt3d/teaservice/teaservice.qrc
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>per_pixel_lighting.vsh</file>
- <file>per_pixel_lighting.fsh</file>
- <file>teacup.txt</file>
- <file>teaspoon.txt</file>
-</qresource>
-</RCC>
diff --git a/demos/qt3d/teaservice/teaservice.rc b/demos/qt3d/teaservice/teaservice.rc
deleted file mode 100644
index b40ecdc1..00000000
--- a/demos/qt3d/teaservice/teaservice.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qt3d.ico"
diff --git a/demos/qt3d/teaservice/teaspoon.txt b/demos/qt3d/teaservice/teaspoon.txt
deleted file mode 100644
index 3c6a1b74..00000000
--- a/demos/qt3d/teaservice/teaspoon.txt
+++ /dev/null
@@ -1,275 +0,0 @@
-16
-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
-17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32
-33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48
-49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
-65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80
-81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96
-97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112
-113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128
-129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144
-145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160
-161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176
-177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192
-193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208
-209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224
-225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240
-241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256
-256
--0.000107143,0.205357,0.0
-0.0,0.196429,-0.0178571
-0.0,0.196429,-0.0178571
-0.000107143,0.205357,0.0
--0.0535714,0.205357,0.0
--0.0222714,0.178571,-0.0534286
-0.0222714,0.178571,-0.0534286
-0.0535714,0.205357,0.0
--0.107143,0.0952429,-0.0178571
--0.0446429,0.0952429,-0.0892857
-0.0446429,0.0952429,-0.0892857
-0.107143,0.0952429,-0.0178571
--0.107143,0.0,-0.0178571
--0.0446429,0.0,-0.0892857
-0.0446429,0.0,-0.0892857
-0.107143,0.0,-0.0178571
-0.000107143,0.205357,0.0
-0.000135714,0.207589,0.00446429
-0.000157143,0.216518,0.00446429
-0.000125,0.214286,0.0
-0.0535714,0.205357,0.0
-0.0613964,0.212054,0.0133571
-0.0714286,0.220982,0.015625
-0.0625,0.214286,0.0
-0.107143,0.0952429,-0.0178571
-0.122768,0.0952429,0.0
-0.142857,0.0952429,0.00446429
-0.125,0.0952429,-0.0178571
-0.107143,0.0,-0.0178571
-0.122768,0.0,0.0
-0.142857,0.0,0.00446429
-0.125,0.0,-0.0178571
-0.000125,0.214286,0.0
-0.0,0.205357,-0.0178571
-0.0,0.205357,-0.0178571
--0.000125,0.214286,0.0
-0.0625,0.214286,0.0
-0.0267857,0.1875,-0.0625
--0.0267857,0.1875,-0.0625
--0.0625,0.214286,0.0
-0.125,0.0952429,-0.0178571
-0.0535714,0.0952429,-0.107143
--0.0535714,0.0952429,-0.107143
--0.125,0.0952429,-0.0178571
-0.125,0.0,-0.0178571
-0.0535714,0.0,-0.107143
--0.0535714,0.0,-0.107143
--0.125,0.0,-0.0178571
--0.000125,0.214286,0.0
--0.000157143,0.216518,0.00446429
--0.000135714,0.207589,0.00446429
--0.000107143,0.205357,0.0
--0.0625,0.214286,0.0
--0.0714286,0.220982,0.015625
--0.0613964,0.212054,0.0133571
--0.0535714,0.205357,0.0
--0.125,0.0952429,-0.0178571
--0.142857,0.0952429,0.00446429
--0.122768,0.0952429,0.0
--0.107143,0.0952429,-0.0178571
--0.125,0.0,-0.0178571
--0.142857,0.0,0.00446429
--0.122768,0.0,0.0
--0.107143,0.0,-0.0178571
--0.107143,0.0,-0.0178571
--0.0446429,0.0,-0.0892857
-0.0446429,0.0,-0.0892857
-0.107143,0.0,-0.0178571
--0.107143,-0.142857,-0.0178571
--0.0446429,-0.142857,-0.0892857
-0.0446429,-0.142857,-0.0892857
-0.107143,-0.142857,-0.0178571
--0.0133929,-0.160714,0.0386893
--0.00557857,-0.160714,0.0386893
-0.00557857,-0.160714,0.0386893
-0.0133929,-0.160714,0.0386893
--0.0133929,-0.25,0.0535714
--0.00557857,-0.25,0.0535714
-0.00557857,-0.25,0.0535714
-0.0133929,-0.25,0.0535714
-0.107143,0.0,-0.0178571
-0.122768,0.0,0.0
-0.142857,0.0,0.00446429
-0.125,0.0,-0.0178571
-0.107143,-0.142857,-0.0178571
-0.122768,-0.142857,0.0
-0.142857,-0.142857,0.00446429
-0.125,-0.142857,-0.0178571
-0.0133929,-0.160714,0.0386893
-0.0153464,-0.160714,0.0386893
-0.0178571,-0.160714,0.0314357
-0.015625,-0.160714,0.0297607
-0.0133929,-0.25,0.0535714
-0.0153464,-0.25,0.0535714
-0.0178571,-0.25,0.0463179
-0.015625,-0.25,0.0446429
-0.125,0.0,-0.0178571
-0.0535714,0.0,-0.107143
--0.0535714,0.0,-0.107143
--0.125,0.0,-0.0178571
-0.125,-0.142857,-0.0178571
-0.0535714,-0.142857,-0.107143
--0.0535714,-0.142857,-0.107143
--0.125,-0.142857,-0.0178571
-0.015625,-0.160714,0.0297607
-0.00669643,-0.160714,0.0230643
--0.00781071,-0.160714,0.0208321
--0.015625,-0.160714,0.0297607
-0.015625,-0.25,0.0446429
-0.00669643,-0.25,0.0379464
--0.00781071,-0.25,0.0357143
--0.015625,-0.25,0.0446429
--0.125,0.0,-0.0178571
--0.142857,0.0,0.00446429
--0.122768,0.0,0.0
--0.107143,0.0,-0.0178571
--0.125,-0.142857,-0.0178571
--0.142857,-0.142857,0.00446429
--0.122768,-0.142857,0.0
--0.107143,-0.142857,-0.0178571
--0.015625,-0.160714,0.0297607
--0.0175786,-0.160714,0.0319929
--0.0153464,-0.160714,0.0386893
--0.0133929,-0.160714,0.0386893
--0.015625,-0.25,0.0446429
--0.0175786,-0.25,0.046875
--0.0153464,-0.25,0.0535714
--0.0133929,-0.25,0.0535714
--0.0133929,-0.25,0.0535714
--0.00557857,-0.25,0.0535714
-0.00557857,-0.25,0.0535714
-0.0133929,-0.25,0.0535714
--0.0133929,-0.46425,0.0892857
--0.00557857,-0.46425,0.0892857
-0.00557857,-0.46425,0.0892857
-0.0133929,-0.46425,0.0892857
--0.0446429,-0.678571,0.0535714
--0.00892857,-0.678571,0.0625
-0.00892857,-0.678571,0.0625
-0.0446429,-0.678571,0.0535714
--0.0446429,-0.857143,0.0357143
--0.00892857,-0.857143,0.0446429
-0.00892857,-0.857143,0.0446429
-0.0446429,-0.857143,0.0357143
-0.0133929,-0.25,0.0535714
-0.0153464,-0.25,0.0535714
-0.0178571,-0.25,0.0463179
-0.015625,-0.25,0.0446429
-0.0133929,-0.46425,0.0892857
-0.0153464,-0.464286,0.0892857
-0.0178571,-0.46425,0.0820321
-0.015625,-0.46425,0.0803571
-0.0446429,-0.678571,0.0535714
-0.0535714,-0.678571,0.0513393
-0.0535714,-0.678571,0.0334821
-0.0446429,-0.678571,0.0357143
-0.0446429,-0.857143,0.0357143
-0.0535714,-0.857143,0.0334821
-0.0535714,-0.857143,0.015625
-0.0446429,-0.857143,0.0178571
-0.015625,-0.25,0.0446429
-0.00669643,-0.25,0.0379464
--0.00781071,-0.25,0.0357143
--0.015625,-0.25,0.0446429
-0.015625,-0.46425,0.0803571
-0.00669643,-0.464286,0.0736607
--0.00781071,-0.46425,0.0714286
--0.015625,-0.46425,0.0803571
-0.0446429,-0.678571,0.0357143
-0.00892857,-0.678571,0.0446429
--0.00892857,-0.678571,0.0446429
--0.0446429,-0.678571,0.0357143
-0.0446429,-0.857143,0.0178571
-0.00892857,-0.857143,0.0267857
--0.00892857,-0.857143,0.0267857
--0.0446429,-0.857143,0.0178571
--0.015625,-0.25,0.0446429
--0.0175786,-0.25,0.046875
--0.0153464,-0.25,0.0535714
--0.0133929,-0.25,0.0535714
--0.015625,-0.46425,0.0803571
--0.0175786,-0.464286,0.0825893
--0.0153464,-0.464286,0.0892857
--0.0133929,-0.46425,0.0892857
--0.0446429,-0.678571,0.0357143
--0.0535714,-0.678571,0.0334821
--0.0535714,-0.678571,0.0513393
--0.0446429,-0.678571,0.0535714
--0.0446429,-0.857143,0.0178571
--0.0535714,-0.857143,0.015625
--0.0535714,-0.857143,0.0334821
--0.0446429,-0.857143,0.0357143
--0.0446429,-0.857143,0.0357143
--0.00892857,-0.857143,0.0446429
-0.00892857,-0.857143,0.0446429
-0.0446429,-0.857143,0.0357143
--0.0446429,-0.928571,0.0285714
--0.00892857,-0.928571,0.0375
-0.00892857,-0.928571,0.0375
-0.0446429,-0.928571,0.0285714
--0.0539286,-0.999643,0.0178571
-0.000357143,-0.999643,0.0178571
-0.0,-0.999643,0.0178571
-0.0535714,-0.999643,0.0178571
--0.000357143,-1,0.0178571
-0.000357143,-1,0.0178571
-0.0,-1,0.0178571
-0.0,-1,0.0178571
-0.0446429,-0.857143,0.0357143
-0.0535714,-0.857143,0.0334821
-0.0535714,-0.857143,0.015625
-0.0446429,-0.857143,0.0178571
-0.0446429,-0.928571,0.0285714
-0.0535714,-0.928571,0.0263393
-0.0535714,-0.928571,0.00848214
-0.0446429,-0.928571,0.0107143
-0.0535714,-0.999643,0.0178571
-0.0669643,-0.999643,0.0178571
-0.0673214,-0.999643,0.0
-0.0539286,-0.999643,0.0
-0.0,-1,0.0178571
-0.0,-1,0.0178571
-0.000357143,-1,0.0
-0.000357143,-1,0.0
-0.0446429,-0.857143,0.0178571
-0.00892857,-0.857143,0.0267857
--0.00892857,-0.857143,0.0267857
--0.0446429,-0.857143,0.0178571
-0.0446429,-0.928571,0.0107143
-0.00892857,-0.928571,0.0196429
--0.00892857,-0.928571,0.0196429
--0.0446429,-0.928571,0.0107143
-0.0539286,-0.999643,0.0
-0.000357143,-0.999643,0.0
--0.000357143,-0.999643,0.0
--0.0539286,-0.999643,0.0
-0.000357143,-1,0.0
-0.000357143,-1,0.0
--0.000357143,-1,0.0
--0.000357143,-1,0.0
--0.0446429,-0.857143,0.0178571
--0.0535714,-0.857143,0.015625
--0.0535714,-0.857143,0.0334821
--0.0446429,-0.857143,0.0357143
--0.0446429,-0.928571,0.0107143
--0.0535714,-0.928571,0.00848214
--0.0535714,-0.928571,0.0263393
--0.0446429,-0.928571,0.0285714
--0.0539286,-0.999643,0.0
--0.0673214,-0.999643,0.0
--0.0675,-0.999643,0.0178571
--0.0539286,-0.999643,0.0178571
--0.000357143,-1,0.0
--0.000357143,-1,0.0
--0.000535714,-1,0.0178571
--0.000357143,-1,0.0178571
-# reverse-patches
diff --git a/demos/quick3d/flickr3d/flickr3d.pro b/demos/quick3d/flickr3d/flickr3d.pro
deleted file mode 100644
index 24303e94..00000000
--- a/demos/quick3d/flickr3d/flickr3d.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TEMPLATE = app
-TARGET = flickr3d
-QT += declarative quick
-CONFIG += qt warn_on
-
-SOURCES += main.cpp
-
-INSTALL_DIRS = qml
-mt: INSTALL_FILES = mt.qml
-
-CONFIG += qt3d_deploy_qml
-include(../../../pkg.pri)
-qtcAddDeployment()
-
-OTHER_FILES += \
- flickr3d.rc
-
-RC_FILE = flickr3d.rc
-
diff --git a/demos/quick3d/flickr3d/flickr3d.qmlproject b/demos/quick3d/flickr3d/flickr3d.qmlproject
deleted file mode 100644
index 37c467f1..00000000
--- a/demos/quick3d/flickr3d/flickr3d.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-import QmlProject 1.0
-
-Project {
- /* Include .qml, .js, and image files from current directory and subdirectories */
- QmlFiles {
- directory: "."
- }
- JavaScriptFiles {
- directory: "."
- }
- ImageFiles {
- directory: "."
- }
- /* List of plugin directories passed to QML runtime */
- importPaths: [".", "../../imports/"]
-}
diff --git a/demos/quick3d/flickr3d/flickr3d.rc b/demos/quick3d/flickr3d/flickr3d.rc
deleted file mode 100644
index 7650294b..00000000
--- a/demos/quick3d/flickr3d/flickr3d.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "..\\model_viewer\\qtquick3d.ico"
diff --git a/demos/quick3d/flickr3d/info.json b/demos/quick3d/flickr3d/info.json
deleted file mode 100644
index bdfe7180..00000000
--- a/demos/quick3d/flickr3d/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "info-version": "1.0",
- "dict": {
- "Category": "application",
- "Runtime": "qml",
- "DisplayName": "Flickr3d",
- "Subcategory": "utility",
- "MainQML": "mt.qml",
- "Version": "1.0",
- "Identifier": "com.nokia.qtquick3d.flickr3d",
- "Depends": {
- "com.nokia.components": "1.0",
- },
- "Summary": "Flickr3d QML Demo"
- }
-}
diff --git a/demos/quick3d/flickr3d/m5-robo_bounce.desktop b/demos/quick3d/flickr3d/m5-robo_bounce.desktop
deleted file mode 100644
index 709103d5..00000000
--- a/demos/quick3d/flickr3d/m5-robo_bounce.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=RoboBounce
-Comment=Qt3D example application
-Exec=/usr/bin/robo_bounce -fullscreen
-Icon=icon-l-qtquick3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/quick3d/flickr3d/main.cpp b/demos/quick3d/flickr3d/main.cpp
deleted file mode 100644
index ff6de76d..00000000
--- a/demos/quick3d/flickr3d/main.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../qmlres.h"
-
-QUICK3D_EXAMPLE_MAIN("qml/desktop.qml")
diff --git a/demos/quick3d/flickr3d/mt.qml b/demos/quick3d/flickr3d/mt.qml
deleted file mode 100644
index cba81825..00000000
--- a/demos/quick3d/flickr3d/mt.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "qml"
-
-Item {
- width: 320
- height: 480
-
- Flickr3d {
- }
-}
diff --git a/demos/quick3d/flickr3d/qml/Flickr3d.qml b/demos/quick3d/flickr3d/qml/Flickr3d.qml
deleted file mode 100644
index 113f9d21..00000000
--- a/demos/quick3d/flickr3d/qml/Flickr3d.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-
-Viewport {
- width: parent.width
- height: parent.height
- renderMode: "DirectRender"
-
- camera: Camera {
- id: cam
- property real viewAngle: 0.0
- eye: Qt.vector3d(Math.sin(cam.viewAngle) * 20.0, 3.0, Math.cos(cam.viewAngle) * 20.0)
- }
-
- NumberAnimation {
- running: true
- target: cam; property: "viewAngle";
- from: 0.0; to: 360.0; duration: 2000000;
- loops: Animation.Infinite
- }
-
- Skybox {
- source: "skybox"
- }
-
- Cube {
- effect: Effect {
- color: "#aaca00"
- texture: "qtlogo.png"
- decal: true
- }
- }
-}
diff --git a/demos/quick3d/flickr3d/qml/desktop.qml b/demos/quick3d/flickr3d/qml/desktop.qml
deleted file mode 100644
index 90fcd10b..00000000
--- a/demos/quick3d/flickr3d/qml/desktop.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "."
-
-Item {
- width: 1024
- height: 768
-
- Flickr3d {
- }
-}
diff --git a/demos/quick3d/flickr3d/qml/skybox/default_sky_down.png b/demos/quick3d/flickr3d/qml/skybox/default_sky_down.png
deleted file mode 100644
index 685c28c4..00000000
--- a/demos/quick3d/flickr3d/qml/skybox/default_sky_down.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/flickr3d/qml/skybox/default_sky_east.png b/demos/quick3d/flickr3d/qml/skybox/default_sky_east.png
deleted file mode 100644
index f6463abf..00000000
--- a/demos/quick3d/flickr3d/qml/skybox/default_sky_east.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/flickr3d/qml/skybox/default_sky_north.png b/demos/quick3d/flickr3d/qml/skybox/default_sky_north.png
deleted file mode 100644
index 153b833c..00000000
--- a/demos/quick3d/flickr3d/qml/skybox/default_sky_north.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/flickr3d/qml/skybox/default_sky_south.png b/demos/quick3d/flickr3d/qml/skybox/default_sky_south.png
deleted file mode 100644
index b3b01321..00000000
--- a/demos/quick3d/flickr3d/qml/skybox/default_sky_south.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/flickr3d/qml/skybox/default_sky_up.png b/demos/quick3d/flickr3d/qml/skybox/default_sky_up.png
deleted file mode 100644
index 3d4d6233..00000000
--- a/demos/quick3d/flickr3d/qml/skybox/default_sky_up.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/flickr3d/qml/skybox/default_sky_west.png b/demos/quick3d/flickr3d/qml/skybox/default_sky_west.png
deleted file mode 100644
index 14325371..00000000
--- a/demos/quick3d/flickr3d/qml/skybox/default_sky_west.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/icon.png b/demos/quick3d/icon.png
deleted file mode 100644
index 69deef3f..00000000
--- a/demos/quick3d/icon.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/icon-l-qtquick3d.png b/demos/quick3d/model_viewer/icon-l-qtquick3d.png
deleted file mode 100644
index 69deef3f..00000000
--- a/demos/quick3d/model_viewer/icon-l-qtquick3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/info.json b/demos/quick3d/model_viewer/info.json
deleted file mode 100644
index e03a9c57..00000000
--- a/demos/quick3d/model_viewer/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "info-version": "1.0",
- "dict": {
- "Category": "application",
- "Runtime": "qml",
- "DisplayName": "Model Viewer",
- "Subcategory": "utility",
- "MainQML": "mt.qml",
- "Version": "1.0",
- "Identifier": "com.nokia.qtquick3d.modelviewer",
- "Depends": {
- "com.nokia.components": "1.0",
- },
- "Summary": "Model Viewer QML Demo"
- }
-}
diff --git a/demos/quick3d/model_viewer/m5-model_viewer.desktop b/demos/quick3d/model_viewer/m5-model_viewer.desktop
deleted file mode 100644
index 10a860f7..00000000
--- a/demos/quick3d/model_viewer/m5-model_viewer.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=Model Viewer
-Comment=Qt3D example application
-Exec=/usr/bin/model_viewer -fullscreen
-Icon=icon-l-qtquick3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/quick3d/model_viewer/main.cpp b/demos/quick3d/model_viewer/main.cpp
deleted file mode 100644
index fb0a2b36..00000000
--- a/demos/quick3d/model_viewer/main.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../qmlres.h"
-
-QUICK3D_EXAMPLE_MAIN("qml/desktop.qml")
diff --git a/demos/quick3d/model_viewer/model_viewer.desktop b/demos/quick3d/model_viewer/model_viewer.desktop
deleted file mode 100644
index a89b4f09..00000000
--- a/demos/quick3d/model_viewer/model_viewer.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Model Viewer
-Icon=icon-l-qtquick3d
-Exec=/usr/bin/model_viewer -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_model_viewer
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/quick3d/model_viewer/model_viewer.pro b/demos/quick3d/model_viewer/model_viewer.pro
deleted file mode 100644
index 1f80e89e..00000000
--- a/demos/quick3d/model_viewer/model_viewer.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-TEMPLATE = app
-TARGET = model_viewer
-QT += declarative quick widgets
-CONFIG += qt warn_on
-
-SOURCES += main.cpp
-
-INSTALL_DIRS = qml
-mt: INSTALL_FILES = mt.qml
-
-CONFIG += qt3d_deploy_qml
-include(../../../pkg.pri)
-qtcAddDeployment()
-
-OTHER_FILES += \
- model_viewer.rc
-
-RC_FILE = model_viewer.rc
diff --git a/demos/quick3d/model_viewer/model_viewer.qmlproject b/demos/quick3d/model_viewer/model_viewer.qmlproject
deleted file mode 100644
index 37c467f1..00000000
--- a/demos/quick3d/model_viewer/model_viewer.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-import QmlProject 1.0
-
-Project {
- /* Include .qml, .js, and image files from current directory and subdirectories */
- QmlFiles {
- directory: "."
- }
- JavaScriptFiles {
- directory: "."
- }
- ImageFiles {
- directory: "."
- }
- /* List of plugin directories passed to QML runtime */
- importPaths: [".", "../../imports/"]
-}
diff --git a/demos/quick3d/model_viewer/model_viewer.rc b/demos/quick3d/model_viewer/model_viewer.rc
deleted file mode 100644
index 1b6228c9..00000000
--- a/demos/quick3d/model_viewer/model_viewer.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qtquick3d.ico"
diff --git a/demos/quick3d/model_viewer/mt.qml b/demos/quick3d/model_viewer/mt.qml
deleted file mode 100644
index ad1e78cf..00000000
--- a/demos/quick3d/model_viewer/mt.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "qml"
-
-Item {
- width: 320
- height: 480
-
- ModelViewer {
- }
-}
diff --git a/demos/quick3d/model_viewer/qml/FourButtons.qml b/demos/quick3d/model_viewer/qml/FourButtons.qml
deleted file mode 100644
index 461ddaa1..00000000
--- a/demos/quick3d/model_viewer/qml/FourButtons.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-Item {
-
- anchors.left : parent.left
- anchors.leftMargin: 40
- width: 750
- height: 51
-
-
- ShortButton {
- id: button1
- //anchors.left:
- //anchors.verticalCenter: parent.verticalCenter
- }
- ShortButton {
- id: button2
- anchors.left: button1.right
- //anchors.leftMargin: 3
- //anchors.verticalCenter: parent.verticalCenter
- }
- ShortButton {
- id: button3
- anchors.left: button2.right
- //anchors.leftMargin: 3
- //anchors.verticalCenter: parent.verticalCenter
- }
- ShortButton {
- id: button4
- anchors.left: button3.right
- //anchors.leftMargin: 3
- //anchors.verticalCenter: parent.verticalCenter
- }
-}
diff --git a/demos/quick3d/model_viewer/qml/LongButton.qml b/demos/quick3d/model_viewer/qml/LongButton.qml
deleted file mode 100644
index 33ab4104..00000000
--- a/demos/quick3d/model_viewer/qml/LongButton.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-Rectangle {
- id: button
- anchors.left : parent.left
- anchors.leftMargin: 40
- gradient: Gradient {
- GradientStop { position: 1.0; color: "black" }
- GradientStop { position: 0.0; color: "gray" }
- }
- border.color : "gray"
- border.width : 1
- radius: 10
- width: 610
- height: 51
- property bool bounce: false
-
- MouseArea {
- anchors.fill: parent
- onClicked: { button.bounce = true; console.log("Clicked") }
- }
-
- SequentialAnimation on scale{
- running: button.bounce
- NumberAnimation { to : 0.98; duration: 300; easing.type: "OutQuad" }
- NumberAnimation { to : 1.0; duration: 300; easing.type: "OutBounce" }
- onCompleted: button.bounce = false
- }
-}
diff --git a/demos/quick3d/model_viewer/qml/MainButton.qml b/demos/quick3d/model_viewer/qml/MainButton.qml
deleted file mode 100644
index 5d03aa12..00000000
--- a/demos/quick3d/model_viewer/qml/MainButton.qml
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Image {
- id: mainbutton
-
- source: imageSource
-
- width: 100
- height: 100
- property bool bounce: false
- property string imageSource: "images/cog.svg"
-
- anchors.right: parent.right
- anchors.rightMargin: 10
- anchors.topMargin: 20
-
-
- SequentialAnimation on scale{
- running: mainbutton.bounce
- NumberAnimation { to : 0.8; duration: 50; easing.type: "OutQuad" }
- NumberAnimation { to : 1.0; duration: 50; easing.type: "OutBounce" }
-
- onCompleted: mainbutton.bounce = false
- }
-}
diff --git a/demos/quick3d/model_viewer/qml/ModelViewer.qml b/demos/quick3d/model_viewer/qml/ModelViewer.qml
deleted file mode 100644
index ce7d1dab..00000000
--- a/demos/quick3d/model_viewer/qml/ModelViewer.qml
+++ /dev/null
@@ -1,273 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Rectangle {
- id: mainwindow
- width: parent.width
- height: parent.height
-
- gradient: Gradient {
- GradientStop { position: 0.0; color: "#300000" }
- GradientStop { position: 0.3; color: "darkred" }
- GradientStop { position: 1.0; color: "#300000" }
- }
-
- states: [
- State {
- name: "Open"
-
- PropertyChanges { target: mainwindow; x: -800}
-
- },
- State {
- name: "NotImplemented"
-
- //PropertyChanges { target: container; y: 0 }
- }
- ]
-
- transitions: Transition {
- NumberAnimation { properties: "x"; easing.type: Easing.OutQuad; duration: 600 }
- }
-
- Item {
- width: parent.width; height: parent.height
-
- Viewport {
- anchors.fill: parent
- id: viewport
- picking: false
- blending: true
-
- camera: Camera {
- eye: Qt.vector3d(0, 0, 350)
- farPlane: 2000
- }
-
- Item3D {
- id: mainItem
- scale: 50
- mesh: source_mesh
- effect: Effect {}
- cullFaces: "CullBackFaces"
- }
-
- Mesh {
- id: source_mesh
- source: "meshes/monkey.3ds"
- }
-
- MouseArea {
- id: mouseArea
- property bool rotating: false
- property int startX: 0
- property int startY: 0
- property variant startEye
- property variant startCenter
- property variant startUpVector
- anchors.fill: parent
- onPressed: {
- if (mouse.button == Qt.LeftButton) {
- rotating = true;
- startX = mouse.x;
- startY = mouse.y;
- startEye = viewport.camera.eye;
- startCenter = viewport.camera.center;
- startUpVector = viewport.camera.upVector;
- }
- }
- onReleased: {
- if (mouse.button == Qt.LeftButton)
- rotating = false;
- }
- onPositionChanged: {
- if (rotating) {
- var deltaX = mouse.x - startX;
- var deltaY = mouse.y - startY;
- var angleAroundY = deltaX * 90 / mouseArea.width;
- var angleAroundX = deltaY * 90 / mouseArea.height;
-
- viewport.camera.eye = startEye;
- viewport.camera.center = startCenter;
- viewport.camera.upVector = startUpVector;
- viewport.camera.tiltPanRollCenter
- (-angleAroundX, -angleAroundY, 0);
- }
- }
- }
- }
-
- Rectangle {
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottomMargin: 15
- anchors.bottom: parent.bottom
- radius: 10
- border.width: 1
- border.color: "black"
- color: "white"
- width: 500
- height: 25
- //Enter text here
- TextInput {
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- id: textInput
- text: source_mesh.source
- activeFocusOnPress: false
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (!textInput.activeFocus) {
- textInput.forceActiveFocus();
- textInput.openSoftwareInputPanel();
- } else {
- textInput.focus = false;
- }
- }
- onPressAndHold: textInput.closeSoftwareInputPanel();
- }
- }
- }
-
-
- //Button 1
- /* MainButton {
- id: button1
- anchors.top: parent.top
- imageSource: "images/cog.svg"
-
- MouseArea {
- //property bool on: false
- anchors.fill: parent
- onClicked: {
- //source_mesh.options = "ForceSmooth";
- //source_mesh.source = textInput.text;
- parent.bounce = true;
-
- if (mainwindow.state == "")mainwindow.state = "Open"; else mainwindow.state = "";
- }
- }
- }*/
-
- //Button 2
- MainButton {
- id: button2
- anchors.top: parent.top
- imageSource: "images/zoomin.svg";
- property bool zoom: false
- property real changeScale: 1.1
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- button2.changeScale = 1.1
- button2.zoom = true
- parent.bounce = true;
- }
- onPressAndHold: {
- button2.changeScale = 2
- button2.zoom = true
- parent.bounce = true;
- }
-
- }
-
- SequentialAnimation {
- running: button2.zoom
- loops: 1
- NumberAnimation { target: mainItem; property: "scale"; to: mainItem.scale*button2.changeScale; duration: 50;}
- onCompleted: button2.zoom = false
- }
- }
-
- //Buton 3
- MainButton {
- id: button3
- anchors.top: button2.bottom
- imageSource: "images/zoomout.svg"
- property bool zoom: false
- property real changeScale: 1.1
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- button3.changeScale = 1.1
- button3.zoom = true
- parent.bounce = true;
- }
- onPressAndHold: {
- button3.changeScale = 2
- button3.zoom = true
- parent.bounce = true;
- }
- }
-
- SequentialAnimation {
- running: button3.zoom
- loops: 1
- NumberAnimation { target: mainItem; property: "scale"; to: mainItem.scale/button3.changeScale; duration: 50;}
- onCompleted: button3.zoom = false
- }
- }
-
- //Buton 4
- MainButton {
- id: button4
- anchors.top: button3.bottom
- imageSource: "images/arrow.svg"
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
-
- parent.bounce = true;
-
- source_mesh.source = textInput.text;
- }
- }
- }
-
-
- }
-}
diff --git a/demos/quick3d/model_viewer/qml/ShortButton.qml b/demos/quick3d/model_viewer/qml/ShortButton.qml
deleted file mode 100644
index 46a87196..00000000
--- a/demos/quick3d/model_viewer/qml/ShortButton.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-Rectangle {
- id: button
-
- gradient: Gradient {
- GradientStop { position: 1.0; color: "black" }
- GradientStop { position: 0.0; color: "gray" }
- }
- border.color : "gray"
- border.width : 1
- radius: 10
- width: 150
- height: 51
- property bool bounce: false
-
- MouseArea {
- anchors.fill: parent
- onClicked: { button.bounce = true; console.log("Clicked") }
- }
-
- SequentialAnimation on scale{
- running: button.bounce
- NumberAnimation { to : 0.98; duration: 300; easing.type: "OutQuad" }
- NumberAnimation { to : 1.0; duration: 300; easing.type: "OutBounce" }
-
- onCompleted: button.bounce = false
- }
-
- anchors.leftMargin: 3
-}
diff --git a/demos/quick3d/model_viewer/qml/desktop.qml b/demos/quick3d/model_viewer/qml/desktop.qml
deleted file mode 100644
index 28ac21dd..00000000
--- a/demos/quick3d/model_viewer/qml/desktop.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "."
-
-Item {
- width: 640
- height: 360
-
- ModelViewer {
- }
-}
diff --git a/demos/quick3d/model_viewer/qml/images/arrow.png b/demos/quick3d/model_viewer/qml/images/arrow.png
deleted file mode 100644
index 0ea53c17..00000000
--- a/demos/quick3d/model_viewer/qml/images/arrow.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/qml/images/arrow.svg b/demos/quick3d/model_viewer/qml/images/arrow.svg
deleted file mode 100644
index 6665e81d..00000000
--- a/demos/quick3d/model_viewer/qml/images/arrow.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="100"
- height="100"
- id="svg2"
- version="1.1"
- inkscape:version="0.47+devel r9541"
- sodipodi:docname="arrow.svg">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.979899"
- inkscape:cx="36.315176"
- inkscape:cy="49.177003"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1348"
- inkscape:window-height="684"
- inkscape:window-x="177"
- inkscape:window-y="346"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-952.36218)">
- <rect
- style="opacity:0.2;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2993"
- width="100"
- height="100"
- x="0.16797371"
- y="952.60327"
- rx="15"
- ry="15" />
- <image
- y="970.86469"
- x="14.027932"
- id="image4316"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE0AAABACAYAAABfl/puAAAABHNCSVQICAgIfAhkiAAABMxJREFU eJzt3E9MI1UcB/DvvE63zBRIydRiCIfFg1E5cMAQEmLyAuUABAH/nMzqxWyiiXL1oKd116PJHoye PKmHNcsfkWAo8kw8woUEVAIMB08wBFYYbDvlPQ9QRISWTqfTfW2/pzm89+aXT3+vM520DUCyDAwM vNja2hra3t4+LFcNpFwndhNKaVhRlO/C4fAPlNLnylWHVGg4rddwHKcjHA5/Xy442dAAAN3d3cQw jBfKBSclWlNTE8bGxrRywUmJBvwP7hGl9Fm/zi0tGnAKNzIyomma9lJ9ff3nlNIGP84rNRoAGIaB oaGhukAg8Go4HP7CDzjp0QCgra0No6Ojuqqqr/kBVxFogL9wFYMG+AcnG1o9gDpd168d4AecbGjP cM71SCSSc1Cp4WRDu3FKCVexaEDp4CoaDSgNXMWjAf/CEUJeb2ho+IhSGihmvapAA07hent76xzH Gdc07cNi4KoGDQA6OjqUvr4+TQhxrxg4FQAopbcBNHpZYInyvBBCcTuZEILOzk4CQFtYWLinaRoo pQ8ZYyeFrKNSSm/ruv4r57zJbTE+hhBCQoeHh2hubna7QNFwKoBGznnT8PCwHo1GXRXiVyzLgmEY aG5uhhACiuKu6YqFU7MH0WjU9avnV2Kx2PmxW7BsioGrqgvB5WThCr04VDUa4A6u6tGAwuFqaGe5 DKfr+t1rx/pZ2NOeLFxPT48mhPg0Ho/Hrxznd2FPewgh6OrqIu3t7Q3BYPCbq+CkQ3McB0KIkp4j FAqhv78/2N7e3nQVnHRowWCw6Hu0myQXnHRofuY6uBpanoRCIcTj8aBhGJFAIPAZpTSs5p9W3eGc Y2VlJbmzs5PMZDJfAziudVqOcM6xtLSUTCQSyUwm8zHn/CvGmKh12jVxHAdLS0upxcXFLNiX2Q/z NbQrkkqlMD8/76ysrNiZTOaTsw47f/pRQ7uULNjq6uo+5/wO53yeMfafG8Ma2oVcBHMc561EIpG4 alztQnCWm4IBtU4DcAo2Nzf3ZG1t7fjk5OTtXGBADe0cbHV19TCdTr/DGPs535yq3p5uwADJOo1z DkK8eZ0PDg6QSCQO19fXCwIDLqBZluVJMaWMZVloaWlBvu+n5cv+/j4mJib+3tnZ+TOdTr/HGPul kPkqgL8URfljbm6uAUBpH1QVnwjn3BgfHye3bt1ytUAWbG9v7/dkMvkGY2yr0DVUxtg2pfQVSPD+ pmnau7quPxBC1LmZfxHMtm1XYMDZ9mSM2W4m+53BwcGk2weQXoEBEnSXF/ESDKgCNK/BAMluOQrN 3t4epqamPAUDKhjNNE3Mzs6mj4+Pf7Nt+02vwADJtichpFFVVZHvYmCaJqanpx3O+U+2bQ95CQZI 1mmKorwci8XUXPdoWbBAIDBrWdYdxpjnfxAgVacBCObqMj/AAPnQro1pmpiamkoSQn4sJRgg2fa8 LqZpYnJy8jiTyTw+ODh4v5RgQAV02kUw27ZLDgZI3Gmcc2xubmJmZsZXMEBSNM45lpeXwRhLKYry yLbtD/wCAyTcnkIILC8vY3FxMaVp2v2jo6O7foIBEnba1taWurGxkdJ1/b5lWQ8K/bWJF5Gq04QQ IpVKnZQTDJCs0zjnDyORyLe7u7uPywUGAP8AGpq/aU97o64AAAAASUVORK5CYII= "
- height="64"
- width="77"
- style="opacity:0.75" />
- </g>
-</svg>
diff --git a/demos/quick3d/model_viewer/qml/images/cog.svg b/demos/quick3d/model_viewer/qml/images/cog.svg
deleted file mode 100644
index e8a993d3..00000000
--- a/demos/quick3d/model_viewer/qml/images/cog.svg
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="100"
- height="100"
- id="svg2"
- version="1.1"
- inkscape:version="0.47+devel r9541"
- sodipodi:docname="cog.svg">
- <defs
- id="defs4">
- <filter
- id="filter6134"
- inkscape:label="Jam spread"
- inkscape:menu="Textures"
- inkscape:menu-tooltip="Glossy clumpy jam spread"
- color-interpolation-filters="sRGB">
- <feGaussianBlur
- id="feGaussianBlur6136"
- stdDeviation="1"
- in="SourceGraphic"
- result="result0" />
- <feTurbulence
- id="feTurbulence6138"
- result="result1"
- numOctaves="7"
- seed="488"
- baseFrequency="0.017"
- type="turbulence" />
- <feComposite
- id="feComposite6140"
- in2="result1"
- in="result0"
- operator="out"
- result="result2" />
- <feGaussianBlur
- id="feGaussianBlur6142"
- stdDeviation="0.5"
- result="result5" />
- <feSpecularLighting
- id="feSpecularLighting6144"
- in="result5"
- specularExponent="100"
- specularConstant="4"
- result="result4"
- surfaceScale="1.5">
- <feDistantLight
- id="feDistantLight6146"
- azimuth="225"
- elevation="62" />
- </feSpecularLighting>
- <feComposite
- id="feComposite6148"
- in2="result2"
- operator="atop"
- in="result4"
- result="result91" />
- <feBlend
- id="feBlend6150"
- in2="result91"
- mode="multiply" />
- </filter>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.979899"
- inkscape:cx="-21.768595"
- inkscape:cy="49.177003"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1118"
- inkscape:window-height="684"
- inkscape:window-x="243"
- inkscape:window-y="161"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-952.36218)"
- style="opacity:0.75">
- <rect
- style="opacity:0.20000000000000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2993"
- width="100"
- height="100"
- x="0.16797371"
- y="952.60327"
- rx="15"
- ry="15" />
- <image
- y="955.81396"
- x="2.9568648"
- id="image4099"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAABUCAYAAADzqXv/AAAABHNCSVQICAgIfAhkiAAAEntJREFU eJztnHtQXNd9x3/3uffuAxYWxGO1vIQMCJCQJeSxJUdHGFUeYtmRWtuJx27cjJPGU09n2k5mmubR R/qYdjKdZlwncdukzUPJpHY0tWrZxgjp2g56CwmQhNaS4IJAsOJxYXfv3r2vc/qHICWWxF7QLkgZ Pn/xx+/c89sv957zO7/zOwdghRVWWGGFFVZYYYUVVlhhhRXuGajldsApCCEKAMoAwOfAPCpJkpxR h+aBXa6OF8EGQRBaAcDrwLYPIfQpSZKUTDt1O+4bUUVR3CEIgm/v3r0iz/N3tJuYmIADBw6UA8Ba ADi5ZA7O4b4QFSFE0TTdVFxcTK9evRoo6s6jls/nA0EQaIqiNsEyiUovR6eLwIcxristLeXnExQA QBAEyMvLo2ia3rpEvt3C/SJqCGMcyM/PTzmx0jQNpaWlPMa4ESHkZFJLO/e8qAihQrfb/XlBENi8 vDxHbUKhEI0xXs3z/JMIoawMu3gLSxZSPfXUU4/QNO1RFOUDSZKM+WwRQjzDMPWiKH6BoqgnsrOz s7Zu3ZpVXV1Np/r8AQBM04RTp04ZnZ2dCV3Xr2OMf6Kq6psAcFWSJJKi76y8vLxdmqadOXjwYN/C fuVNlkTUPXv2PGGa5k8IIQLP863RaPRr7e3tFz5phxDK4Xm+SRCElwkhG4PBILdlyxZvMBikXC7X gvuNx+PQ399vnTp1KjExMaHRNN2hquqrGOOTkiQlPtE3I4riDp7nv22a5jqe5/sMw9j9zjvvXF5o vxkXdVbQmpqa7HXr1lHHjx9PDg0NqTRNfycWi/0rAMQAoMrn8z1n2/bnBEHIra6uFhoaGlx5eXlA 03c/QpmmCcPDw9DZ2ZmQZdmwbbsPAH6oquoBABgCgPKsrKy/tG37M3V1de5169axR44csaempq4s RtiMiYoQovx+/27Lsn5UU1OT3dzcTLlcLjBNE7q7u0lHR4eWTCb7CSHjAFAfCARcDz74oFhZWUln ZWVmGCSEwNjYGITDYfPs2bOGpmlRQkgXTdP1gUAgd/v27WJFRQXQNA2KosBbb71lT01NXVFV9dm2 trYup/1kRFSEEEPT9B/yPP8P9fX1vllB56IoCpw5c0bXNM2ura11B4NBWMwnvlhmhgZy5cqVRHFx sbB+/XpGFMVbfHz77bfNoaGhUV3XX5Qk6bCTZ6dd1BlBv8yy7N/u2LFD3Lx5s4vjuHR3s2Romgbv v//+9IULF2KGYXzeibBMOh2YK2hzc7OwZcsWgWXvi0XbHeE4DsrLy4VoNEomJydbQqFQlyzL/fO1 SauoFRUVuxiG+X5zc7OrsbFRSMckcy/AsiyUl5cLiqLA5OTk75SUlLwly/LUnezT/atVmqYpj8fj +m0RdBaO48DtdossyxIASM5nm9ZfjjE+yjDMj48cOZKYmJhI56Nvi2VZoOs6YIwz3tfVq1ehq6vL sG3765Ikjc5nm4mJqtDj8bSWlJRU7927l0/XJGVZFsRiMVAUJXH9+vXpSCTiUhSFTyaTrM/nM7Kz s82ioiKjuLg4z+/3cx6PJy0xLsDNKGDfvn3JZDL53/F4/IupVoQZCamam5u3siz7zs6dO32bNm1a dB+EEFAUBWRZNnt6esx4PD4Zi8VipmmO0TR9muO4KzN2rGma6wkhDYIgeL1eb1YgEPDX19e7QqEQ 4/U6yWvfHtu24eDBg1Y4HO5TVXV7qrcUIEP5VMuyjoqi+GZnZ+fz9fX1/HxJ5TuhKAocP37c6Onp sWzbjrhcrv9KJpOvG4aRAACzvb39lnENIeRRVZXWdT3HNM0vyrL8giAIeY2NjUJDQ8MtcagTpqam 4NKlS7Zt299yIihA5pLUIgBsCgaDzEI/f9u24eLFi1p7e7umaZqCMf5n0zTfam1tHU7VVpIkdebP GAB8AyH0fdu2Xzp8+PAr58+fJ48//nhg9erVjpIys3i9XsjJyYFYLLYNAH7qpE1aQ6pZHnjggUcp inqlqanJ5ff7HbfTdR3ef/99vaOjI6qq6g8sy3r58OHDh2VZji3GD1mWY6FQ6EOM8UFN0/LC4XA5 z/NMUVER41RYlmXBsixGluXiYDD4Cye+pF1UhBDldru/XVxcXPXII4+wTieLqakpeO+992JXrlwJ m6b5jG3b+yRJit6tP7IsgyzLYyUlJe9SFHV+cHAQYYxdhYWFrNOFic/no7q6uliWZa9dvnz5VCr7 tItaVlZWyTDM32/bts1bWFjoqM1M8sIaGBiIaJr2mcOHD1+QZTmtfsmybF+9ejVcUlIyMjg4+JSm aUxpaSnlRFiXywWKolBjY2PFwWDwp7Ism/PZpz1C9/l8z7ndbrG8vNyRvWma0NbWZo+MjERt2/6i JEkfp9unudi2/QbHcX9x9uxZ6/Tp04SQeXPWAABAURTU1dWxGOMqmqa3pLJP99o/h2XZ7zU2NgbW rl3raNA6d+4cOXnypEkI+bNDhw69mU5/bocsy2T16tWdPM+vHhoaqi0tLWWzs7NTtvN6vTA4OIgN w8gtLi5+Y74vKa1vKs/zTRRFFVZVVTl67tjYGHz44Ycmx3E/M03zR+n0ZT4kSTKSyeTXAaD3yJEj lq7rKdswDAPr168XLMvaAQBr5rNNm6gIIZ7n+S+VlZUxTjfozp07Z+u6fiORSHwj1Sol3UiSNEoI +crQ0JDV3z9v0unXlJeXg9vtFkRRfGY+u3S+qXWmaT68adMm3smMH4/Hobe3NwkA35UkKWUMmgk0 TfuQZVnp4sWLCSdjq9frhYaGBh4AvoAQyrmT3aKC/5liMS8A5NE0XSgIQj1N07/n9/vpYDDo6BnX rl0jyWRyIplM/ngxPqQDSZKMpqamf5Rl+SFFUdy5ubkp21RVVTEnTpwo8nq9f9fS0nI8kUj0AMAo 3CyKUwEWISpCKN/tdv8LADxi27afYRhOFEUmEAjAtm3bBKdbIuFwOMqy7C+W6y2dBWN8lKKoK0ND Qxtzc3NT6pGfnw87d+4Uz5w582IsFntxJnzQaJqefPLJJw9Go9GvLeZNLbIsa8/WrVuFwsJCKhAI gM/nA47jHGeFdF2HoaGhZDwe/9Ui+k8rkiQZu3bt6ujr6ytbv359fip7iqJgw4YNVG1trWgYBkSj URgfH3dPTEzkHj169EsA8INFff40TZPq6mqqoKBgMc0hFotBLBajMcaLKlZIN7qunx0ZGfmsZVng dJXFsiywLAtutxsKCwshEolQx44dAwBYnvT8xMQEMAyjA8DIcvR/Gz5WVVWMxRaVYriFZRFVURTD tu0pSLEtsYTEDcMAVVVTWzpgWUSNRCIUx3H9c1J1y80ITdNp2wJaFlEZhiGEEH4mNLsX4AkhDMOk Z9W+LKIWFhYS0zTLwVn9/lKQTwgRAoFAWh62LKIGAgEXTdMeuHdEzRMEAd/NXtZclkVUv98PFEVx AOAs4ZphKIqqzM7OTng8nkU/Y+42+WLiVGzbNtXe3m7k5+fTRUVFbCAQAK/XC16vd95DDrP4fD7w +/2UaZo1AHB2ET6kFVEUHy4uLhadLl4wxjA9PQ2qqsLY2Bhcv37dHh8fxxhjAgDGYkTto2n6T65f v/7Y8PBwZWdnZxEA+HiexwghcePGjSmfybIslJWVuROJRAtC6OepqpszCUIoi+O4hysqKhxtptm2 DW1tbdr58+ftGRGjDMMMAkAfx3H7DcO4vGBRZyqQXweA1xFCAgB4AKAIY/zcRx999Mdr165lnYxN VVVVnnPnzu0CgHUAcEtV9VLB8/xuhmEKg8Ggo0hkeHgYzp07Z+m6/mVCSCcAXAeAhCRJ1qzNXcUQ sixbsixrsizfCIVCA4SQF/Pz88WCgoKUDoqiCOFwGGzbdgeDwbfTvSflBIRQlsvl+vfa2tridevW pdSCEAIdHR3G+Pj4RdM0/1ySpBFZlnVZln+j7iidE9VVjuMOnj59WjfNeffFAODmZtqGDRtE27af YRhmQxr9cIzX633atu11NTU1jqo9FEWB3t5emxDy2ifPDMwlbaJKkkRUVf2PGzdu2CMjzpb0tbW1 VCAQEHmef3W+pG8mQAjVm6b5rbq6OtZpDvjy5csEYzyhadp789mlu+rvDE3T4fPnz1tOM+lNTU08 xniLy+X6JkIoI8UdnwQhlCOK4ms+ny9327ZttJOVlK7r0NXVpVEU9Vaq8p+0iipJUoKiqNd6e3st RXF2gLmiogIaGxs5jPHLLpfrjzK9dEUI+dxu93ds2354x44drpwcZx9If38/TE5OWqqqfi+VbdqD /3g8/o5t2+OXL192FCbRNA2PPvoo1dDQwAHAX7EsuzPdPs2CEGJcLtefWpb19M6dO9mamhpH7TDG 0NPTY7AsexQAwqns0/65ybIcr6qqqpyenl5fV1fnqLRmpvyb4nmeHh0d3VVZWakEg8Grsiyn3jt2 CEKo0Ov1fpXn+Zf37Nnjra2tpZwG+2NjY/DBBx8Ypml+43aH6j5JRsawUCg0aBjGHxQUFLicblcz DAPBYJB1u92egYEBRAhpKikp6S8rKxuRZdlerC8IIXd5efnvulyu72dlZe3cvXt3zpo1axZU+Xfs 2DEciUT6NU37qpN/dEZELS0tnXS73SiZTIZqamocV9hRFAVFRUXUmjVrXIqi5Eaj0ec5jtscCoVG FiouQoivqKh4VBTF12iafmXjxo05u3fvzlq1atWCxux4PA5tbW06IeS11tbWNidtMlWfShNCtEQi QTDGCy4TLygooJ5++umscDhMTp48+djY2Nh2nuc7n3jiiZ/F4/EzADAFAOMAYEqSlJxZ2fEAUAwA fq/Xu5nn+WdM06wPhUKuLVu2iCUlJYsqVzdNEwzDoDDGjncpMjLTtrS0vAAAr+/du1esrKy8q2eZ pgnj4+Nw9epVs7e3V52enk5algUURcUJIZMcx42YpllEUVQOxtgviqIdCASE2tpab1lZGev3+++q 9n9mFYU7OjomDcN4rL29vTtVm0wcpKgXRbH1wQcfXPXYY48x6Tz6Y1kWaJoGiUQCpqambFVVf710 8/v9nNfrZbxeLwiCkLZDFAA3T/29+eab+ujoaKeqqp9OdeFNWkVFCLndbvf+VatWferZZ58VF1Nj f68SiURg3759CdM0/0nTtL+ZL7OW1jiVYZhmy7I+tX379t8qQQEACgoK4KGHHhIwxq/Azfux7kha RbVtexgAJrq7u6edlCfeTyiKAhcuXJgmhIQBID6fbVpDKlmWR0KhUNfk5GRLNBol5eXl9/2BX4Cb gr7xxhvK+Pj4JcMwXkhV/5WJFVX/rLCTk5N0cXExLwjCbW11XQdd12Ex56zSASEEpqengWEYuFNS JRKJwP79+2cFfV6SpJSlShkJ/meE7UwkEs2Dg4NZpaWl9Nwx1rZt6OvrgwMHDqgnT560DMMAURQZ t9vtaI/rbrFtG4aGhqCjo0NvbW21hoeHrby8PNbj8fxG//39/bB//34jFoud1XX9950ICpAhUQEA ZFkeqKysfNc0zccHBgZyZoVVFAUOHTpkffTRR2oymdyv6/rbw8PDBT09PWIkEsGiKHIej+eOb87d oGkahMNhcujQocSxY8eSY2NjpwzDeF3TNHd3d3cBIYTOz8+nOY6D/v5+OHDggMkwzLvRaPSzkiQ5 rvvK+GvR0tKyluf5//X7/ZVr166lOzs7E6ZpXjZN8yuaph2RJMme3XwTBOFLGOOteXl5ns2bN4vl 5eV3da4U4P/Pt166dMno7OzUNU1TKIp6W9O0H9q23SNJkoEQcnu93s8RQr6Zm5ubX1tbK544ccJk GOad8fHxFyRJWlDl2pKU3bS0tKwVBOHnGON8Qsir09PT/3a7g2czudQ1Pp/vOYzxCy6XK7+hoUGo rq525efnL2hosG0bhoeHobu7O/7xxx+bGOM+Qsh/qqr6P3eaaBBCwZycnL8mhHya47hfjY2NfWGh ggIs4WVfM+tzxmlR2pw7qr4MAOsbGhqyEEKObrtQVRUOHjwYGxwcjDIMI8Visdcxxmfm21ea0+9s 6b02d4d0IdwrBWJ3BCHEsiz7vMvl+u5LL70kOsnUh8Nh2L9//7Su680AcGap6wru+Ts5JEmyLMv6 wLIs/caNG47aDA4OWizL9gHA+eUo1LjnRZ3hBsMwkRs3bqS818OyLLh27ZrNMMwJSZKWpaj4vhBV kiSVpunOgYEBK9V9KZqmwdTUFLEs69gSuXcL980aEmPcHolE9g4ODsJ8yZrR0VEwDMNOJpNnltC9 3+C+ETWRSEhut7v3l7/8pRcA7jhOEkJYhmF6AMDZ2cgMcM/P/nNBCHnA2ZBlLtd4ukKG+D+bIIXx sc8FnQAAAABJRU5ErkJggg== "
- height="84"
- width="85"
- style="opacity:0.75000000000000000;filter:url(#filter6134)" />
- </g>
-</svg>
diff --git a/demos/quick3d/model_viewer/qml/images/cog2.svg b/demos/quick3d/model_viewer/qml/images/cog2.svg
deleted file mode 100644
index 21f25d95..00000000
--- a/demos/quick3d/model_viewer/qml/images/cog2.svg
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="100"
- height="100"
- id="svg2"
- version="1.1"
- inkscape:version="0.47+devel r9541"
- sodipodi:docname="cog.svg">
- <defs
- id="defs4">
- <filter
- id="filter6134"
- inkscape:label="Jam spread"
- inkscape:menu="Textures"
- inkscape:menu-tooltip="Glossy clumpy jam spread"
- color-interpolation-filters="sRGB">
- <feGaussianBlur
- id="feGaussianBlur6136"
- stdDeviation="1"
- in="SourceGraphic"
- result="result0" />
- <feTurbulence
- id="feTurbulence6138"
- result="result1"
- numOctaves="7"
- seed="488"
- baseFrequency="0.017"
- type="turbulence" />
- <feComposite
- id="feComposite6140"
- in2="result1"
- in="result0"
- operator="out"
- result="result2" />
- <feGaussianBlur
- id="feGaussianBlur6142"
- stdDeviation="0.5"
- result="result5" />
- <feSpecularLighting
- id="feSpecularLighting6144"
- in="result5"
- specularExponent="100"
- specularConstant="4"
- result="result4"
- surfaceScale="1.5">
- <feDistantLight
- id="feDistantLight6146"
- azimuth="225"
- elevation="62" />
- </feSpecularLighting>
- <feComposite
- id="feComposite6148"
- in2="result2"
- operator="atop"
- in="result4"
- result="result91" />
- <feBlend
- id="feBlend6150"
- in2="result91"
- mode="multiply" />
- </filter>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.979899"
- inkscape:cx="36.315176"
- inkscape:cy="49.177003"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1118"
- inkscape:window-height="684"
- inkscape:window-x="310"
- inkscape:window-y="375"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-952.36218)">
- <rect
- style="opacity:0.2;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2993"
- width="100"
- height="100"
- x="0.16797371"
- y="952.60327"
- rx="15"
- ry="15" />
- <image
- y="955.81396"
- x="2.9568648"
- id="image4099"
- xlink:href="data:image/png;base64,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 sc8FnQAAAABJRU5ErkJggg== "
- height="84"
- width="85"
- style="opacity:0.75000000000000000;filter:url(#filter6134)" />
- </g>
-</svg>
diff --git a/demos/quick3d/model_viewer/qml/images/knob.png b/demos/quick3d/model_viewer/qml/images/knob.png
deleted file mode 100644
index 0d5d8f0e..00000000
--- a/demos/quick3d/model_viewer/qml/images/knob.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/qml/images/knob.svg b/demos/quick3d/model_viewer/qml/images/knob.svg
deleted file mode 100644
index fb693371..00000000
--- a/demos/quick3d/model_viewer/qml/images/knob.svg
+++ /dev/null
@@ -1,867 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- x="0px"
- y="0px"
- width="52px"
- height="52px"
- viewBox="0 0 52 52"
- enable-background="new 0 0 52 52"
- xml:space="preserve"
- id="svg3883"
- sodipodi:version="0.32"
- inkscape:version="0.44.1"
- sodipodi:docname="knob_on.svg"
- sodipodi:docbase="/local/axel/embeddedwidgets/embeddedstories/skins/svgslideswitch/MetallicBrush"><metadata
- id="metadata4200"><rdf:RDF><cc:Work
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
- inkscape:window-height="640"
- inkscape:window-width="937"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- guidetolerance="10.0"
- gridtolerance="10.0"
- objecttolerance="10.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:zoom="8.3653846"
- inkscape:cx="26.000002"
- inkscape:cy="26"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:current-layer="svg3883" />
-<defs
- id="defs3885">
-</defs>
-<linearGradient
- id="SVGID_1_"
- gradientUnits="userSpaceOnUse"
- x1="-59.7866"
- y1="-115.917"
- x2="-93.2123"
- y2="-76.0818"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#000000"
- id="stop3888" />
- <stop
- offset="1"
- style="stop-color:#EAECEF"
- id="stop3890" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="26"
- id="circle3892"
- style="fill:url(#SVGID_1_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="26"
- sodipodi:ry="26"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_2_"
- gradientUnits="userSpaceOnUse"
- x1="-100.5"
- y1="-96"
- x2="-52.5"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop3895" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop3897" />
- <stop
- offset="0.6043"
- style="stop-color:#E7EAED"
- id="stop3899" />
- <stop
- offset="0.6751"
- style="stop-color:#DEE4E7"
- id="stop3901" />
- <stop
- offset="0.7358"
- style="stop-color:#CFD9DD"
- id="stop3903" />
- <stop
- offset="0.791"
- style="stop-color:#B9CACF"
- id="stop3905" />
- <stop
- offset="0.8425"
- style="stop-color:#9EB6BD"
- id="stop3907" />
- <stop
- offset="0.891"
- style="stop-color:#7B9EA7"
- id="stop3909" />
- <stop
- offset="0.9374"
- style="stop-color:#53828C"
- id="stop3911" />
- <stop
- offset="0.9809"
- style="stop-color:#25626E"
- id="stop3913" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop3915" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="24"
- id="circle3917"
- style="fill:url(#SVGID_2_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="24"
- sodipodi:ry="24"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_3_"
- gradientUnits="userSpaceOnUse"
- x1="-98.6328"
- y1="-96"
- x2="-54.3672"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop3920" />
- <stop
- offset="0.073"
- style="stop-color:#8FAECB"
- id="stop3922" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop3924" />
- <stop
- offset="0.5902"
- style="stop-color:#E7E9ED"
- id="stop3926" />
- <stop
- offset="0.618"
- style="stop-color:#E4E7EB"
- id="stop3928" />
- <stop
- offset="0.6697"
- style="stop-color:#E0E4E9"
- id="stop3930" />
- <stop
- offset="0.7211"
- style="stop-color:#D4DCE1"
- id="stop3932" />
- <stop
- offset="0.7722"
- style="stop-color:#C0CFD5"
- id="stop3934" />
- <stop
- offset="0.809"
- style="stop-color:#ADC2C9"
- id="stop3936" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop3938" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="22.132999"
- id="circle3940"
- style="fill:url(#SVGID_3_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="22.132999"
- sodipodi:ry="22.132999"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_4_"
- gradientUnits="userSpaceOnUse"
- x1="-96.7671"
- y1="-96"
- x2="-56.2324"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop3943" />
- <stop
- offset="0.073"
- style="stop-color:#86A7C4"
- id="stop3945" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop3947" />
- <stop
- offset="0.577"
- style="stop-color:#E7EAED"
- id="stop3949" />
- <stop
- offset="0.618"
- style="stop-color:#E1E6EA"
- id="stop3951" />
- <stop
- offset="0.6697"
- style="stop-color:#DDE3E8"
- id="stop3953" />
- <stop
- offset="0.7211"
- style="stop-color:#D1DBE1"
- id="stop3955" />
- <stop
- offset="0.7722"
- style="stop-color:#BDCDD5"
- id="stop3957" />
- <stop
- offset="0.809"
- style="stop-color:#AAC0CA"
- id="stop3959" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop3961" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="20.267"
- id="circle3963"
- style="fill:url(#SVGID_4_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="20.267"
- sodipodi:ry="20.267"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_5_"
- gradientUnits="userSpaceOnUse"
- x1="-94.8999"
- y1="-96"
- x2="-58.0996"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop3966" />
- <stop
- offset="0.073"
- style="stop-color:#7E9FBC"
- id="stop3968" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop3970" />
- <stop
- offset="0.5709"
- style="stop-color:#E6E9ED"
- id="stop3972" />
- <stop
- offset="0.618"
- style="stop-color:#DFE4E9"
- id="stop3974" />
- <stop
- offset="0.6687"
- style="stop-color:#DBE1E7"
- id="stop3976" />
- <stop
- offset="0.7193"
- style="stop-color:#CFD9E0"
- id="stop3978" />
- <stop
- offset="0.7695"
- style="stop-color:#BBCCD6"
- id="stop3980" />
- <stop
- offset="0.809"
- style="stop-color:#A6BECA"
- id="stop3982" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop3984" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="18.4"
- id="circle3986"
- style="fill:url(#SVGID_5_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="18.4"
- sodipodi:ry="18.4"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_6_"
- gradientUnits="userSpaceOnUse"
- x1="-93.0332"
- y1="-96"
- x2="-59.9668"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop3989" />
- <stop
- offset="0.073"
- style="stop-color:#7697B4"
- id="stop3991" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop3993" />
- <stop
- offset="0.5636"
- style="stop-color:#E6E9ED"
- id="stop3995" />
- <stop
- offset="0.618"
- style="stop-color:#DCE2E8"
- id="stop3997" />
- <stop
- offset="0.6687"
- style="stop-color:#D8DFE6"
- id="stop3999" />
- <stop
- offset="0.7193"
- style="stop-color:#CCD7E0"
- id="stop4001" />
- <stop
- offset="0.7695"
- style="stop-color:#B8CAD5"
- id="stop4003" />
- <stop
- offset="0.809"
- style="stop-color:#A3BCCA"
- id="stop4005" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4007" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="16.533001"
- id="circle4009"
- style="fill:url(#SVGID_6_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="16.533001"
- sodipodi:ry="16.533001"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_7_"
- gradientUnits="userSpaceOnUse"
- x1="-91.167"
- y1="-96"
- x2="-61.833"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4012" />
- <stop
- offset="0.073"
- style="stop-color:#6D8FAD"
- id="stop4014" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4016" />
- <stop
- offset="0.5605"
- style="stop-color:#E5E8EC"
- id="stop4018" />
- <stop
- offset="0.618"
- style="stop-color:#DAE1E7"
- id="stop4020" />
- <stop
- offset="0.6679"
- style="stop-color:#D6DEE5"
- id="stop4022" />
- <stop
- offset="0.7175"
- style="stop-color:#CAD6DF"
- id="stop4024" />
- <stop
- offset="0.7669"
- style="stop-color:#B6C9D6"
- id="stop4026" />
- <stop
- offset="0.809"
- style="stop-color:#9FBACB"
- id="stop4028" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4030" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="14.667"
- id="circle4032"
- style="fill:url(#SVGID_7_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="14.667"
- sodipodi:ry="14.667"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_8_"
- gradientUnits="userSpaceOnUse"
- x1="-89.2998"
- y1="-96"
- x2="-63.7002"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4035" />
- <stop
- offset="0.073"
- style="stop-color:#6587A5"
- id="stop4037" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4039" />
- <stop
- offset="0.5588"
- style="stop-color:#E4E8EC"
- id="stop4041" />
- <stop
- offset="0.618"
- style="stop-color:#D8DFE7"
- id="stop4043" />
- <stop
- offset="0.6675"
- style="stop-color:#D4DCE5"
- id="stop4045" />
- <stop
- offset="0.7167"
- style="stop-color:#C8D5E0"
- id="stop4047" />
- <stop
- offset="0.7657"
- style="stop-color:#B4C8D6"
- id="stop4049" />
- <stop
- offset="0.809"
- style="stop-color:#9CB8CB"
- id="stop4051" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4053" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="12.8"
- id="circle4055"
- style="fill:url(#SVGID_8_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="12.8"
- sodipodi:ry="12.8"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_9_"
- gradientUnits="userSpaceOnUse"
- x1="-87.4331"
- y1="-96"
- x2="-65.5664"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4058" />
- <stop
- offset="0.073"
- style="stop-color:#5D809D"
- id="stop4060" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4062" />
- <stop
- offset="0.5567"
- style="stop-color:#E3E7EC"
- id="stop4064" />
- <stop
- offset="0.618"
- style="stop-color:#D5DDE6"
- id="stop4066" />
- <stop
- offset="0.6671"
- style="stop-color:#D1DAE4"
- id="stop4068" />
- <stop
- offset="0.7159"
- style="stop-color:#C5D3DF"
- id="stop4070" />
- <stop
- offset="0.7645"
- style="stop-color:#B1C6D6"
- id="stop4072" />
- <stop
- offset="0.809"
- style="stop-color:#98B5CB"
- id="stop4074" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4076" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="10.933"
- id="circle4078"
- style="fill:url(#SVGID_9_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="10.933"
- sodipodi:ry="10.933"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_10_"
- gradientUnits="userSpaceOnUse"
- x1="-85.5659"
- y1="-96"
- x2="-67.4336"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4081" />
- <stop
- offset="0.073"
- style="stop-color:#547896"
- id="stop4083" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4085" />
- <stop
- offset="0.5588"
- style="stop-color:#E1E6EB"
- id="stop4087" />
- <stop
- offset="0.618"
- style="stop-color:#D3DCE5"
- id="stop4089" />
- <stop
- offset="0.6663"
- style="stop-color:#CFD9E3"
- id="stop4091" />
- <stop
- offset="0.7143"
- style="stop-color:#C3D2DF"
- id="stop4093" />
- <stop
- offset="0.7621"
- style="stop-color:#AFC5D7"
- id="stop4095" />
- <stop
- offset="0.809"
- style="stop-color:#94B3CC"
- id="stop4097" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4099" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="9.066"
- id="circle4101"
- style="fill:url(#SVGID_10_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="9.066"
- sodipodi:ry="9.066"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_11_"
- gradientUnits="userSpaceOnUse"
- x1="-83.7002"
- y1="-96"
- x2="-69.2998"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4104" />
- <stop
- offset="0.073"
- style="stop-color:#4C708E"
- id="stop4106" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4108" />
- <stop
- offset="0.5625"
- style="stop-color:#DEE4EA"
- id="stop4110" />
- <stop
- offset="0.618"
- style="stop-color:#D0DAE4"
- id="stop4112" />
- <stop
- offset="0.6663"
- style="stop-color:#CCD7E2"
- id="stop4114" />
- <stop
- offset="0.7143"
- style="stop-color:#C0D0DE"
- id="stop4116" />
- <stop
- offset="0.7621"
- style="stop-color:#ACC3D6"
- id="stop4118" />
- <stop
- offset="0.809"
- style="stop-color:#91B1CC"
- id="stop4120" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4122" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="7.1999998"
- id="circle4124"
- style="fill:url(#SVGID_11_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="7.1999998"
- sodipodi:ry="7.1999998"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_12_"
- gradientUnits="userSpaceOnUse"
- x1="-81.833"
- y1="-96"
- x2="-71.167"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4127" />
- <stop
- offset="0.073"
- style="stop-color:#446986"
- id="stop4129" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4131" />
- <stop
- offset="0.5757"
- style="stop-color:#D9E0E8"
- id="stop4133" />
- <stop
- offset="0.618"
- style="stop-color:#CED8E3"
- id="stop4135" />
- <stop
- offset="0.6655"
- style="stop-color:#CAD5E2"
- id="stop4137" />
- <stop
- offset="0.7129"
- style="stop-color:#BECEDD"
- id="stop4139" />
- <stop
- offset="0.7601"
- style="stop-color:#AAC1D6"
- id="stop4141" />
- <stop
- offset="0.807"
- style="stop-color:#8EB0CC"
- id="stop4143" />
- <stop
- offset="0.809"
- style="stop-color:#8DAFCC"
- id="stop4145" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4147" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="5.3330002"
- id="circle4149"
- style="fill:url(#SVGID_12_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="5.3330002"
- sodipodi:ry="5.3330002"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_13_"
- gradientUnits="userSpaceOnUse"
- x1="-79.9658"
- y1="-96"
- x2="-73.0342"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4152" />
- <stop
- offset="0.073"
- style="stop-color:#3B617F"
- id="stop4154" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4156" />
- <stop
- offset="0.6087"
- style="stop-color:#CED9E3"
- id="stop4158" />
- <stop
- offset="0.618"
- style="stop-color:#CBD7E2"
- id="stop4160" />
- <stop
- offset="0.6655"
- style="stop-color:#C7D4E1"
- id="stop4162" />
- <stop
- offset="0.7129"
- style="stop-color:#BBCDDD"
- id="stop4164" />
- <stop
- offset="0.7601"
- style="stop-color:#A7C0D6"
- id="stop4166" />
- <stop
- offset="0.807"
- style="stop-color:#8BAECD"
- id="stop4168" />
- <stop
- offset="0.809"
- style="stop-color:#8AADCD"
- id="stop4170" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4172" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="3.4660001"
- id="circle4174"
- style="fill:url(#SVGID_13_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="3.4660001"
- sodipodi:ry="3.4660001"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-<linearGradient
- id="SVGID_14_"
- gradientUnits="userSpaceOnUse"
- x1="-78.1001"
- y1="-96"
- x2="-74.9004"
- y2="-96"
- gradientTransform="matrix(1,0,0,-1,102.5,-70)">
- <stop
- offset="0.0056"
- style="stop-color:#8AADCE"
- id="stop4177" />
- <stop
- offset="0.073"
- style="stop-color:#335977"
- id="stop4179" />
- <stop
- offset="0.5"
- style="stop-color:#EAECEF"
- id="stop4181" />
- <stop
- offset="0.618"
- style="stop-color:#C9D5E1"
- id="stop4183" />
- <stop
- offset="0.6648"
- style="stop-color:#C5D3E0"
- id="stop4185" />
- <stop
- offset="0.7114"
- style="stop-color:#B9CBDC"
- id="stop4187" />
- <stop
- offset="0.758"
- style="stop-color:#A5BFD6"
- id="stop4189" />
- <stop
- offset="0.8042"
- style="stop-color:#89ADCE"
- id="stop4191" />
- <stop
- offset="0.809"
- style="stop-color:#86ABCD"
- id="stop4193" />
- <stop
- offset="1"
- style="stop-color:#0E525F"
- id="stop4195" />
-</linearGradient>
-<circle
- cx="26"
- cy="26"
- r="1.6"
- id="circle4197"
- style="fill:url(#SVGID_14_)"
- sodipodi:cx="26"
- sodipodi:cy="26"
- sodipodi:rx="1.6"
- sodipodi:ry="1.6"
- transform="matrix(0.923077,0,0,0.923077,2,1.999996)" />
-</svg> \ No newline at end of file
diff --git a/demos/quick3d/model_viewer/qml/images/test.svg b/demos/quick3d/model_viewer/qml/images/test.svg
deleted file mode 100644
index 6d51cc9e..00000000
--- a/demos/quick3d/model_viewer/qml/images/test.svg
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="100"
- height="100"
- id="svg2"
- version="1.1"
- inkscape:version="0.47+devel r9541"
- sodipodi:docname="test.svg">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.979899"
- inkscape:cx="114.34946"
- inkscape:cy="49.177003"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1118"
- inkscape:window-height="684"
- inkscape:window-x="465"
- inkscape:window-y="406"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-952.36218)">
- <rect
- style="opacity:0.2;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2993"
- width="100"
- height="100"
- x="0.16797371"
- y="952.60327"
- rx="15"
- ry="15" />
- <image
- y="952.36218"
- x="0.173319"
- id="image3901"
- xlink:href="data:image/png;base64,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
-RU5ErkJggg==
-"
- height="100"
- width="100" />
- </g>
-</svg>
diff --git a/demos/quick3d/model_viewer/qml/images/zoomin.png b/demos/quick3d/model_viewer/qml/images/zoomin.png
deleted file mode 100644
index b17cbe81..00000000
--- a/demos/quick3d/model_viewer/qml/images/zoomin.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/qml/images/zoomin.svg b/demos/quick3d/model_viewer/qml/images/zoomin.svg
deleted file mode 100644
index d517e3e5..00000000
--- a/demos/quick3d/model_viewer/qml/images/zoomin.svg
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="100"
- height="100"
- id="svg2"
- version="1.1"
- inkscape:version="0.47+devel r9541"
- sodipodi:docname="zoomin.svg">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.979899"
- inkscape:cx="36.315176"
- inkscape:cy="49.177003"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1118"
- inkscape:window-height="684"
- inkscape:window-x="465"
- inkscape:window-y="406"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-952.36218)">
- <rect
- style="opacity:0.2;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2993"
- width="100"
- height="100"
- x="0.16797371"
- y="952.60327"
- rx="15"
- ry="15" />
- <image
- y="957.90533"
- x="7.5177755"
- id="image4088"
- xlink:href="data:image/png;base64,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 YII= "
- height="98"
- width="88"
- style="opacity:0.75" />
- </g>
-</svg>
diff --git a/demos/quick3d/model_viewer/qml/images/zoomout.png b/demos/quick3d/model_viewer/qml/images/zoomout.png
deleted file mode 100644
index 01ed6f25..00000000
--- a/demos/quick3d/model_viewer/qml/images/zoomout.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/qml/images/zoomout.svg b/demos/quick3d/model_viewer/qml/images/zoomout.svg
deleted file mode 100644
index ab722c1b..00000000
--- a/demos/quick3d/model_viewer/qml/images/zoomout.svg
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="100"
- height="100"
- id="svg2"
- version="1.1"
- inkscape:version="0.47+devel r9541"
- sodipodi:docname="zoomout.svg">
- <defs
- id="defs4" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.979899"
- inkscape:cx="114.34946"
- inkscape:cy="49.177003"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1118"
- inkscape:window-height="684"
- inkscape:window-x="465"
- inkscape:window-y="406"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-952.36218)">
- <rect
- style="opacity:0.2;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2993"
- width="100"
- height="100"
- x="0.16797371"
- y="952.60327"
- rx="15"
- ry="15" />
- <image
- y="962.42053"
- x="-2.5685232"
- id="image4305"
- xlink:href="data:image/png;base64,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
-kIVqMoUAAAAASUVORK5CYII=
-"
- height="92"
- width="91"
- style="opacity:0.75" />
- </g>
-</svg>
diff --git a/demos/quick3d/model_viewer/qml/meshes/monkey.3ds b/demos/quick3d/model_viewer/qml/meshes/monkey.3ds
deleted file mode 100644
index e9a007b2..00000000
--- a/demos/quick3d/model_viewer/qml/meshes/monkey.3ds
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/qml/meshes/penguin.3ds b/demos/quick3d/model_viewer/qml/meshes/penguin.3ds
deleted file mode 100644
index 26c09ac0..00000000
--- a/demos/quick3d/model_viewer/qml/meshes/penguin.3ds
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/model_viewer/qtquick3d.ico b/demos/quick3d/model_viewer/qtquick3d.ico
deleted file mode 100644
index b3b85e37..00000000
--- a/demos/quick3d/model_viewer/qtquick3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/qmlres.h b/demos/quick3d/qmlres.h
deleted file mode 100644
index c7023fcc..00000000
--- a/demos/quick3d/qmlres.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLRES_H
-#define QMLRES_H
-
-#include <QtCore/qdir.h>
-#include <QtGui/QGuiApplication>
-#include <QtQuick/QQuickView>
-
-#include <QtCore/qdebug.h>
-
-#define internal_xstr(s) internal_str(s)
-#define internal_str(s) #s
-
-/*!
- \internal
- Returns a string with the path to qml resources, including qml sources,
- 3D assets and textures. The path depends on the platform, and (for
- some platforms) whether it was installed from a package or is being run
- in a development setting.
-*/
-static QString q_get_qmldir(const QString &name)
-{
- QString qml = name;
- // try for a Linux package install first
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
-#ifdef QT3D_USE_OPT
- QDir pkgdir(QLatin1String("/opt/mt/applications/" internal_xstr(QT3D_USE_OPT)));
-#else
- QDir pkgdir(QLatin1String("/usr/share/qt5/quick3d/examples"));
-#endif
-#else
- QDir pkgdir(QLatin1String("/usr/share/qt4/quick3d/examples"));
-#endif
- QString app = QCoreApplication::applicationFilePath();
- app = app.section(QDir::separator(), -1);
- if (pkgdir.cd(app) && pkgdir.exists())
- {
- qml = pkgdir.filePath(qml);
- }
- else
- {
- // failing that try Mac (pkg & dev) next
- QDir dir(QCoreApplication::applicationDirPath());
- if (dir.path().endsWith(QLatin1String("MacOS")))
- {
- if (dir.cdUp() && dir.cd(QLatin1String("Resources"))
- && dir.exists())
- {
- qml = dir.filePath(qml);
- }
- else
- {
- qWarning("Expected app bundle with QML resources!");
- }
- }
- else
- {
- // for Windows (pkg & dev), and for Linux dev expect to find it
- // in a "resources" directory next to the binary
- if (dir.cd(QLatin1String("resources")) && dir.exists())
- {
- QString app = QCoreApplication::applicationFilePath();
- app = QDir::toNativeSeparators(app);
- //For windows platforms the "app" filepath should have the .exe extension removed.
- const QString winExtension = ".exe";
- if (app.right(winExtension.length()) == winExtension) {
- app = app.left(app.length() - winExtension.length());
- }
-
- //Grab just the app name itself.
- app = app.section(QDir::separator(), -1);
-
- if (dir.cd(QLatin1String("examples")) && dir.cd(app) && dir.exists())
- {
- qml = dir.filePath(qml);
- }
- else
- {
- QString msg = QLatin1String("examples");
- msg += QDir::separator();
- msg += app;
- qWarning("Expected %s directry with qml resources!", qPrintable(msg));
- }
- }
- }
- }
- return qml;
-}
-
-#define QUICK3D_EXAMPLE_MAIN(file) \
-int main(int argc, char *argv[]) \
-{ \
- QGuiApplication app(argc, argv); \
- QSurfaceFormat f; \
- f.setSamples(16); \
- QQuickView view; \
- view.setFormat(f); \
- QString qml = q_get_qmldir(QLatin1String(file)); \
- view.setSource(QUrl::fromLocalFile(qml)); \
- if (QGuiApplication::arguments().contains(QLatin1String("-maximize"))) \
- view.showMaximized(); \
- else if (QGuiApplication::arguments().contains(QLatin1String("-fullscreen"))) \
- view.showFullScreen(); \
- else \
- view.show(); \
- return app.exec(); \
-} \
-
-
-#endif // QMLRES_H
diff --git a/demos/quick3d/qtquick3d.svg b/demos/quick3d/qtquick3d.svg
deleted file mode 100644
index c5220160..00000000
--- a/demos/quick3d/qtquick3d.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<!-- Converted with SVG Converter - Version 0.9.5 (Compiled Mon May 30 09:08:51 2011) - Copyright (C) 2011 Nokia -->
-<svg xmlns="http://www.w3.org/2000/svg" width="172.99532" version="1.1" height="177.125" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" id="svg2">
- <defs id="defs4"/>
- <metadata id="metadata7"/>
- <g id="layer1" transform="translate(1115.4122,-1055.2322)">
- <g id="layer1-1" transform="matrix(1.2547258,0,0,1,-1340.4002,828.98219)">
- <rect width="131.93457" x="182.28572" y="229.21933" ry="22.142857" height="171.17847" style="fill:#000000;fill-rule:evenodd;stroke:#00ffff;stroke-width:5.92500019;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" id="rect2985"/>
- <image width="119.42857" x="188.5714" y="247.50507" height="128" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJzsvXncXUd55/mtOstd3vvui17tiyXLkizLq2wZDDY2hM0GO4GegQBOYCYdCHRIQmeSMOmeHpIO GfikQweykeDMQNLGwdAYMDbGGza2hYUt27JlW5KtXe++3vWcU9V/VNW5576LLNkGZsaqz+fVvbq3 qk6dep56nt/zq6fOFYDmTHnNFvmLHsCZ8ostZxTgNV7OKMBrvJxRgNd4OaMAr/FyRgFe4+WMArzG yxkFeI2XMwrwGi9nFOA1Xs4owGu8nFGA13g5owCv8XJGAV7j5YwCvMbLGQV4jZczCvAaL2cU4DVe zijAa7ycUYDXeDmjAK/x8gtTACEEQohf1OXPFFt+YQqgtT6jBP8vKP7P+4KXX345N9xwAxs3bqS9 vZ0oiti7dy8PPvgg3/jGN4ii6Oc9pNd80T+Pv9/+7d/WL7zwglZKaVeSJNFaa62U0kopPTExob/y la9oKeXPZUxn/syhoJ/pBXp6evQjjzySCjlJkpb3Wmsdx7GO4zj9fHp6Wl966aW/6Il5rfz9bDoW QuiOjg49Njam4zjWSZK0/LnP3KtTCPeZ1lpfccUVv+jJ+f/9n3Ba8GqXMAw5evQovb29AGjdvIwD fkoppJQLfgcwOzvL4OAglUrlZzHEM4WfIQi877776OvrS4U7V9DAvAhgrmK0tbXx4x//mAsuuGBe 27lFCMGPfvQjhoaGeP7553nxxRc5duwYDz74IGNjY6c19jAMufjiixkYGKBSqfD4448zPDx8Wn38 f6m86mblE5/4ROrPF/L7C7mEuX8OGyRJot/+9re/5DVLpVIKMLPXfve7331qplAILaXUH//4x1va u79bbrlFd3Z2/sJN9s/g79XtsLu7W9fr9RbfPlcwWUEvphQuSmg0Gvro0aM6CAIthFj0ukuWLFlQ 6bZv337KY3/00UfT9g6UunFprfXExIQeGBj4RQvsVf171Ymgv/u7vyMIgnnm3ZlwrTVSSqSUTE5O Mj09jRACKeU8YkgIge/7LFu2jLe+9a0ndQNtbW1p2yzJNDMzc0rjfuSRR7joootaXJYbgxACrTVd XV0888wztLW1nfqEnEb58Ic/zLXXXsuGDRvwPO9nco2FyquiSUII3dvbqyuVio6iqGX1z12Vd911 l96yZYuWUmohhL788sv1zp07W6yBswDu77bbbjvp9bdu3bqgy1mxYsVLjv33fu/3WizTQm4rex9/ +Zd/+TNZjZOTkylHcv755/+8rMCr19k//uM/LmjmnTnVWusvfelLi7a/++67W/gBp0hxHOt6vX5S H3zllVfOE9bo6Kju6Og46ZjXr1/fonhZTmJuyJq9l3PPPfdVF0atVksVYP369afVtr+/X69fv17n crlfjAL09vaeFOAppfTdd9990j4GBgZa/K9TANf+ne9856JtP/KRj8xbxQcOHHhJVvGmm25q4SRO xllk+/7yl7/8qgq/UCi0sKTLly8/rfaf/OQnda1W07VaTW/atOmU271qGOAtb3lL6scXKx/4wAdO +v3w8DCf+9znUv83FxfccMMNi7Zdt25dWs+1GR8fRym1YH0pJStXruSDH/xgihmy15NS8sQTTzA0 NJTigSyOueaaa04yG6dfBgYG0r611qfNfbS3txOGIWEYMjExccrtXjUF+OQnP5lOJMwHUX/7t3/L 0aNHXzKe/+u//muSJEnbQnPit2/f3lI3CIIUkK1evRqlVEubF154oWUM2aKU4nd/93dToOkmXgjB 9PQ0GzZs4IILLmDZsmX8/d//fYuCAKxatYrXve51L2+yFiirVq1qUeBqtXpa7Xt7e1sU/3TKKzZf g4ODLf53rrksl8un3FdbW5uu1+sL9nf48OGWuh//+Md1rVbTJ06c0OVyed4ew6233qovuOACvXHj Rt3T0zPvWvv27ZsH8KrVqu7t7Z1X9/77728Zk9Za//mf//mr5gJ+/dd/vcUFeJ53Wu3/+Z//OXWb p3ntVz74G2+8MUXt2cl0aP7+++8/5b6EEHrfvn3zwKRSSo+Pj7dwAV/4whfmET9zlUBrrWu1mp6e ntbDw8P6c5/7nAb0Oeecs2C7m266acExve1tb5t3raeffvpV27ksFov67LPP1hdddJG++uqrT7v9 nXfeqbXWenh4+LTavSpU8Jve9CagSfc6k+1M2le+8pVT7ktrzUMPPcRZZ53VslegtaZYLKYxOcCG DRvm8QuurnuvlML3fTzPo62tLaV0f+M3fgMhRAtGEELwB3/wB/PGJITgwQcfZGpqilKplLq3wcFB fN+n0Wikdfv7+ymXy9RqtUXxx0KlVquxb9++02qTLf39/WitOXHixGm1e1UwwI4dO1BKoZRacGPn 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 YII= " id="image2993"/>
- </g>
- </g>
-</svg>
diff --git a/demos/quick3d/quick3d.pro b/demos/quick3d/quick3d.pro
deleted file mode 100644
index 0459eb93..00000000
--- a/demos/quick3d/quick3d.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = model_viewer robo_bounce tea_service flickr3d
diff --git a/demos/quick3d/robo_bounce/icon-l-qtquick3d.png b/demos/quick3d/robo_bounce/icon-l-qtquick3d.png
deleted file mode 100644
index 69deef3f..00000000
--- a/demos/quick3d/robo_bounce/icon-l-qtquick3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/info.json b/demos/quick3d/robo_bounce/info.json
deleted file mode 100644
index 6842d920..00000000
--- a/demos/quick3d/robo_bounce/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "info-version": "1.0",
- "dict": {
- "Category": "application",
- "Runtime": "qml",
- "DisplayName": "Robo Bounce",
- "Subcategory": "utility",
- "MainQML": "mt.qml",
- "Version": "1.0",
- "Identifier": "com.nokia.qtquick3d.robobounce",
- "Depends": {
- "com.nokia.components": "1.0",
- },
- "Summary": "Robo Bounce QML Demo"
- }
-}
diff --git a/demos/quick3d/robo_bounce/m5-robo_bounce.desktop b/demos/quick3d/robo_bounce/m5-robo_bounce.desktop
deleted file mode 100644
index 709103d5..00000000
--- a/demos/quick3d/robo_bounce/m5-robo_bounce.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=RoboBounce
-Comment=Qt3D example application
-Exec=/usr/bin/robo_bounce -fullscreen
-Icon=icon-l-qtquick3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/quick3d/robo_bounce/main.cpp b/demos/quick3d/robo_bounce/main.cpp
deleted file mode 100644
index fb0a2b36..00000000
--- a/demos/quick3d/robo_bounce/main.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../qmlres.h"
-
-QUICK3D_EXAMPLE_MAIN("qml/desktop.qml")
diff --git a/demos/quick3d/robo_bounce/mt.qml b/demos/quick3d/robo_bounce/mt.qml
deleted file mode 100644
index ff08be1d..00000000
--- a/demos/quick3d/robo_bounce/mt.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "qml"
-
-Item {
- width: 320
- height: 480
-
- RoboBounce {
- }
-}
diff --git a/demos/quick3d/robo_bounce/qml/Assets/QML3DSign.png b/demos/quick3d/robo_bounce/qml/Assets/QML3DSign.png
deleted file mode 100644
index b4bfb88b..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/QML3DSign.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/button.png b/demos/quick3d/robo_bounce/qml/Assets/button.png
deleted file mode 100644
index 2943e240..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/button.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/calculatorSign.png b/demos/quick3d/robo_bounce/qml/Assets/calculatorSign.png
deleted file mode 100644
index 3a8fca72..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/calculatorSign.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/cubeButton.png b/demos/quick3d/robo_bounce/qml/Assets/cubeButton.png
deleted file mode 100644
index 2ea32a8b..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/cubeButton.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/hazard.png b/demos/quick3d/robo_bounce/qml/Assets/hazard.png
deleted file mode 100644
index a7c0b7fe..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/hazard.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/infobutton.png b/demos/quick3d/robo_bounce/qml/Assets/infobutton.png
deleted file mode 100644
index e7379f2d..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/infobutton.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/qtlogo.png b/demos/quick3d/robo_bounce/qml/Assets/qtlogo.png
deleted file mode 100644
index 3bf1a77d..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/qtlogo.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/roboInfo.png b/demos/quick3d/robo_bounce/qml/Assets/roboInfo.png
deleted file mode 100644
index b7bdda19..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/roboInfo.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/roboticArms.3ds b/demos/quick3d/robo_bounce/qml/Assets/roboticArms.3ds
deleted file mode 100644
index 478d27bf..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/roboticArms.3ds
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/roboticBody.3ds b/demos/quick3d/robo_bounce/qml/Assets/roboticBody.3ds
deleted file mode 100644
index ed872c82..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/roboticBody.3ds
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/roboticHead.3ds b/demos/quick3d/robo_bounce/qml/Assets/roboticHead.3ds
deleted file mode 100644
index 7a517c2b..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/roboticHead.3ds
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/rotateButton2.png b/demos/quick3d/robo_bounce/qml/Assets/rotateButton2.png
deleted file mode 100644
index 80a2d82a..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/rotateButton2.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/sQt3D_logo.png b/demos/quick3d/robo_bounce/qml/Assets/sQt3D_logo.png
deleted file mode 100644
index 92a071d3..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/sQt3D_logo.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Assets/tronscape.png b/demos/quick3d/robo_bounce/qml/Assets/tronscape.png
deleted file mode 100644
index 325f60e3..00000000
--- a/demos/quick3d/robo_bounce/qml/Assets/tronscape.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/Calculator.qml b/demos/quick3d/robo_bounce/qml/Calculator/Calculator.qml
deleted file mode 100644
index 0f254dd7..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/Calculator.qml
+++ /dev/null
@@ -1,187 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import "CalculatorCore"
-import "CalculatorCore/calculator.js" as CalcEngine
-
-Rectangle {
- id: window
-
- width: parent.width; height: parent.height
- color: "#282828"
-
- property string rotateLeft: "\u2939"
- property string rotateRight: "\u2935"
- property string leftArrow: "\u2190"
- property string division : "\u00f7"
- property string multiplication : "\u00d7"
- property string squareRoot : "\u221a"
- property string plusminus : "\u00b1"
-
- function doOp(operation) { CalcEngine.doOperation(operation) }
-
-
- states: [
- State {
- name: "hidden";
- },
- State {
- name: "shown";
- }
- ]
-
- transitions: [
- Transition {
- from: "*"
- to: "hidden"
- SequentialAnimation {
- NumberAnimation {target: window; property: "opacity"; to : 0.1; duration: 1000; easing.type:"OutQuad" }
- PropertyAction {target: window; property: "visible"; value: false}
- }
- },
- Transition {
- from: "*"
- to: "shown"
- SequentialAnimation {
- PropertyAction {target: window; property: "visible"; value: true}
- NumberAnimation {target: window; property: "opacity"; to : 1.0; duration: 1000; easing.type:"OutQuad" }
- }
- }
- ]
-
- Item {
- id: main
- state: "orientation " + runtime.orientation
-
- width: parent.width; height: parent.height; anchors.centerIn: parent
-
- Column {
- id: box; spacing: 8
-
- anchors { fill: parent; topMargin: 6; bottomMargin: 6; leftMargin: 6; rightMargin: 6 }
-
- Display {
- id: display
- width: box.width-3
- height: 64
- }
-
- Column {
- id: column; spacing: 6
-
- property real h: ((box.height - 72) / 6) - ((spacing * (6 - 1)) / 6)
- property real w: (box.width / 4) - ((spacing * (4 - 1)) / 4)
-
- Row {
- spacing: 6
- Button { width: column.w; height: column.h; color: 'purple'; operation: "Off" }
- Button { width: column.w; height: column.h; color: 'purple'; operation: leftArrow }
- Button { width: column.w; height: column.h; color: 'purple'; operation: "C" }
- Button { width: column.w; height: column.h; color: 'purple'; operation: "AC" }
- }
-
- Row {
- spacing: 6
- property real w: (box.width / 4) - ((spacing * (4 - 1)) / 4)
-
- Button { width: column.w; height: column.h; color: 'green'; operation: "mc" }
- Button { width: column.w; height: column.h; color: 'green'; operation: "m+" }
- Button { width: column.w; height: column.h; color: 'green'; operation: "m-" }
- Button { width: column.w; height: column.h; color: 'green'; operation: "mr" }
- }
-
- Grid {
- id: grid; rows: 5; columns: 5; spacing: 6
-
- property real w: (box.width / columns) - ((spacing * (columns - 1)) / columns)
-
- Button { width: grid.w; height: column.h; operation: "7"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "8"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "9"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: division }
- Button { width: grid.w; height: column.h; operation: squareRoot }
- Button { width: grid.w; height: column.h; operation: "4"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "5"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "6"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: multiplication }
- Button { width: grid.w; height: column.h; operation: "x^2" }
- Button { width: grid.w; height: column.h; operation: "1"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "2"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "3"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "-" }
- Button { width: grid.w; height: column.h; operation: "1/x" }
- Button { width: grid.w; height: column.h; operation: "0"; color: 'blue' }
- Button { width: grid.w; height: column.h; operation: "." }
- Button { width: grid.w; height: column.h; operation: plusminus }
- Button { width: grid.w; height: column.h; operation: "+" }
- Button { width: grid.w; height: column.h; operation: "="; color: 'red' }
- }
- }
- }
-
- states: [
- State {
- name: "orientation " + Orientation.Landscape
- PropertyChanges { target: main; rotation: 90; width: window.height; height: window.width }
- PropertyChanges { target: rotateButton; operation: rotateLeft }
- },
- State {
- name: "orientation " + Orientation.PortraitInverted
- PropertyChanges { target: main; rotation: 180; }
- PropertyChanges { target: rotateButton; operation: rotateRight }
- },
- State {
- name: "orientation " + Orientation.LandscapeInverted
- PropertyChanges { target: main; rotation: 270; width: window.height; height: window.width }
- PropertyChanges { target: rotateButton; operation: rotateLeft }
- }
- ]
-
- transitions: Transition {
- SequentialAnimation {
- PropertyAction { target: rotateButton; property: "operation" }
- RotationAnimation { direction: RotationAnimation.Shortest; duration: 300; easing.type: Easing.InOutQuint }
- NumberAnimation { properties: "x,y,width,height"; duration: 300; easing.type: Easing.InOutQuint }
- }
- }
- }
-}
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Button.qml b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Button.qml
deleted file mode 100644
index 87206b1c..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Button.qml
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-BorderImage {
- id: button
-
- property alias operation: buttonText.text
- property string color: ""
-
- signal clicked
-
- source: "images/button-" + color + ".png"; clip: true
- border { left: 10; top: 10; right: 10; bottom: 10 }
-
- Rectangle {
- id: shade
- anchors.fill: button; radius: 10; color: "black"; opacity: 0
- }
-
- Text {
- id: buttonText
- anchors.centerIn: parent; anchors.verticalCenterOffset: -1
- font.pixelSize: parent.width > parent.height ? parent.height * .5 : parent.width * .5
- style: Text.Sunken; color: "white"; styleColor: "black"; smooth: true
- }
-
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- onClicked: {
- doOp(operation)
- button.clicked()
- }
- }
-
- states: State {
- name: "pressed"; when: mouseArea.pressed == true
- PropertyChanges { target: shade; opacity: .4 }
- }
-
- transitions: [
- Transition {
- from: "*"
- to: "pressed"
- SequentialAnimation {
- NumberAnimation {target: button; property: "scale"; to : 0.8; duration: 200; easing.type:"OutQuad" }
- }
- },
- Transition {
- from: "pressed"
- to: "*"
- SequentialAnimation {
- NumberAnimation {target: button; property: "scale"; to : 1.0; duration: 200; easing.type:"OutQuad" }
- }
- }
- ]
-}
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Display.qml b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Display.qml
deleted file mode 100644
index a2f96043..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/Display.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-BorderImage {
- id: image
-
- property alias text : displayText.text
- property alias currentOperation : operationText
-
- source: "images/display.png"
- border { left: 10; top: 10; right: 10; bottom: 10 }
-
- Text {
- id: displayText
- anchors {
- right: parent.right; verticalCenter: parent.verticalCenter; verticalCenterOffset: -1
- rightMargin: 6; left: operationText.right
- }
- font.pixelSize: parent.height * .6; text: "0"; horizontalAlignment: Text.AlignRight; elide: Text.ElideRight
- color: "#343434"; smooth: true; font.bold: true
- }
- Text {
- id: operationText
- font.bold: true; font.pixelSize: parent.height * .7
- color: "#343434"; smooth: true
- anchors { left: parent.left; leftMargin: 6; verticalCenterOffset: -3; verticalCenter: parent.verticalCenter }
- }
-}
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/calculator.js b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/calculator.js
deleted file mode 100644
index 7c363c7f..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/calculator.js
+++ /dev/null
@@ -1,91 +0,0 @@
-
-var curVal = 0
-var memory = 0
-var lastOp = ""
-var timer = 0
-
-function disabled(op) {
- if (op == "." && display.text.toString().search(/\./) != -1) {
- return true
- } else if (op == squareRoot && display.text.toString().search(/-/) != -1) {
- return true
- } else {
- return false
- }
-}
-
-function doOperation(op) {
- if (disabled(op)) {
- return
- }
-
- if (op.toString().length==1 && ((op >= "0" && op <= "9") || op==".") ) {
- if (display.text.toString().length >= 14)
- return; // No arbitrary length numbers
- if (lastOp.toString().length == 1 && ((lastOp >= "0" && lastOp <= "9") || lastOp == ".") ) {
- display.text = display.text + op.toString()
- } else {
- display.text = op
- }
- lastOp = op
- return
- }
- lastOp = op
-
- if (display.currentOperation.text == "+") {
- display.text = Number(display.text.valueOf()) + Number(curVal.valueOf())
- } else if (display.currentOperation.text == "-") {
- display.text = Number(curVal) - Number(display.text.valueOf())
- } else if (display.currentOperation.text == multiplication) {
- display.text = Number(curVal) * Number(display.text.valueOf())
- } else if (display.currentOperation.text == division) {
- display.text = Number(Number(curVal) / Number(display.text.valueOf())).toString()
- } else if (display.currentOperation.text == "=") {
- }
-
- if (op == "+" || op == "-" || op == multiplication || op == division) {
- display.currentOperation.text = op
- curVal = display.text.valueOf()
- return
- }
-
- curVal = 0
- display.currentOperation.text = ""
-
- if (op == "1/x") {
- display.text = (1 / display.text.valueOf()).toString()
- } else if (op == "x^2") {
- display.text = (display.text.valueOf() * display.text.valueOf()).toString()
- } else if (op == "Abs") {
- display.text = (Math.abs(display.text.valueOf())).toString()
- } else if (op == "Int") {
- display.text = (Math.floor(display.text.valueOf())).toString()
- } else if (op == plusminus) {
- display.text = (display.text.valueOf() * -1).toString()
- } else if (op == squareRoot) {
- display.text = (Math.sqrt(display.text.valueOf())).toString()
- } else if (op == "mc") {
- memory = 0;
- } else if (op == "m+") {
- memory += display.text.valueOf()
- } else if (op == "mr") {
- display.text = memory.toString()
- } else if (op == "m-") {
- memory = display.text.valueOf()
- } else if (op == leftArrow) {
- display.text = display.text.toString().slice(0, -1)
- if (display.text.length == 0) {
- display.text = "0"
- }
- } else if (op == "Off") {
- Qt.quit();
- } else if (op == "C") {
- display.text = "0"
- } else if (op == "AC") {
- curVal = 0
- memory = 0
- lastOp = ""
- display.text ="0"
- }
-}
-
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-.png b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-.png
deleted file mode 100644
index 544e5145..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-blue.png b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-blue.png
deleted file mode 100644
index 5f92de32..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-blue.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-green.png b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-green.png
deleted file mode 100644
index 36c93914..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-green.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-purple.png b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-purple.png
deleted file mode 100644
index 347cbbea..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-purple.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-red.png b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-red.png
deleted file mode 100644
index 3b335891..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/button-red.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/display.png b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/display.png
deleted file mode 100644
index 9507f438..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/images/display.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/qmldir b/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/qmldir
deleted file mode 100644
index a926b93f..00000000
--- a/demos/quick3d/robo_bounce/qml/Calculator/CalculatorCore/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-Button Button.qml
-Display Display.qml
diff --git a/demos/quick3d/robo_bounce/qml/RoboBounce.qml b/demos/quick3d/robo_bounce/qml/RoboBounce.qml
deleted file mode 100644
index e1a1255d..00000000
--- a/demos/quick3d/robo_bounce/qml/RoboBounce.qml
+++ /dev/null
@@ -1,612 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "Calculator"
-import "RobotCore"
-
-Image {
- objectName: "tronscape image"
- property real eyeSeparation: 0.0 //Eye separation: 0.1 for 3d, 0.0 for standard
- property real repeatAnimationTimer: 30; //Auto click the 'start' button this often
-
- id: theBackground
- width: parent.width
- height: parent.height
- source: "Assets/tronscape.png"
-
- focus: true
- Keys.onSpacePressed: {
- heartbeat.restart();
- qt3dButton.bounce = true;
- console.log("Hide Calc")
- if (calc.state=="hidden") {
- calc.state="shown"
-
- } else {
- calc.state = "hidden"
- };
- }
- Keys.onLeftPressed: {
- console.log("Rotate Key Pressed");
- heartbeat.restart();
- room.spinning = true;
- }
- Keys.onRightPressed: {
- console.log("Box Drop Key pressed");
- heartbeat.restart();
- smallCube.fallingCubeAnimation=true;
- }
- Keys.onUpPressed: {
- console.log("Info Key Pressed");
- heartbeat.restart();
- roboInfo.showVisible=true
- }
- Keys.onPressed: {
- heartbeat.restart();
- if (event.key==Qt.Key_A) {
- navigator.spindir=1
- } else if (event.key==Qt.Key_D) {
- navigator.spindir=2
- } else if (event.key==Qt.Key_W) {
- navigator.tiltdir=1
- } else if (event.key==Qt.Key_S) {
- navigator.tiltdir=2
- } else if (event.key==Qt.Key_Plus) {
- navigator.zoomdir=1
- } else if (event.key==Qt.Key_Minus) {
- navigator.zoomdir=2
- }
- }
- Keys.onReleased: {
- heartbeat.restart();
- if (event.key==Qt.Key_A) {
- navigator.spindir=0
- } else if (event.key==Qt.Key_D) {
- navigator.spindir=0
- } else if (event.key==Qt.Key_W) {
- navigator.tiltdir=0
- } else if (event.key==Qt.Key_S) {
- navigator.tiltdir=0
- } else if (event.key==Qt.Key_Plus) {
- navigator.zoomdir=0
- } else if (event.key==Qt.Key_Minus) {
- navigator.zoomdir=0
- }
- }
-
- Timer {
- id: navigator;
- interval: 5;
- running: true
- repeat: true
- property int tiltdir: 0 //1 is forward, 2 is back
- property int spindir: 0 //1 is right, 2 is left
- property int zoomdir: 0 //1 is in, 2 is out
- onTriggered: {
- if (tiltdir==1) {roomTilt.angle=roomTilt.angle+0.5}
- else if (tiltdir==2) {roomTilt.angle=roomTilt.angle-0.5}
- if (spindir==1) {roomSpin.angle=roomSpin.angle+0.5}
- else if (spindir==2) {roomSpin.angle=roomSpin.angle-0.5}
- if (spindir==1) {roomSpin.angle=roomSpin.angle+0.5}
- else if (spindir==2) {roomSpin.angle=roomSpin.angle-0.5}
- if (zoomdir==1) {
- if (theCamera.fieldOfView>13) {
- theCamera.fieldOfView=theCamera.fieldOfView-0.5
- }
- } else if (zoomdir==2) {
- if (theCamera.fieldOfView<80) {
- theCamera.fieldOfView=theCamera.fieldOfView+0.5
- }
- }
- }
- }
-
-
- Timer {
- id: heartbeat;
- interval: theBackground.repeatAnimationTimer*1000;
- running: true
- repeat: true
- onTriggered: {
- qt3dButton.bounce = true;
- console.log("Hide Calc")
- if (calc.state=="hidden") {
- calc.state="shown"
- } else {
- calc.state = "hidden"
- }
- }
- }
-
- Viewport {
- objectName: "Viewport 3D"
- id: viewport
- width: parent.width
- height: parent.height
- navigation: true
- picking: true
- //showPicking: true
-
- Item {
- visible: false
- id: buttonPanel
- state: "panelUp"
- states: [
- State { name: "panelDown";},
- State { name: "panelUp";}
- ]
-
- transitions: [
- Transition {
- from: "*"
- to: "panelDown"
- SequentialAnimation {
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 10}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PauseAnimation{duration: 10}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 10}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 10}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PauseAnimation{duration: 10}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- }
- },
- Transition {
- from: "*"
- to: "panelUp"
- SequentialAnimation {
- onStarted: { console.log("Panel Up"); }
- NumberAnimation {target: buttonPanel; property: opacity; to: 0; duration: 2000;}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- }
- }
- ]
-
- Rectangle {
- id: buttonBox1
- x: viewport.width-175
- y: 10
- width: 160
- height: 60
- opacity: 0.5
- color: "black"
- border.color: "#2D918D"
- border.width: 2
- radius: 5
- }
- PushButton {
- source: "Assets/rotateButton2.png"
- x: buttonBox1.x+10
- y: buttonBox1.y+10
- onPressed: {
- console.log("Rotate Pressed");
- room.spinning = true;
- heartbeat.restart();
- }
- }
- PushButton {
- source: "Assets/cubeButton.png"
- x: buttonBox1.x+60
- y: buttonBox1.y+10
- onPressed: {
- console.log("Box button pressed");
- smallCube.fallingCubeAnimation=true;
- heartbeat.restart();
- }
- }
- PushButton {
- source: "Assets/infobutton.png"
- x: buttonBox1.x+110
- y: buttonBox1.y+10
- onPressed: {
- console.log("Info Button Pressed");
- roboInfo.showVisible=true
- heartbeat.restart();
- }
- }
- }
-
- Rectangle {
- id: roboInfo
- x: 5
- y: 85
- width: 150
- height: 175
- opacity: 0.0
- color: "black"
- property bool showVisible: false
- border.color: "#2D918D"
- border.width: 2
- radius: 5
- Image {
- source: "Assets/roboInfo.png"
- }
-
- SequentialAnimation {
- running: roboInfo.showVisible
- NumberAnimation {target: roboInfo; property: "opacity"; to: 0.7; duration: 500}
- PauseAnimation {duration: 3000}
- NumberAnimation {target: roboInfo; property: "opacity"; to: 0.0; duration: 500}
- onCompleted: {roboInfo.showVisible=false}
- }
- }
-
- Calculator {
- id: calc
- }
-
- Image {
- id: qt3dButton
- source: "Assets/sQt3D_logo.png"
- property bool bounce: false
-
- x: 10
- y: 5
- width: 110
- height: 70
-
- SequentialAnimation {
- running: qt3dButton.bounce
- NumberAnimation {target: qt3dButton; property: "scale"; duration: 100; to: 1.2;}
- NumberAnimation {target: qt3dButton; property: "scale"; duration: 100; to: 1;}
- onCompleted: {qt3dButton.bounce = false}
- }
-
- MouseArea {
- id: qt3dActivate
- anchors.fill: parent
- onClicked: {
- heartbeat.restart();
- qt3dButton.bounce = true;
- console.log("Hide Calc")
- if (calc.state=="hidden") {
- calc.state="shown"
- } else {
- calc.state = "hidden"
- }
- }
- }
- }
-
- camera: Camera {
- id: theCamera
- eye: Qt.vector3d(0, 2, 10)
- nearPlane:2.5
- center: Qt.vector3d(0,2,0)
- fieldOfView: 12
- eyeSeparation: theBackground.eyeSeparation
- }
-
- Item3D {
- id: scene
-
- states: [
- State { name: "qmlView"; when: calc.visible},
- State { name: "threedView"; when: !calc.visible }
- ]
-
- transitions: [
- Transition {
- from: "*"
- to: "qmlView"
- SequentialAnimation {
- PropertyAction{target: roomSpin; property: "angle"; value: 0}
- PropertyAction{target: roomTilt; property: "angle"; value: 0}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PropertyAction{target: theCamera; property: "eye"; value: Qt.vector3d(0, 2, 10)}
- PropertyAction{target: theCamera; property: "fieldOfView"; value: 11.45}
- PropertyAction{target: spinSign; property: "angle"; value: 0}
- PropertyAction{target: robot; property: "position"; value: Qt.vector3d(0,10,4)}
- PropertyAction{target: pitch; property: "angle"; value: -15}
- PropertyAction{target: roll; property: "angle"; value: 0}
- PropertyAction{target: yaw; property: "angle"; value: 0}
- PropertyAction{target: spinSign; property: "angle"; value: 0}
- PropertyAction{target: innerCube; property: "scale"; value: 0.95}
- PropertyAction{target: signCube; property: "scale"; value: 2.375}
- PropertyAction{target: headroll; property: "angle"; value: -45}
- }
- },
- Transition {
- from: "*"
- to: "threedView"
- SequentialAnimation {
- onStarted: {console.log("start")}
- SequentialAnimation {
- NumberAnimation { target: theCamera; property: "fieldOfView"; to: 20; duration: 1000; easing.type: "InOutQuad" }
- ParallelAnimation {
- NumberAnimation { target: spinSign; property: "angle"; to: 720; duration: 500; easing.type: "InOutQuad"}
- NumberAnimation { target: innerCube; property: "scale"; to: 1.01; duration: 500}
- }
- }
- PauseAnimation {duration: 1000}
- ParallelAnimation {
- NumberAnimation {target: theCamera; property: "fieldOfView"; to: 40;
- duration: 1000; easing.type: "InOutQuad"}
- Vector3dAnimation {target: theCamera; property: "eye"; to: Qt.vector3d(0,4,10);
- duration: 2500; easing.type: "InOutQuad"
- }
- }
- PauseAnimation {duration: 1000}
- NumberAnimation {target: signCube; property: "scale"; to: 0.0; duration: 2500; easing.type: "InOutQuad"}
- Vector3dAnimation {target: robot; property: "position"; to: Qt.vector3d(0,0,4); duration: 1000; easing.type: "OutBounce"}
- PauseAnimation {duration: 500}
- NumberAnimation { target:pitch; property: "angle"; to: -90; duration: 2500; easing.type: "InOutElastic"}
- NumberAnimation { target: theCamera; property: "fieldOfView"; to: 20; duration: 1000; easing.type: "InOutQuad" }
- NumberAnimation { target: headroll; property: "angle"; to: 0; duration: 500; easing.type: "OutElastic"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 00; duration: 100; easing.type: "OutQuad"}
- NumberAnimation { target: theCamera; property: "fieldOfView"; to: 40; duration: 1000; easing.type: "InOutQuad" }
- PauseAnimation{duration: 1000}
- ParallelAnimation {
- SequentialAnimation {
- NumberAnimation {target: roll; property: "angle"; to: -20; duration: 500; easing.type: "InOutBack"}
- PauseAnimation{duration: 1000}
- NumberAnimation {target: roll; property: "angle"; to: 0; duration: 500; easing.type: "InOutBack"}
- }
- Vector3dAnimation {target: robot; property: "position"; to: Qt.vector3d(0,0,0); duration: 2000; easing.type: "InOutBack"}
- }
- PauseAnimation{duration: 500}
- SequentialAnimation {
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 50}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PauseAnimation{duration: 40}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 100}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PauseAnimation{duration: 40}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 150}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PauseAnimation{duration: 40}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- PauseAnimation{duration: 300}
- PropertyAction{target: buttonPanel; property: "visible"; value: false}
- PauseAnimation{duration: 40}
- PropertyAction{target: buttonPanel; property: "visible"; value: true}
- }
- }
- }
- ]
-
- effect: Effect{}
-
- Light {position: Qt.vector3d(20,5,00)}
-
-
- Item3D {
- id: room
- property bool spinning: false
- transform: [
- Rotation3D{id: roomTilt; angle: 0; axis: Qt.vector3d(1,0,0)},
- Rotation3D{id: roomSpin; angle: 0; axis: Qt.vector3d(0,1,0)}
- ]
-
-
- NumberAnimation {
- running: room.spinning
- target: roomSpin
- property: "angle"
- to: 360
- duration: 3000
- easing.type: "InOutQuad"
- onCompleted: {
- room.spinning=false
- roomSpin.angle=0
- }
- }
-
- TronCube {
- id: smallCube
- property bool fallingCubeAnimation: false
- position: Qt.vector3d(0,5,0)
-
- onClicked: {
- heartbeat.restart();
- console.log("Small cube clicked");
- smallCube.fallingCubeAnimation=true;
- }
-
- transform: [
- Rotation3D {id: spinSmallCube; angle: 0; axis: Qt.vector3d(0,1,0)}
- ]
-
- SequentialAnimation {
- running: smallCube.fallingCubeAnimation
- onCompleted: {smallCube.fallingCubeAnimation=false;}
- ParallelAnimation {
- NumberAnimation {target: spinSmallCube; property: "angle"; to: 360; easing.type: "InOutQuad"; duration: 1750}
- SequentialAnimation {
- Vector3dAnimation {target: smallCube; property: "position"; to: Qt.vector3d(0,3.2,0); easing.type: "InQuad"; duration: 250}
- PropertyAction {target: robotHead; property: "z"; value: -9.0;}
- ParallelAnimation {
- NumberAnimation {target: smallCube; property: "x"; to: 2; easing.type: "Linear"; duration: 1500}
- SequentialAnimation {
- NumberAnimation {target: smallCube; property: "y"; to: 4.5; easing.type: "OutQuad"; duration: 250}
- NumberAnimation {target: smallCube; property: "y"; to: 0.5; easing.type: "OutBounce"; duration: 1250}
- }
- }
- }
- }
- PauseAnimation {duration: 500 }
- NumberAnimation { target: robotHead; property: "z"; to: -9.2; easing.type: "OutBounce"; duration: 250 }
- PauseAnimation {duration: 500 }
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: -30; duration: 70; easing.type: "InOutQuad"}
- NumberAnimation { target: headyaw; property: "angle"; to: 00; duration: 100; easing.type: "OutQuad"}
- NumberAnimation { target: yaw; property: "angle"; to: 90; duration: 250; easing.type: "InOutQuad"}
- NumberAnimation { target: armBend; property: "angle"; to: -45; duration: 500; easing.type: "InOutQuad"}
- ParallelAnimation {
- NumberAnimation { target: robot; property: "x"; to: 0.5; duration: 500; easing.type: "InQuad"}
- NumberAnimation { target: roll; property: "angle"; to: 30; duration: 500; easing.type: "InOutQuad"}
- }
- ParallelAnimation {
- NumberAnimation { target: robot; property: "x"; to: 3.5; duration: 1000; easing.type: "Linear"}
- NumberAnimation { target: smallCube; property: "x"; to: 5; duration: 1000; easing.type: "Linear"}
- }
- ParallelAnimation {
- NumberAnimation { target: smallCube; property: "x"; to: 8; duration: 1000; easing.type: "Linear"}
- SequentialAnimation {
- PauseAnimation { duration: 250}
- NumberAnimation { target: smallCube; property: "y"; to: -5; duration: 750; easing.type: "InQuad"}
- }
- ParallelAnimation {
- SequentialAnimation {
- NumberAnimation {target: roll; property: "angle"; to: -10; duration: 750; easing.type: "InOutBack"}
- PauseAnimation{duration: 1500}
- NumberAnimation {target: roll; property: "angle"; to: 0; duration: 750; easing.type: "InOutBack"}
- }
- Vector3dAnimation {target: robot; property: "position"; to: Qt.vector3d(0,0,0); duration: 3000; easing.type: "InOutBack"}
- }
- }
- NumberAnimation { target: yaw; property: "angle"; to: 0; duration: 250; easing.type: "InOutQuad"}
- NumberAnimation { target: armBend; property: "angle"; to: -90; duration: 500; easing.type: "InOutQuad"}
- PauseAnimation { duration: 1000 }
- PropertyAction {target: smallCube; property: "position"; value: Qt.vector3d(0,10,0)}
- NumberAnimation { target: smallCube; property: "y"; to: 5; duration: 1000; easing.type: "OutQuad"}
- }
- }
-
- TronCube {
- scale: 10.0
- onClicked: {
- heartbeat.restart();
- console.log("Big cube clicked");
- room.spinning = true;
- }
- }
-
- Cube {
- id: signCube
- scale: 2.375
- position: Qt.vector3d(0,2,0)
- effect: calcEffect
- transform: [
- Rotation3D{id: spinSign; angle: 180; axis:Qt.vector3d(0,1,0)}
- ]
-
- Cube {
- id: innerCube
- scale: 0.95
- effect: signEffect
- }
-
- Effect {
- id: signEffect
- color: "#aaca00"
- texture: "Assets/QML3DSign.png"
- decal: true
- }
-
- Effect {
- id: calcEffect
- color: "#aaca00"
- texture: "Assets/calculatorSign.png"
- decal: true
- }
- }
-
- Robot {
- id: robot
- position: Qt.vector3d(0,0,4)
-
- onClicked: {
- heartbeat.restart();
- console.log("robot has been clicked")
- roboInfo.showVisible=true
- }
-
- transform: [
- Rotation3D {id: correct; angle: 90; axis: Qt.vector3d(0,1,0)},
- Rotation3D {id: pitch; angle: -90; axis: Qt.vector3d(0,0,1)},
- Rotation3D {id: roll; angle: 0; axis: Qt.vector3d(1,0,0)},
- Rotation3D {id: yaw; angle: 0; axis: Qt.vector3d(0,1,0)}
- ]
-
- Item3D {
- id: robotArms
- mesh: Mesh { source: "Assets/roboticArms.3ds"}
- transform: Rotation3D{id: armBend; angle: -90;axis: Qt.vector3d(0,1,0)}
- position: Qt.vector3d(.18, 0,-5.4)
-
- SequentialAnimation {
- running: false
- loops: 100
- NumberAnimation {target: armBend; property: "angle"; to: 0.0; duration: 1000; easing.type: "OutQuad" }
- PauseAnimation {duration: 1000}
- NumberAnimation {target: armBend; property: "angle"; to: -90.0; duration: 1000; easing.type: "OutQuad" }
- }
- }
-
- Item3D {
- id: robotHead
- mesh: Mesh { source: "Assets/roboticHead.3ds" }
- position: Qt.vector3d(0,0,-9.1)
- transform: [
- Rotation3D {id: headyaw; angle: 0; axis: Qt.vector3d(0,0,1)},
- Rotation3D {id: headroll; angle: -45; axis: Qt.vector3d(1,0,0)},
- Rotation3D {id: headpitch; angle: 0; axis: Qt.vector3d(0,1,0)}
- ]
- }
- }
- }
- }
- }
-}
diff --git a/demos/quick3d/robo_bounce/qml/RobotCore/PushButton.qml b/demos/quick3d/robo_bounce/qml/RobotCore/PushButton.qml
deleted file mode 100644
index 147eb387..00000000
--- a/demos/quick3d/robo_bounce/qml/RobotCore/PushButton.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Image {
- id: theButton
- property bool bounce: false
- source: "../Assets/button.png"
- width: 40
- height: 40
-
- signal pressed
-
- SequentialAnimation {
- running: theButton.bounce
- NumberAnimation {target: theButton; property: "scale"; duration: 50; to: 0.8;}
- NumberAnimation {target: theButton; property: "scale"; duration: 50; to: 1;}
- onCompleted: {theButton.bounce = false}
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- theButton.bounce=true
- theButton.pressed()
- }
- }
-}
-
-
diff --git a/demos/quick3d/robo_bounce/qml/RobotCore/QMLPanels.qml b/demos/quick3d/robo_bounce/qml/RobotCore/QMLPanels.qml
deleted file mode 100644
index 4377ad9c..00000000
--- a/demos/quick3d/robo_bounce/qml/RobotCore/QMLPanels.qml
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Item {
- Rectangle {
- id: buttonBox1
- x: 30
- y: 110
- width: 60
- height: 160
- opacity: 0.5
- color: "black"
- border.color: "#2D918D"
- border.width: 2
- radius: 5
- }
- PushButton {
- x: buttonBox1.x+10
- y: buttonBox1.y+10
- }
- PushButton {
- x: buttonBox1.x+10
- y: buttonBox1.y+60
- }
- PushButton {
- x: buttonBox1.x+10
- y: buttonBox1.y+110
- }
-
- Rectangle {
- id: buttonBox2
- x: 550
- y: 110
- width: 60
- height: 160
- opacity: 0.5
- color: "black"
- border.color: "#2D918D"
- border.width: 2
- radius: 5
- }
- PushButton {
- x: buttonBox2.x+10
- y: buttonBox2.y+10
- }
- PushButton {
- x: buttonBox2.x+10
- y: buttonBox2.y+60
- }
- PushButton {
- x: buttonBox2.x+10
- y: buttonBox2.y+110
- }
-
- states: [
- State {},
- State {}
-
- ]
-}
-
-
diff --git a/demos/quick3d/robo_bounce/qml/RobotCore/Robot.qml b/demos/quick3d/robo_bounce/qml/RobotCore/Robot.qml
deleted file mode 100644
index 0b1eed13..00000000
--- a/demos/quick3d/robo_bounce/qml/RobotCore/Robot.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Item3D {
- id: robot1
- scale: 0.3
- mesh: Mesh { id: roboMesh; source: "../Assets/roboticBody.3ds"; }
- effect: Effect {}
-}
-
-
diff --git a/demos/quick3d/robo_bounce/qml/RobotCore/TronCube.qml b/demos/quick3d/robo_bounce/qml/RobotCore/TronCube.qml
deleted file mode 100644
index 3d56a045..00000000
--- a/demos/quick3d/robo_bounce/qml/RobotCore/TronCube.qml
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-
-Cube {
- effect: Effect {color: "#aaaaaa"; texture: "../Assets/qtlogo.png"; decal: true}
- position: Qt.vector3d(0,-5.01, 0)
-}
-
-
diff --git a/demos/quick3d/robo_bounce/qml/desktop.qml b/demos/quick3d/robo_bounce/qml/desktop.qml
deleted file mode 100644
index bcae3087..00000000
--- a/demos/quick3d/robo_bounce/qml/desktop.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "."
-
-Item {
- width: 640
- height: 480
-
- RoboBounce {
- }
-}
diff --git a/demos/quick3d/robo_bounce/qtquick3d.ico b/demos/quick3d/robo_bounce/qtquick3d.ico
deleted file mode 100644
index b3b85e37..00000000
--- a/demos/quick3d/robo_bounce/qtquick3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/robo_bounce/robo_bounce.desktop b/demos/quick3d/robo_bounce/robo_bounce.desktop
deleted file mode 100644
index a143dccf..00000000
--- a/demos/quick3d/robo_bounce/robo_bounce.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=RoboBounce
-Icon=icon-l-qtquick3d
-Exec=/usr/bin/robo_bounce -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_robo_bounce
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/quick3d/robo_bounce/robo_bounce.pro b/demos/quick3d/robo_bounce/robo_bounce.pro
deleted file mode 100644
index 1b5fc63a..00000000
--- a/demos/quick3d/robo_bounce/robo_bounce.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = app
-TARGET = robo_bounce
-QT += declarative quick
-
-SOURCES += main.cpp
-
-INSTALL_DIRS = qml
-mt: INSTALL_FILES = mt.qml
-
-CONFIG += qt3d_deploy_qml
-include(../../../pkg.pri)
-qtcAddDeployment()
-
-OTHER_FILES += \
- robo_bounce.rc
-
-RC_FILE = robo_bounce.rc
-
-RESOURCES += \
- robo_bounce.qrc
-
diff --git a/demos/quick3d/robo_bounce/robo_bounce.qmlproject b/demos/quick3d/robo_bounce/robo_bounce.qmlproject
deleted file mode 100644
index 37c467f1..00000000
--- a/demos/quick3d/robo_bounce/robo_bounce.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-import QmlProject 1.0
-
-Project {
- /* Include .qml, .js, and image files from current directory and subdirectories */
- QmlFiles {
- directory: "."
- }
- JavaScriptFiles {
- directory: "."
- }
- ImageFiles {
- directory: "."
- }
- /* List of plugin directories passed to QML runtime */
- importPaths: [".", "../../imports/"]
-}
diff --git a/demos/quick3d/robo_bounce/robo_bounce.qrc b/demos/quick3d/robo_bounce/robo_bounce.qrc
deleted file mode 100644
index 9abffa65..00000000
--- a/demos/quick3d/robo_bounce/robo_bounce.qrc
+++ /dev/null
@@ -1,35 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>qml/Assets/button.png</file>
- <file>qml/Assets/calculatorSign.png</file>
- <file>qml/Assets/cubeButton.png</file>
- <file>qml/Assets/hazard.png</file>
- <file>qml/Assets/infobutton.png</file>
- <file>qml/Assets/QML3DSign.png</file>
- <file>qml/Assets/qtlogo.png</file>
- <file>qml/Assets/roboInfo.png</file>
- <file>qml/Assets/roboticArms.3ds</file>
- <file>qml/Assets/roboticBody.3ds</file>
- <file>qml/Assets/roboticHead.3ds</file>
- <file>qml/Assets/rotateButton2.png</file>
- <file>qml/Assets/sQt3D_logo.png</file>
- <file>qml/Assets/tronscape.png</file>
- <file>qml/Calculator/Calculator.qml</file>
- <file>qml/Calculator/CalculatorCore/Button.qml</file>
- <file>qml/Calculator/CalculatorCore/calculator.js</file>
- <file>qml/Calculator/CalculatorCore/Display.qml</file>
- <file>qml/Calculator/CalculatorCore/qmldir</file>
- <file>qml/Calculator/CalculatorCore/images/button-.png</file>
- <file>qml/Calculator/CalculatorCore/images/button-blue.png</file>
- <file>qml/Calculator/CalculatorCore/images/button-green.png</file>
- <file>qml/Calculator/CalculatorCore/images/button-purple.png</file>
- <file>qml/Calculator/CalculatorCore/images/button-red.png</file>
- <file>qml/Calculator/CalculatorCore/images/display.png</file>
- <file>qml/RobotCore/PushButton.qml</file>
- <file>qml/RobotCore/QMLPanels.qml</file>
- <file>qml/RobotCore/Robot.qml</file>
- <file>qml/RobotCore/TronCube.qml</file>
- <file>qml/RoboBounce.qml</file>
- <file>qml/desktop.qml</file>
- </qresource>
-</RCC>
diff --git a/demos/quick3d/robo_bounce/robo_bounce.rc b/demos/quick3d/robo_bounce/robo_bounce.rc
deleted file mode 100644
index 1b6228c9..00000000
--- a/demos/quick3d/robo_bounce/robo_bounce.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qtquick3d.ico"
diff --git a/demos/quick3d/tea_service/icon-l-qtquick3d.png b/demos/quick3d/tea_service/icon-l-qtquick3d.png
deleted file mode 100644
index 69deef3f..00000000
--- a/demos/quick3d/tea_service/icon-l-qtquick3d.png
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/tea_service/info.json b/demos/quick3d/tea_service/info.json
deleted file mode 100644
index 6b244e8c..00000000
--- a/demos/quick3d/tea_service/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "info-version": "1.0",
- "dict": {
- "Category": "application",
- "Runtime": "qml",
- "DisplayName": "Tea Service QML",
- "Subcategory": "utility",
- "MainQML": "mt.qml",
- "Version": "1.0",
- "Identifier": "com.nokia.qtquick3d.teaserviceqml",
- "Depends": {
- "com.nokia.components": "1.0",
- },
- "Summary": "Tea Service QML Demo"
- }
-}
diff --git a/demos/quick3d/tea_service/m5-tea_service.desktop b/demos/quick3d/tea_service/m5-tea_service.desktop
deleted file mode 100644
index 5281703e..00000000
--- a/demos/quick3d/tea_service/m5-tea_service.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Name=Tea Service
-Comment=Qt3D example application
-Exec=/usr/bin/tea_service -fullscreen
-Icon=icon-l-qtquick3d
-Terminal=false
-Type=Application
-Categories=Development;
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-X-Text-Domain=qt3d
-
diff --git a/demos/quick3d/tea_service/main.cpp b/demos/quick3d/tea_service/main.cpp
deleted file mode 100644
index fb0a2b36..00000000
--- a/demos/quick3d/tea_service/main.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../qmlres.h"
-
-QUICK3D_EXAMPLE_MAIN("qml/desktop.qml")
diff --git a/demos/quick3d/tea_service/mt.qml b/demos/quick3d/tea_service/mt.qml
deleted file mode 100644
index 11c21d7d..00000000
--- a/demos/quick3d/tea_service/mt.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "qml"
-
-Item {
- width: 320
- height: 480
-
- TeaService {
- }
-}
diff --git a/demos/quick3d/tea_service/qml/TeaService.qml b/demos/quick3d/tea_service/qml/TeaService.qml
deleted file mode 100644
index d34c69e7..00000000
--- a/demos/quick3d/tea_service/qml/TeaService.qml
+++ /dev/null
@@ -1,384 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-
-Viewport {
- width: parent.width
- height: parent.height
- picking: true
- renderMode: "DirectRender"
-
- camera: Camera {
- eye: Qt.vector3d(0, 3, 10)
- }
-
- Item3D {
- id: teapot
- transform: [
- Rotation3D {
- id: teapot_rotate1
- angle: 0
- axis: Qt.vector3d(0, 1, 0)
- },
- Rotation3D {
- id: teapot_rotate2
- angle: 0
- axis: Qt.vector3d(0, 0, 1)
- }
- ]
- property bool bounce: false
-
- Item3D {
- id: body
- mesh: Mesh { source: "teapot-body.bez" }
- effect: Effect {
- material: china
- }
-
- onHoverEnter: { effect.material = china_highlight }
- onHoverLeave: { effect.material = china }
- onClicked: { teapot.bounce = true }
- }
-
- Item3D {
- id: handle
- mesh: Mesh { source: "teapot-handle.bez" }
- effect: Effect {
- material: china
- }
-
- onHoverEnter: { effect.material = china_highlight }
- onHoverLeave: { effect.material = china }
- onClicked: {
- if (teapot.state == "facing_left" ||
- teapot.state == "pour_left") {
- teapot.state = "facing_right";
- } else if (teapot.state == "facing_right" ||
- teapot.state == "pour_right") {
- teapot_rotate1.angle = 0;
- teapot.state = "facing_left";
- } else {
- teapot.state = "facing_left";
- }
- }
- }
-
- Item3D {
- id: spout
- mesh: Mesh { source: "teapot-spout.bez" }
- effect: Effect {
- material: china
- }
-
- onHoverEnter: { effect.material = china_highlight }
- onHoverLeave: { effect.material = china }
- onClicked: {
- if (teapot.state == "facing_left") {
- teapot.state = "pour_left";
- } else if (teapot.state == "pour_left") {
- teapot.state = "facing_left";
- teapot.state = "pour_left";
- } else if (teapot.state == "pour_right" ||
- teapot.state == "facing_right") {
- teapot.state = "";
- teapot_rotate1.angle = 0;
- teapot.state = "pour_right";
- } else {
- teapot.state = "pour_right";
- }
- }
- }
-
- SequentialAnimation on y{
- running: teapot.bounce
- NumberAnimation { to : 1.0; duration: 300; easing.type: "OutQuad" }
- NumberAnimation { to : 0.0; duration: 300; easing.type: "OutBounce" }
- onCompleted: teapot.bounce = false
- }
-
- states: [
- State {
- name: "facing_left"
- PropertyChanges {
- target: teapot_rotate1
- angle: 180
- }
- },
- State {
- name: "facing_right"
- PropertyChanges {
- target: teapot_rotate1
- angle: 360
- }
- },
- State {
- name: "pour_left"
- PropertyChanges {
- target: teapot
- y: 0
- }
- PropertyChanges {
- target: teapot
- x: 0
- }
- PropertyChanges {
- target: teapot_rotate1
- angle: 180
- }
- PropertyChanges {
- target: teapot_rotate2
- angle: 0
- }
- },
- State {
- name: "pour_right"
- PropertyChanges {
- target: teapot
- y: 0
- }
- PropertyChanges {
- target: teapot
- x: 0
- }
- PropertyChanges {
- target: teapot_rotate2
- angle: 0
- }
- }
- ]
-
- transitions: [
- Transition {
- from: "*"
- to: "facing_left"
- NumberAnimation {
- targets: teapot_rotate1
- properties: "angle"
- duration: 300
- }
- },
- Transition {
- from: "*"
- to: "facing_right"
- NumberAnimation {
- targets: teapot_rotate1
- properties: "angle"
- duration: 300
- }
- },
- Transition {
- from: "*"
- to: "pour_left"
- SequentialAnimation {
- ParallelAnimation {
- NumberAnimation {
- target: teapot
- property: "y"
- duration: 500
- to: 1
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot
- property: "x"
- duration: 500
- to: -0.5
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot_rotate2
- property: "angle"
- duration: 500
- to: 45
- easing.type: "OutQuad"
- }
- }
- PauseAnimation { duration: 700 }
- ParallelAnimation {
- NumberAnimation {
- target: teapot
- property: "y"
- duration: 500
- to: 0
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot
- property: "x"
- duration: 500
- to: 0
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot_rotate2
- property: "angle"
- duration: 500
- to: 0
- easing.type: "OutQuad"
- }
- }
- }
- },
- Transition {
- from: "*"
- to: "pour_right"
- SequentialAnimation {
- ParallelAnimation {
- NumberAnimation {
- target: teapot
- property: "y"
- duration: 500
- to: 1
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot
- property: "x"
- duration: 500
- to: 0.5
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot_rotate2
- property: "angle"
- duration: 500
- to: -45
- easing.type: "OutQuad"
- }
- }
- PauseAnimation { duration: 700 }
- ParallelAnimation {
- NumberAnimation {
- target: teapot
- property: "y"
- duration: 500
- to: 0
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot
- property: "x"
- duration: 500
- to: 0
- easing.type: "OutQuad"
- }
- NumberAnimation {
- target: teapot_rotate2
- property: "angle"
- duration: 500
- to: 0
- easing.type: "OutQuad"
- }
- }
- }
- }
- ]
- }
-
- Teacup {
- id: teacup1
- position: Qt.vector3d(-2.3, -0.75, 0.0)
- }
-
- Teacup {
- id: teacup2
- position: Qt.vector3d(2.3, -0.75, 0.0)
- transform: Rotation3D {
- angle: 180
- axis: Qt.vector3d(0, 1, 0)
- }
- }
-
- Teaspoon {
- x: -1.7
- y: -0.58
- saucerY: teacup1.spoonY
- }
-
- Teaspoon {
- x: 1.7
- y: -0.58
- saucerY: teacup2.spoonY
- }
-
- Mesh {
- id: teacup_mesh
- source: "teacup.bez"
- }
-
- Mesh {
- id: teaspoon_mesh
- source: "teaspoon.bez"
- }
-
- Material {
- id: china
- ambientColor: "#c09680"
- specularColor: "#3c3c3c"
- shininess: 128
- }
-
- Material {
- id: china_highlight
- ambientColor: "#ffc000"
- specularColor: "#3c3c00"
- shininess: 128
- }
-
- Material {
- id: metal
- ambientColor: "#ffffff"
- diffuseColor: "#969696"
- specularColor: "#ffffff"
- shininess: 128
- }
-
- Material {
- id: metal_highlight
- ambientColor: "#ffff60"
- diffuseColor: "#969660"
- specularColor: "#ffffff"
- shininess: 128
- }
-}
diff --git a/demos/quick3d/tea_service/qml/Teacup.qml b/demos/quick3d/tea_service/qml/Teacup.qml
deleted file mode 100644
index 06ac75f7..00000000
--- a/demos/quick3d/tea_service/qml/Teacup.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Item3D {
- id: top
- property real spoonY
- property bool bounce: false
-
- Item3D {
- mesh: teacup_mesh
- effect: Effect {
- material: china
- }
-
- onHoverEnter: { effect.material = china_highlight }
- onHoverLeave: { effect.material = china }
- onClicked: { top.bounce = true }
-
- y: top.spoonY
- }
-
- SequentialAnimation on spoonY {
- running: top.bounce
- NumberAnimation { to : 1; duration: 300; easing.type:"OutQuad" }
- NumberAnimation { to : 0; duration: 300; easing.type:"OutBounce" }
- onCompleted: top.bounce = false
- }
-}
diff --git a/demos/quick3d/tea_service/qml/Teaspoon.qml b/demos/quick3d/tea_service/qml/Teaspoon.qml
deleted file mode 100644
index d92f7448..00000000
--- a/demos/quick3d/tea_service/qml/Teaspoon.qml
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-
-Item3D {
- id: "top"
- property real saucerY
- Item3D {
- id: teaspoon1
- property real y_lift
- y: Math.max(y_lift,top.saucerY)
- transform: Rotation3D {
- angle: 275
- axis: Qt.vector3d(1, 0, 0)
- }
- mesh: teaspoon_mesh
- effect: Effect {
- material: metal
- }
- property bool bounce: false
-
- onHoverEnter: { effect.material = metal_highlight }
- onHoverLeave: { effect.material = metal }
- onClicked: { teaspoon1.bounce = true }
-
- SequentialAnimation on y_lift {
- running: teaspoon1.bounce
- NumberAnimation { to : 1; duration: 300; easing.type:"OutQuad" }
- NumberAnimation { to : 0; duration: 300; easing.type:"OutBounce" }
- onCompleted: teaspoon1.bounce = false
- }
- }
-}
diff --git a/demos/quick3d/tea_service/qml/desktop.qml b/demos/quick3d/tea_service/qml/desktop.qml
deleted file mode 100644
index ad8eb7ea..00000000
--- a/demos/quick3d/tea_service/qml/desktop.qml
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Qt3D 1.0
-import Qt3D.Shapes 1.0
-import "."
-
-Item {
- width: 850
- height: 480
-
- TeaService {
- }
-}
diff --git a/demos/quick3d/tea_service/qml/teacup.bez b/demos/quick3d/tea_service/qml/teacup.bez
deleted file mode 100644
index f4dde3ef..00000000
--- a/demos/quick3d/tea_service/qml/teacup.bez
+++ /dev/null
@@ -1,280 +0,0 @@
-26
-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
-4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28
-19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40
-31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13
-13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60
-16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69
-28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78
-40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57
-193,194,195,196,197,198,199,200,201,202,203,204,1,2,3,4
-196,205,206,207,200,208,209,210,204,211,212,213,4,17,18,19
-207,214,215,216,210,217,218,219,213,220,221,222,19,29,30,31
-216,223,224,193,219,225,226,197,222,227,228,201,31,41,42,1
-229,230,231,28,232,233,234,235,236,237,238,239,240,241,242,243
-28,244,245,229,235,246,247,232,239,248,249,236,243,250,251,240
-57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96
-60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105
-69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114
-78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93
-93,94,95,96,121,122,123,124,125,126,127,128,129,130,131,132
-96,103,104,105,124,133,134,135,128,136,137,138,132,139,140,141
-105,112,113,114,135,142,143,144,138,145,146,147,141,148,149,150
-114,119,120,93,144,151,152,121,147,153,154,125,150,155,156,129
-129,130,131,132,157,158,159,160,161,162,163,164,165,166,167,168
-132,139,140,141,160,169,170,171,164,172,173,174,168,175,176,177
-141,148,149,150,171,178,179,180,174,181,182,183,177,184,185,186
-150,155,156,129,180,187,188,157,183,189,190,161,186,191,192,165
-251
-0.409091,0.772727,0.0
-0.409091,0.772727,-0.229091
-0.229091,0.772727,-0.409091
-0.0,0.772727,-0.409091
-0.409091,0.886364,0.0
-0.409091,0.886364,-0.229091
-0.229091,0.886364,-0.409091
-0.0,0.886364,-0.409091
-0.454545,0.886364,0.0
-0.454545,0.886364,-0.254545
-0.254545,0.886364,-0.454545
-0.0,0.886364,-0.454545
-0.454545,0.772727,0.0
-0.454545,0.772727,-0.254545
-0.254545,0.772727,-0.454545
-0.0,0.772727,-0.454545
--0.229091,0.772727,-0.409091
--0.409091,0.772727,-0.229091
--0.409091,0.772727,0.0
--0.229091,0.886364,-0.409091
--0.409091,0.886364,-0.229091
--0.409091,0.886364,0.0
--0.254545,0.886364,-0.454545
--0.454545,0.886364,-0.254545
--0.454545,0.886364,0.0
--0.254545,0.772727,-0.454545
--0.454545,0.772727,-0.254545
--0.454545,0.772727,0.0
--0.409091,0.772727,0.229091
--0.229091,0.772727,0.409091
-0.0,0.772727,0.409091
--0.409091,0.886364,0.229091
--0.229091,0.886364,0.409091
-0.0,0.886364,0.409091
--0.454545,0.886364,0.254545
--0.254545,0.886364,0.454545
-0.0,0.886364,0.454545
--0.454545,0.772727,0.254545
--0.254545,0.772727,0.454545
-0.0,0.772727,0.454545
-0.229091,0.772727,0.409091
-0.409091,0.772727,0.229091
-0.229091,0.886364,0.409091
-0.409091,0.886364,0.229091
-0.254545,0.886364,0.454545
-0.454545,0.886364,0.254545
-0.254545,0.772727,0.454545
-0.454545,0.772727,0.254545
-0.454545,0.545455,0.0
-0.454545,0.545455,-0.254545
-0.254545,0.545455,-0.454545
-0.0,0.545455,-0.454545
-0.454545,0.272727,0.0
-0.454545,0.272727,-0.254545
-0.254545,0.272727,-0.454545
-0.0,0.272727,-0.454545
-0.318182,0.0454545,0.0
-0.318182,0.0454545,-0.178182
-0.178182,0.0454545,-0.318182
-0.0,0.0454545,-0.318182
--0.254545,0.545455,-0.454545
--0.454545,0.545455,-0.254545
--0.454545,0.545455,0.0
--0.254545,0.272727,-0.454545
--0.454545,0.272727,-0.254545
--0.454545,0.272727,0.0
--0.178182,0.0454545,-0.318182
--0.318182,0.0454545,-0.178182
--0.318182,0.0454545,0.0
--0.454545,0.545455,0.254545
--0.254545,0.545455,0.454545
-0.0,0.545455,0.454545
--0.454545,0.272727,0.254545
--0.254545,0.272727,0.454545
-0.0,0.272727,0.454545
--0.318182,0.0454545,0.178182
--0.178182,0.0454545,0.318182
-0.0,0.0454545,0.318182
-0.254545,0.545455,0.454545
-0.454545,0.545455,0.254545
-0.254545,0.272727,0.454545
-0.454545,0.272727,0.254545
-0.178182,0.0454545,0.318182
-0.318182,0.0454545,0.178182
-0.545455,0.0454545,0.0
-0.545455,0.0454545,-0.305455
-0.305455,0.0454545,-0.545455
-0.0,0.0454545,-0.545455
-0.727273,0.136364,0.0
-0.727273,0.136364,-0.407273
-0.407273,0.136364,-0.727273
-0.0,0.136364,-0.727273
-0.909091,0.136364,0.0
-0.909091,0.136364,-0.509091
-0.509091,0.136364,-0.909091
-0.0,0.136364,-0.909091
--0.305455,0.0454545,-0.545455
--0.545455,0.0454545,-0.305455
--0.545455,0.0454545,0.0
--0.407273,0.136364,-0.727273
--0.727273,0.136364,-0.407273
--0.727273,0.136364,0.0
--0.509091,0.136364,-0.909091
--0.909091,0.136364,-0.509091
--0.909091,0.136364,0.0
--0.545455,0.0454545,0.305455
--0.305455,0.0454545,0.545455
-0.0,0.0454545,0.545455
--0.727273,0.136364,0.407273
--0.407273,0.136364,0.727273
-0.0,0.136364,0.727273
--0.909091,0.136364,0.509091
--0.509091,0.136364,0.909091
-0.0,0.136364,0.909091
-0.305455,0.0454545,0.545455
-0.545455,0.0454545,0.305455
-0.407273,0.136364,0.727273
-0.727273,0.136364,0.407273
-0.509091,0.136364,0.909091
-0.909091,0.136364,0.509091
-1.0,0.136364,0.0
-1.0,0.136364,-0.56
-0.56,0.136364,-1.0
-0.0,0.136364,-1.0
-1.0,0.0909091,0.0
-1.0,0.0909091,-0.56
-0.56,0.0909091,-1.0
-0.0,0.0909091,-1.0
-0.909091,0.0909091,0.0
-0.909091,0.0909091,-0.509091
-0.509091,0.0909091,-0.909091
-0.0,0.0909091,-0.909091
--0.56,0.136364,-1.0
--1.0,0.136364,-0.56
--1.0,0.136364,0.0
--0.56,0.0909091,-1.0
--1.0,0.0909091,-0.56
--1.0,0.0909091,0.0
--0.509091,0.0909091,-0.909091
--0.909091,0.0909091,-0.509091
--0.909091,0.0909091,0.0
--1.0,0.136364,0.56
--0.56,0.136364,1.0
-0.0,0.136364,1.0
--1.0,0.0909091,0.56
--0.56,0.0909091,1.0
-0.0,0.0909091,1.0
--0.909091,0.0909091,0.509091
--0.509091,0.0909091,0.909091
-0.0,0.0909091,0.909091
-0.56,0.136364,1.0
-1.0,0.136364,0.56
-0.56,0.0909091,1.0
-1.0,0.0909091,0.56
-0.509091,0.0909091,0.909091
-0.909091,0.0909091,0.509091
-0.727273,0.0909091,0.0
-0.727273,0.0909091,-0.407273
-0.407273,0.0909091,-0.727273
-0.0,0.0909091,-0.727273
-0.545455,0.0,0.0
-0.545455,0.0,-0.305455
-0.305455,0.0,-0.545455
-0.0,0.0,-0.545455
-0.318182,0.0,0.0
-0.318182,0.0,-0.178182
-0.178182,0.0,-0.318182
-0.0,0.0,-0.318182
--0.407273,0.0909091,-0.727273
--0.727273,0.0909091,-0.407273
--0.727273,0.0909091,0.0
--0.305455,0.0,-0.545455
--0.545455,0.0,-0.305455
--0.545455,0.0,0.0
--0.178182,0.0,-0.318182
--0.318182,0.0,-0.178182
--0.318182,0.0,0.0
--0.727273,0.0909091,0.407273
--0.407273,0.0909091,0.727273
-0.0,0.0909091,0.727273
--0.545455,0.0,0.305455
--0.305455,0.0,0.545455
-0.0,0.0,0.545455
--0.318182,0.0,0.178182
--0.178182,0.0,0.318182
-0.0,0.0,0.318182
-0.407273,0.0909091,0.727273
-0.727273,0.0909091,0.407273
-0.305455,0.0,0.545455
-0.545455,0.0,0.305455
-0.178182,0.0,0.318182
-0.318182,0.0,0.178182
-0.272727,0.0454545,0.0
-0.272727,0.0454545,-0.152727
-0.152727,0.0454545,-0.272727
-0.0,0.0454545,-0.272727
-0.409091,0.272727,0.0
-0.409091,0.272727,-0.229091
-0.229091,0.272727,-0.409091
-0.0,0.272727,-0.409091
-0.409091,0.545455,0.0
-0.409091,0.545455,-0.229091
-0.229091,0.545455,-0.409091
-0.0,0.545455,-0.409091
--0.152727,0.0454545,-0.272727
--0.272727,0.0454545,-0.152727
--0.272727,0.0454545,0.0
--0.229091,0.272727,-0.409091
--0.409091,0.272727,-0.229091
--0.409091,0.272727,0.0
--0.229091,0.545455,-0.409091
--0.409091,0.545455,-0.229091
--0.409091,0.545455,0.0
--0.272727,0.0454545,0.152727
--0.152727,0.0454545,0.272727
-0.0,0.0454545,0.272727
--0.409091,0.272727,0.229091
--0.229091,0.272727,0.409091
-0.0,0.272727,0.409091
--0.409091,0.545455,0.229091
--0.229091,0.545455,0.409091
-0.0,0.545455,0.409091
-0.152727,0.0454545,0.272727
-0.272727,0.0454545,0.152727
-0.229091,0.272727,0.409091
-0.409091,0.272727,0.229091
-0.229091,0.545455,0.409091
-0.409091,0.545455,0.229091
--0.454545,0.704545,0.0
--0.454545,0.704545,-0.0454545
--0.454545,0.772727,-0.0454545
--0.772727,0.863636,0.0
--0.772727,0.863636,-0.0454545
--0.818182,0.954545,-0.0454545
--0.818182,0.954545,0.0
--0.772727,0.522727,0.0
--0.772727,0.522727,-0.0454545
--0.909091,0.477273,-0.0454545
--0.909091,0.477273,0.0
--0.409091,0.363636,0.0
--0.409091,0.363636,-0.0454545
--0.409091,0.295455,-0.0454545
--0.409091,0.295455,0.0
--0.454545,0.772727,0.0454545
--0.454545,0.704545,0.0454545
--0.818182,0.954545,0.0454545
--0.772727,0.863636,0.0454545
--0.909091,0.477273,0.0454545
--0.772727,0.522727,0.0454545
--0.409091,0.295455,0.0454545
--0.409091,0.363636,0.0454545
-# reverse-patches
diff --git a/demos/quick3d/tea_service/qml/teapot-body.bez b/demos/quick3d/tea_service/qml/teapot-body.bez
deleted file mode 100644
index 614daf09..00000000
--- a/demos/quick3d/tea_service/qml/teapot-body.bez
+++ /dev/null
@@ -1,332 +0,0 @@
-24
-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
-4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28
-19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40
-31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13
-13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60
-16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69
-28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78
-40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57
-57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96
-60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105
-69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114
-78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93
-204,204,204,204,207,208,209,210,211,211,211,211,212,213,214,215,4
-204,204,204,204,210,217,218,219,211,211,211,211,215,220,221,222,4
-204,204,204,204,219,224,225,226,211,211,211,211,222,227,228,229,4
-204,204,204,204,226,230,231,207,211,211,211,211,229,232,233,212,4
-212,213,214,215,234,235,236,237,238,239,240,241,242,243,244,245
-215,220,221,222,237,246,247,248,241,249,250,251,245,252,253,254
-222,227,228,229,248,255,256,257,251,258,259,260,254,261,262,263
-229,232,233,212,257,264,265,234,260,266,267,238,263,268,269,242
-270,270,270,270,279,280,281,282,275,276,277,278,271,272,273,274,4
-270,270,270,270,282,289,290,291,278,286,287,288,274,283,284,285,4
-270,270,270,270,291,298,299,300,288,295,296,297,285,292,293,294,4
-270,270,270,270,300,305,306,279,297,303,304,275,294,301,302,271,4
-306
-0.700000,0.450000,-0.000000
-0.700000,0.450000,0.392000
-0.392000,0.450000,0.700000
-0.000000,0.450000,0.700000
-0.668750,0.515625,-0.000000
-0.668750,0.515625,0.374500
-0.374500,0.515625,0.668750
-0.000000,0.515625,0.668750
-0.718750,0.515625,-0.000000
-0.718750,0.515625,0.402500
-0.402500,0.515625,0.718750
-0.000000,0.515625,0.718750
-0.750000,0.450000,-0.000000
-0.750000,0.450000,0.420000
-0.420000,0.450000,0.750000
-0.000000,0.450000,0.750000
--0.392000,0.450000,0.700000
--0.700000,0.450000,0.392000
--0.700000,0.450000,-0.000000
--0.374500,0.515625,0.668750
--0.668750,0.515625,0.374500
--0.668750,0.515625,-0.000000
--0.402500,0.515625,0.718750
--0.718750,0.515625,0.402500
--0.718750,0.515625,-0.000000
--0.420000,0.450000,0.750000
--0.750000,0.450000,0.420000
--0.750000,0.450000,-0.000000
--0.700000,0.450000,-0.392000
--0.392000,0.450000,-0.700000
-0.000000,0.450000,-0.700000
--0.668750,0.515625,-0.374500
--0.374500,0.515625,-0.668750
-0.000000,0.515625,-0.668750
--0.718750,0.515625,-0.402500
--0.402500,0.515625,-0.718750
-0.000000,0.515625,-0.718750
--0.750000,0.450000,-0.420000
--0.420000,0.450000,-0.750000
-0.000000,0.450000,-0.750000
-0.392000,0.450000,-0.700000
-0.700000,0.450000,-0.392000
-0.374500,0.515625,-0.668750
-0.668750,0.515625,-0.374500
-0.402500,0.515625,-0.718750
-0.718750,0.515625,-0.402500
-0.420000,0.450000,-0.750000
-0.750000,0.450000,-0.420000
-0.875000,0.187500,-0.000000
-0.875000,0.187500,0.490000
-0.490000,0.187500,0.875000
-0.000000,0.187500,0.875000
-1.000000,-0.075000,-0.000000
-1.000000,-0.075000,0.560000
-0.560000,-0.075000,1.000000
-0.000000,-0.075000,1.000000
-1.000000,-0.300000,-0.000000
-1.000000,-0.300000,0.560000
-0.560000,-0.300000,1.000000
-0.000000,-0.300000,1.000000
--0.490000,0.187500,0.875000
--0.875000,0.187500,0.490000
--0.875000,0.187500,-0.000000
--0.560000,-0.075000,1.000000
--1.000000,-0.075000,0.560000
--1.000000,-0.075000,-0.000000
--0.560000,-0.300000,1.000000
--1.000000,-0.300000,0.560000
--1.000000,-0.300000,-0.000000
--0.875000,0.187500,-0.490000
--0.490000,0.187500,-0.875000
-0.000000,0.187500,-0.875000
--1.000000,-0.075000,-0.560000
--0.560000,-0.075000,-1.000000
-0.000000,-0.075000,-1.000000
--1.000000,-0.300000,-0.560000
--0.560000,-0.300000,-1.000000
-0.000000,-0.300000,-1.000000
-0.490000,0.187500,-0.875000
-0.875000,0.187500,-0.490000
-0.560000,-0.075000,-1.000000
-1.000000,-0.075000,-0.560000
-0.560000,-0.300000,-1.000000
-1.000000,-0.300000,-0.560000
-1.000000,-0.525000,-0.000000
-1.000000,-0.525000,0.560000
-0.560000,-0.525000,1.000000
-0.000000,-0.525000,1.000000
-0.750000,-0.637500,-0.000000
-0.750000,-0.637500,0.420000
-0.420000,-0.637500,0.750000
-0.000000,-0.637500,0.750000
-0.750000,-0.675000,-0.000000
-0.750000,-0.675000,0.420000
-0.420000,-0.675000,0.750000
-0.000000,-0.675000,0.750000
--0.560000,-0.525000,1.000000
--1.000000,-0.525000,0.560000
--1.000000,-0.525000,-0.000000
--0.420000,-0.637500,0.750000
--0.750000,-0.637500,0.420000
--0.750000,-0.637500,-0.000000
--0.420000,-0.675000,0.750000
--0.750000,-0.675000,0.420000
--0.750000,-0.675000,-0.000000
--1.000000,-0.525000,-0.560000
--0.560000,-0.525000,-1.000000
-0.000000,-0.525000,-1.000000
--0.750000,-0.637500,-0.420000
--0.420000,-0.637500,-0.750000
-0.000000,-0.637500,-0.750000
--0.750000,-0.675000,-0.420000
--0.420000,-0.675000,-0.750000
-0.000000,-0.675000,-0.750000
-0.560000,-0.525000,-1.000000
-1.000000,-0.525000,-0.560000
-0.420000,-0.637500,-0.750000
-0.750000,-0.637500,-0.420000
-0.420000,-0.675000,-0.750000
-0.750000,-0.675000,-0.420000
--0.800000,0.262500,-0.000000
--0.800000,0.262500,0.150000
--0.750000,0.375000,0.150000
--0.750000,0.375000,-0.000000
--1.150000,0.262500,-0.000000
--1.150000,0.262500,0.150000
--1.250000,0.375000,0.150000
--1.250000,0.375000,-0.000000
--1.350000,0.262500,-0.000000
--1.350000,0.262500,0.150000
--1.500000,0.375000,0.150000
--1.500000,0.375000,-0.000000
--1.350000,0.150000,-0.000000
--1.350000,0.150000,0.150000
--1.500000,0.150000,0.150000
--1.500000,0.150000,-0.000000
--0.750000,0.375000,-0.150000
--0.800000,0.262500,-0.150000
--1.250000,0.375000,-0.150000
--1.150000,0.262500,-0.150000
--1.500000,0.375000,-0.150000
--1.350000,0.262500,-0.150000
--1.500000,0.150000,-0.150000
--1.350000,0.150000,-0.150000
--1.350000,0.037500,-0.000000
--1.350000,0.037500,0.150000
--1.500000,-0.075000,0.150000
--1.500000,-0.075000,-0.000000
--1.250000,-0.187500,-0.000000
--1.250000,-0.187500,0.150000
--1.325000,-0.281250,0.150000
--1.325000,-0.281250,-0.000000
--1.000000,-0.300000,0.150000
--0.950000,-0.450000,0.150000
--0.950000,-0.450000,-0.000000
--1.500000,-0.075000,-0.150000
--1.350000,0.037500,-0.150000
--1.325000,-0.281250,-0.150000
--1.250000,-0.187500,-0.150000
--0.950000,-0.450000,-0.150000
--1.000000,-0.300000,-0.150000
-0.850000,-0.037500,-0.000000
-0.850000,-0.037500,0.330000
-0.850000,-0.450000,0.330000
-0.850000,-0.450000,-0.000000
-1.300000,-0.037500,-0.000000
-1.300000,-0.037500,0.330000
-1.550000,-0.337500,0.330000
-1.550000,-0.337500,-0.000000
-1.150000,0.300000,-0.000000
-1.150000,0.300000,0.125000
-1.200000,0.262500,0.125000
-1.200000,0.262500,-0.000000
-1.350000,0.450000,-0.000000
-1.350000,0.450000,0.125000
-1.650000,0.450000,0.125000
-1.650000,0.450000,-0.000000
-0.850000,-0.450000,-0.330000
-0.850000,-0.037500,-0.330000
-1.550000,-0.337500,-0.330000
-1.300000,-0.037500,-0.330000
-1.200000,0.262500,-0.125000
-1.150000,0.300000,-0.125000
-1.650000,0.450000,-0.125000
-1.350000,0.450000,-0.125000
-1.400000,0.487500,-0.000000
-1.400000,0.487500,0.125000
-1.762500,0.496875,0.125000
-1.762500,0.496875,-0.000000
-1.450000,0.487500,-0.000000
-1.450000,0.487500,0.075000
-1.725000,0.506250,0.075000
-1.725000,0.506250,-0.000000
-1.400000,0.450000,-0.000000
-1.400000,0.450000,0.075000
-1.600000,0.450000,0.075000
-1.600000,0.450000,-0.000000
-1.762500,0.496875,-0.125000
-1.400000,0.487500,-0.125000
-1.725000,0.506250,-0.075000
-1.450000,0.487500,-0.075000
-1.600000,0.450000,-0.075000
-1.400000,0.450000,-0.075000
-0.000000,0.825000,-0.000000
-0.000000,0.825000,0.001000
-0.001000,0.825000,-0.000000
-0.400000,0.825000,-0.000000
-0.400000,0.825000,0.225000
-0.225000,0.825000,0.400000
-0.000000,0.825000,0.400000
-0.000000,0.675000,-0.000000
-0.100000,0.600000,-0.000000
-0.100000,0.600000,0.056000
-0.056000,0.600000,0.100000
-0.000000,0.600000,0.100000
--0.001000,0.825000,-0.000000
--0.225000,0.825000,0.400000
--0.400000,0.825000,0.225000
--0.400000,0.825000,-0.000000
--0.056000,0.600000,0.100000
--0.100000,0.600000,0.056000
--0.100000,0.600000,-0.000000
-0.000000,0.825000,-0.001000
--0.400000,0.825000,-0.225000
--0.225000,0.825000,-0.400000
-0.000000,0.825000,-0.400000
--0.100000,0.600000,-0.056000
--0.056000,0.600000,-0.100000
-0.000000,0.600000,-0.100000
-0.225000,0.825000,-0.400000
-0.400000,0.825000,-0.225000
-0.056000,0.600000,-0.100000
-0.100000,0.600000,-0.056000
-0.200000,0.525000,-0.000000
-0.200000,0.525000,0.112000
-0.112000,0.525000,0.200000
-0.000000,0.525000,0.200000
-0.650000,0.525000,-0.000000
-0.650000,0.525000,0.364000
-0.364000,0.525000,0.650000
-0.000000,0.525000,0.650000
-0.650000,0.450000,-0.000000
-0.650000,0.450000,0.364000
-0.364000,0.450000,0.650000
-0.000000,0.450000,0.650000
--0.112000,0.525000,0.200000
--0.200000,0.525000,0.112000
--0.200000,0.525000,-0.000000
--0.364000,0.525000,0.650000
--0.650000,0.525000,0.364000
--0.650000,0.525000,-0.000000
--0.364000,0.450000,0.650000
--0.650000,0.450000,0.364000
--0.650000,0.450000,-0.000000
--0.200000,0.525000,-0.112000
--0.112000,0.525000,-0.200000
-0.000000,0.525000,-0.200000
--0.650000,0.525000,-0.364000
--0.364000,0.525000,-0.650000
-0.000000,0.525000,-0.650000
--0.650000,0.450000,-0.364000
--0.364000,0.450000,-0.650000
-0.000000,0.450000,-0.650000
-0.112000,0.525000,-0.200000
-0.200000,0.525000,-0.112000
-0.364000,0.525000,-0.650000
-0.650000,0.525000,-0.364000
-0.364000,0.450000,-0.650000
-0.650000,0.450000,-0.364000
-0.000000,-0.750000,-0.000000
-0.750000,-0.675000,-0.000000
-0.750000,-0.675000,-0.420000
-0.420000,-0.675000,-0.750000
-0.000000,-0.675000,-0.750000
-0.750000,-0.712500,-0.000000
-0.750000,-0.712500,-0.420000
-0.420000,-0.712500,-0.750000
-0.000000,-0.712500,-0.750000
-0.712500,-0.750000,-0.000000
-0.712500,-0.750000,-0.399000
-0.399000,-0.750000,-0.712500
-0.000000,-0.750000,-0.712500
--0.420000,-0.675000,-0.750000
--0.750000,-0.675000,-0.420000
--0.750000,-0.675000,-0.000000
--0.420000,-0.712500,-0.750000
--0.750000,-0.712500,-0.420000
--0.750000,-0.712500,-0.000000
--0.399000,-0.750000,-0.712500
--0.712500,-0.750000,-0.399000
--0.712500,-0.750000,-0.000000
--0.750000,-0.675000,0.420000
--0.420000,-0.675000,0.750000
-0.000000,-0.675000,0.750000
--0.750000,-0.712500,0.420000
--0.420000,-0.712500,0.750000
-0.000000,-0.712500,0.750000
--0.712500,-0.750000,0.399000
--0.399000,-0.750000,0.712500
-0.000000,-0.750000,0.712500
-0.420000,-0.675000,0.750000
-0.750000,-0.675000,0.420000
-0.420000,-0.712500,0.750000
-0.750000,-0.712500,0.420000
-0.399000,-0.750000,0.712500
-0.712500,-0.750000,0.399000
diff --git a/demos/quick3d/tea_service/qml/teapot-handle.bez b/demos/quick3d/tea_service/qml/teapot-handle.bez
deleted file mode 100644
index a2a3503e..00000000
--- a/demos/quick3d/tea_service/qml/teapot-handle.bez
+++ /dev/null
@@ -1,312 +0,0 @@
-4
-121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136
-124,137,138,121,128,139,140,125,132,141,142,129,136,143,144,133
-133,134,135,136,145,146,147,148,149,150,151,152,69,153,154,155
-136,143,144,133,148,156,157,145,152,158,159,149,155,160,161,69
-306
-0.700000,0.450000,-0.000000
-0.700000,0.450000,0.392000
-0.392000,0.450000,0.700000
-0.000000,0.450000,0.700000
-0.668750,0.515625,-0.000000
-0.668750,0.515625,0.374500
-0.374500,0.515625,0.668750
-0.000000,0.515625,0.668750
-0.718750,0.515625,-0.000000
-0.718750,0.515625,0.402500
-0.402500,0.515625,0.718750
-0.000000,0.515625,0.718750
-0.750000,0.450000,-0.000000
-0.750000,0.450000,0.420000
-0.420000,0.450000,0.750000
-0.000000,0.450000,0.750000
--0.392000,0.450000,0.700000
--0.700000,0.450000,0.392000
--0.700000,0.450000,-0.000000
--0.374500,0.515625,0.668750
--0.668750,0.515625,0.374500
--0.668750,0.515625,-0.000000
--0.402500,0.515625,0.718750
--0.718750,0.515625,0.402500
--0.718750,0.515625,-0.000000
--0.420000,0.450000,0.750000
--0.750000,0.450000,0.420000
--0.750000,0.450000,-0.000000
--0.700000,0.450000,-0.392000
--0.392000,0.450000,-0.700000
-0.000000,0.450000,-0.700000
--0.668750,0.515625,-0.374500
--0.374500,0.515625,-0.668750
-0.000000,0.515625,-0.668750
--0.718750,0.515625,-0.402500
--0.402500,0.515625,-0.718750
-0.000000,0.515625,-0.718750
--0.750000,0.450000,-0.420000
--0.420000,0.450000,-0.750000
-0.000000,0.450000,-0.750000
-0.392000,0.450000,-0.700000
-0.700000,0.450000,-0.392000
-0.374500,0.515625,-0.668750
-0.668750,0.515625,-0.374500
-0.402500,0.515625,-0.718750
-0.718750,0.515625,-0.402500
-0.420000,0.450000,-0.750000
-0.750000,0.450000,-0.420000
-0.875000,0.187500,-0.000000
-0.875000,0.187500,0.490000
-0.490000,0.187500,0.875000
-0.000000,0.187500,0.875000
-1.000000,-0.075000,-0.000000
-1.000000,-0.075000,0.560000
-0.560000,-0.075000,1.000000
-0.000000,-0.075000,1.000000
-1.000000,-0.300000,-0.000000
-1.000000,-0.300000,0.560000
-0.560000,-0.300000,1.000000
-0.000000,-0.300000,1.000000
--0.490000,0.187500,0.875000
--0.875000,0.187500,0.490000
--0.875000,0.187500,-0.000000
--0.560000,-0.075000,1.000000
--1.000000,-0.075000,0.560000
--1.000000,-0.075000,-0.000000
--0.560000,-0.300000,1.000000
--1.000000,-0.300000,0.560000
--1.000000,-0.300000,-0.000000
--0.875000,0.187500,-0.490000
--0.490000,0.187500,-0.875000
-0.000000,0.187500,-0.875000
--1.000000,-0.075000,-0.560000
--0.560000,-0.075000,-1.000000
-0.000000,-0.075000,-1.000000
--1.000000,-0.300000,-0.560000
--0.560000,-0.300000,-1.000000
-0.000000,-0.300000,-1.000000
-0.490000,0.187500,-0.875000
-0.875000,0.187500,-0.490000
-0.560000,-0.075000,-1.000000
-1.000000,-0.075000,-0.560000
-0.560000,-0.300000,-1.000000
-1.000000,-0.300000,-0.560000
-1.000000,-0.525000,-0.000000
-1.000000,-0.525000,0.560000
-0.560000,-0.525000,1.000000
-0.000000,-0.525000,1.000000
-0.750000,-0.637500,-0.000000
-0.750000,-0.637500,0.420000
-0.420000,-0.637500,0.750000
-0.000000,-0.637500,0.750000
-0.750000,-0.675000,-0.000000
-0.750000,-0.675000,0.420000
-0.420000,-0.675000,0.750000
-0.000000,-0.675000,0.750000
--0.560000,-0.525000,1.000000
--1.000000,-0.525000,0.560000
--1.000000,-0.525000,-0.000000
--0.420000,-0.637500,0.750000
--0.750000,-0.637500,0.420000
--0.750000,-0.637500,-0.000000
--0.420000,-0.675000,0.750000
--0.750000,-0.675000,0.420000
--0.750000,-0.675000,-0.000000
--1.000000,-0.525000,-0.560000
--0.560000,-0.525000,-1.000000
-0.000000,-0.525000,-1.000000
--0.750000,-0.637500,-0.420000
--0.420000,-0.637500,-0.750000
-0.000000,-0.637500,-0.750000
--0.750000,-0.675000,-0.420000
--0.420000,-0.675000,-0.750000
-0.000000,-0.675000,-0.750000
-0.560000,-0.525000,-1.000000
-1.000000,-0.525000,-0.560000
-0.420000,-0.637500,-0.750000
-0.750000,-0.637500,-0.420000
-0.420000,-0.675000,-0.750000
-0.750000,-0.675000,-0.420000
--0.800000,0.262500,-0.000000
--0.800000,0.262500,0.150000
--0.750000,0.375000,0.150000
--0.750000,0.375000,-0.000000
--1.150000,0.262500,-0.000000
--1.150000,0.262500,0.150000
--1.250000,0.375000,0.150000
--1.250000,0.375000,-0.000000
--1.350000,0.262500,-0.000000
--1.350000,0.262500,0.150000
--1.500000,0.375000,0.150000
--1.500000,0.375000,-0.000000
--1.350000,0.150000,-0.000000
--1.350000,0.150000,0.150000
--1.500000,0.150000,0.150000
--1.500000,0.150000,-0.000000
--0.750000,0.375000,-0.150000
--0.800000,0.262500,-0.150000
--1.250000,0.375000,-0.150000
--1.150000,0.262500,-0.150000
--1.500000,0.375000,-0.150000
--1.350000,0.262500,-0.150000
--1.500000,0.150000,-0.150000
--1.350000,0.150000,-0.150000
--1.350000,0.037500,-0.000000
--1.350000,0.037500,0.150000
--1.500000,-0.075000,0.150000
--1.500000,-0.075000,-0.000000
--1.250000,-0.187500,-0.000000
--1.250000,-0.187500,0.150000
--1.325000,-0.281250,0.150000
--1.325000,-0.281250,-0.000000
--1.000000,-0.300000,0.150000
--0.950000,-0.450000,0.150000
--0.950000,-0.450000,-0.000000
--1.500000,-0.075000,-0.150000
--1.350000,0.037500,-0.150000
--1.325000,-0.281250,-0.150000
--1.250000,-0.187500,-0.150000
--0.950000,-0.450000,-0.150000
--1.000000,-0.300000,-0.150000
-0.850000,-0.037500,-0.000000
-0.850000,-0.037500,0.330000
-0.850000,-0.450000,0.330000
-0.850000,-0.450000,-0.000000
-1.300000,-0.037500,-0.000000
-1.300000,-0.037500,0.330000
-1.550000,-0.337500,0.330000
-1.550000,-0.337500,-0.000000
-1.150000,0.300000,-0.000000
-1.150000,0.300000,0.125000
-1.200000,0.262500,0.125000
-1.200000,0.262500,-0.000000
-1.350000,0.450000,-0.000000
-1.350000,0.450000,0.125000
-1.650000,0.450000,0.125000
-1.650000,0.450000,-0.000000
-0.850000,-0.450000,-0.330000
-0.850000,-0.037500,-0.330000
-1.550000,-0.337500,-0.330000
-1.300000,-0.037500,-0.330000
-1.200000,0.262500,-0.125000
-1.150000,0.300000,-0.125000
-1.650000,0.450000,-0.125000
-1.350000,0.450000,-0.125000
-1.400000,0.487500,-0.000000
-1.400000,0.487500,0.125000
-1.762500,0.496875,0.125000
-1.762500,0.496875,-0.000000
-1.450000,0.487500,-0.000000
-1.450000,0.487500,0.075000
-1.725000,0.506250,0.075000
-1.725000,0.506250,-0.000000
-1.400000,0.450000,-0.000000
-1.400000,0.450000,0.075000
-1.600000,0.450000,0.075000
-1.600000,0.450000,-0.000000
-1.762500,0.496875,-0.125000
-1.400000,0.487500,-0.125000
-1.725000,0.506250,-0.075000
-1.450000,0.487500,-0.075000
-1.600000,0.450000,-0.075000
-1.400000,0.450000,-0.075000
-0.000000,0.825000,-0.000000
-0.000000,0.825000,0.001000
-0.001000,0.825000,-0.000000
-0.400000,0.825000,-0.000000
-0.400000,0.825000,0.225000
-0.225000,0.825000,0.400000
-0.000000,0.825000,0.400000
-0.000000,0.675000,-0.000000
-0.100000,0.600000,-0.000000
-0.100000,0.600000,0.056000
-0.056000,0.600000,0.100000
-0.000000,0.600000,0.100000
--0.001000,0.825000,-0.000000
--0.225000,0.825000,0.400000
--0.400000,0.825000,0.225000
--0.400000,0.825000,-0.000000
--0.056000,0.600000,0.100000
--0.100000,0.600000,0.056000
--0.100000,0.600000,-0.000000
-0.000000,0.825000,-0.001000
--0.400000,0.825000,-0.225000
--0.225000,0.825000,-0.400000
-0.000000,0.825000,-0.400000
--0.100000,0.600000,-0.056000
--0.056000,0.600000,-0.100000
-0.000000,0.600000,-0.100000
-0.225000,0.825000,-0.400000
-0.400000,0.825000,-0.225000
-0.056000,0.600000,-0.100000
-0.100000,0.600000,-0.056000
-0.200000,0.525000,-0.000000
-0.200000,0.525000,0.112000
-0.112000,0.525000,0.200000
-0.000000,0.525000,0.200000
-0.650000,0.525000,-0.000000
-0.650000,0.525000,0.364000
-0.364000,0.525000,0.650000
-0.000000,0.525000,0.650000
-0.650000,0.450000,-0.000000
-0.650000,0.450000,0.364000
-0.364000,0.450000,0.650000
-0.000000,0.450000,0.650000
--0.112000,0.525000,0.200000
--0.200000,0.525000,0.112000
--0.200000,0.525000,-0.000000
--0.364000,0.525000,0.650000
--0.650000,0.525000,0.364000
--0.650000,0.525000,-0.000000
--0.364000,0.450000,0.650000
--0.650000,0.450000,0.364000
--0.650000,0.450000,-0.000000
--0.200000,0.525000,-0.112000
--0.112000,0.525000,-0.200000
-0.000000,0.525000,-0.200000
--0.650000,0.525000,-0.364000
--0.364000,0.525000,-0.650000
-0.000000,0.525000,-0.650000
--0.650000,0.450000,-0.364000
--0.364000,0.450000,-0.650000
-0.000000,0.450000,-0.650000
-0.112000,0.525000,-0.200000
-0.200000,0.525000,-0.112000
-0.364000,0.525000,-0.650000
-0.650000,0.525000,-0.364000
-0.364000,0.450000,-0.650000
-0.650000,0.450000,-0.364000
-0.000000,-0.750000,-0.000000
-0.750000,-0.675000,-0.000000
-0.750000,-0.675000,-0.420000
-0.420000,-0.675000,-0.750000
-0.000000,-0.675000,-0.750000
-0.750000,-0.712500,-0.000000
-0.750000,-0.712500,-0.420000
-0.420000,-0.712500,-0.750000
-0.000000,-0.712500,-0.750000
-0.712500,-0.750000,-0.000000
-0.712500,-0.750000,-0.399000
-0.399000,-0.750000,-0.712500
-0.000000,-0.750000,-0.712500
--0.420000,-0.675000,-0.750000
--0.750000,-0.675000,-0.420000
--0.750000,-0.675000,-0.000000
--0.420000,-0.712500,-0.750000
--0.750000,-0.712500,-0.420000
--0.750000,-0.712500,-0.000000
--0.399000,-0.750000,-0.712500
--0.712500,-0.750000,-0.399000
--0.712500,-0.750000,-0.000000
--0.750000,-0.675000,0.420000
--0.420000,-0.675000,0.750000
-0.000000,-0.675000,0.750000
--0.750000,-0.712500,0.420000
--0.420000,-0.712500,0.750000
-0.000000,-0.712500,0.750000
--0.712500,-0.750000,0.399000
--0.399000,-0.750000,0.712500
-0.000000,-0.750000,0.712500
-0.420000,-0.675000,0.750000
-0.750000,-0.675000,0.420000
-0.420000,-0.712500,0.750000
-0.750000,-0.712500,0.420000
-0.399000,-0.750000,0.712500
-0.712500,-0.750000,0.399000
diff --git a/demos/quick3d/tea_service/qml/teapot-spout.bez b/demos/quick3d/tea_service/qml/teapot-spout.bez
deleted file mode 100644
index 7674812e..00000000
--- a/demos/quick3d/tea_service/qml/teapot-spout.bez
+++ /dev/null
@@ -1,312 +0,0 @@
-4
-162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177
-165,178,179,162,169,180,181,166,173,182,183,170,177,184,185,174
-174,175,176,177,186,187,188,189,190,191,192,193,194,195,196,197
-177,184,185,174,189,198,199,186,193,200,201,190,197,202,203,194
-306
-0.700000,0.450000,-0.000000
-0.700000,0.450000,0.392000
-0.392000,0.450000,0.700000
-0.000000,0.450000,0.700000
-0.668750,0.515625,-0.000000
-0.668750,0.515625,0.374500
-0.374500,0.515625,0.668750
-0.000000,0.515625,0.668750
-0.718750,0.515625,-0.000000
-0.718750,0.515625,0.402500
-0.402500,0.515625,0.718750
-0.000000,0.515625,0.718750
-0.750000,0.450000,-0.000000
-0.750000,0.450000,0.420000
-0.420000,0.450000,0.750000
-0.000000,0.450000,0.750000
--0.392000,0.450000,0.700000
--0.700000,0.450000,0.392000
--0.700000,0.450000,-0.000000
--0.374500,0.515625,0.668750
--0.668750,0.515625,0.374500
--0.668750,0.515625,-0.000000
--0.402500,0.515625,0.718750
--0.718750,0.515625,0.402500
--0.718750,0.515625,-0.000000
--0.420000,0.450000,0.750000
--0.750000,0.450000,0.420000
--0.750000,0.450000,-0.000000
--0.700000,0.450000,-0.392000
--0.392000,0.450000,-0.700000
-0.000000,0.450000,-0.700000
--0.668750,0.515625,-0.374500
--0.374500,0.515625,-0.668750
-0.000000,0.515625,-0.668750
--0.718750,0.515625,-0.402500
--0.402500,0.515625,-0.718750
-0.000000,0.515625,-0.718750
--0.750000,0.450000,-0.420000
--0.420000,0.450000,-0.750000
-0.000000,0.450000,-0.750000
-0.392000,0.450000,-0.700000
-0.700000,0.450000,-0.392000
-0.374500,0.515625,-0.668750
-0.668750,0.515625,-0.374500
-0.402500,0.515625,-0.718750
-0.718750,0.515625,-0.402500
-0.420000,0.450000,-0.750000
-0.750000,0.450000,-0.420000
-0.875000,0.187500,-0.000000
-0.875000,0.187500,0.490000
-0.490000,0.187500,0.875000
-0.000000,0.187500,0.875000
-1.000000,-0.075000,-0.000000
-1.000000,-0.075000,0.560000
-0.560000,-0.075000,1.000000
-0.000000,-0.075000,1.000000
-1.000000,-0.300000,-0.000000
-1.000000,-0.300000,0.560000
-0.560000,-0.300000,1.000000
-0.000000,-0.300000,1.000000
--0.490000,0.187500,0.875000
--0.875000,0.187500,0.490000
--0.875000,0.187500,-0.000000
--0.560000,-0.075000,1.000000
--1.000000,-0.075000,0.560000
--1.000000,-0.075000,-0.000000
--0.560000,-0.300000,1.000000
--1.000000,-0.300000,0.560000
--1.000000,-0.300000,-0.000000
--0.875000,0.187500,-0.490000
--0.490000,0.187500,-0.875000
-0.000000,0.187500,-0.875000
--1.000000,-0.075000,-0.560000
--0.560000,-0.075000,-1.000000
-0.000000,-0.075000,-1.000000
--1.000000,-0.300000,-0.560000
--0.560000,-0.300000,-1.000000
-0.000000,-0.300000,-1.000000
-0.490000,0.187500,-0.875000
-0.875000,0.187500,-0.490000
-0.560000,-0.075000,-1.000000
-1.000000,-0.075000,-0.560000
-0.560000,-0.300000,-1.000000
-1.000000,-0.300000,-0.560000
-1.000000,-0.525000,-0.000000
-1.000000,-0.525000,0.560000
-0.560000,-0.525000,1.000000
-0.000000,-0.525000,1.000000
-0.750000,-0.637500,-0.000000
-0.750000,-0.637500,0.420000
-0.420000,-0.637500,0.750000
-0.000000,-0.637500,0.750000
-0.750000,-0.675000,-0.000000
-0.750000,-0.675000,0.420000
-0.420000,-0.675000,0.750000
-0.000000,-0.675000,0.750000
--0.560000,-0.525000,1.000000
--1.000000,-0.525000,0.560000
--1.000000,-0.525000,-0.000000
--0.420000,-0.637500,0.750000
--0.750000,-0.637500,0.420000
--0.750000,-0.637500,-0.000000
--0.420000,-0.675000,0.750000
--0.750000,-0.675000,0.420000
--0.750000,-0.675000,-0.000000
--1.000000,-0.525000,-0.560000
--0.560000,-0.525000,-1.000000
-0.000000,-0.525000,-1.000000
--0.750000,-0.637500,-0.420000
--0.420000,-0.637500,-0.750000
-0.000000,-0.637500,-0.750000
--0.750000,-0.675000,-0.420000
--0.420000,-0.675000,-0.750000
-0.000000,-0.675000,-0.750000
-0.560000,-0.525000,-1.000000
-1.000000,-0.525000,-0.560000
-0.420000,-0.637500,-0.750000
-0.750000,-0.637500,-0.420000
-0.420000,-0.675000,-0.750000
-0.750000,-0.675000,-0.420000
--0.800000,0.262500,-0.000000
--0.800000,0.262500,0.150000
--0.750000,0.375000,0.150000
--0.750000,0.375000,-0.000000
--1.150000,0.262500,-0.000000
--1.150000,0.262500,0.150000
--1.250000,0.375000,0.150000
--1.250000,0.375000,-0.000000
--1.350000,0.262500,-0.000000
--1.350000,0.262500,0.150000
--1.500000,0.375000,0.150000
--1.500000,0.375000,-0.000000
--1.350000,0.150000,-0.000000
--1.350000,0.150000,0.150000
--1.500000,0.150000,0.150000
--1.500000,0.150000,-0.000000
--0.750000,0.375000,-0.150000
--0.800000,0.262500,-0.150000
--1.250000,0.375000,-0.150000
--1.150000,0.262500,-0.150000
--1.500000,0.375000,-0.150000
--1.350000,0.262500,-0.150000
--1.500000,0.150000,-0.150000
--1.350000,0.150000,-0.150000
--1.350000,0.037500,-0.000000
--1.350000,0.037500,0.150000
--1.500000,-0.075000,0.150000
--1.500000,-0.075000,-0.000000
--1.250000,-0.187500,-0.000000
--1.250000,-0.187500,0.150000
--1.325000,-0.281250,0.150000
--1.325000,-0.281250,-0.000000
--1.000000,-0.300000,0.150000
--0.950000,-0.450000,0.150000
--0.950000,-0.450000,-0.000000
--1.500000,-0.075000,-0.150000
--1.350000,0.037500,-0.150000
--1.325000,-0.281250,-0.150000
--1.250000,-0.187500,-0.150000
--0.950000,-0.450000,-0.150000
--1.000000,-0.300000,-0.150000
-0.850000,-0.037500,-0.000000
-0.850000,-0.037500,0.330000
-0.850000,-0.450000,0.330000
-0.850000,-0.450000,-0.000000
-1.300000,-0.037500,-0.000000
-1.300000,-0.037500,0.330000
-1.550000,-0.337500,0.330000
-1.550000,-0.337500,-0.000000
-1.150000,0.300000,-0.000000
-1.150000,0.300000,0.125000
-1.200000,0.262500,0.125000
-1.200000,0.262500,-0.000000
-1.350000,0.450000,-0.000000
-1.350000,0.450000,0.125000
-1.650000,0.450000,0.125000
-1.650000,0.450000,-0.000000
-0.850000,-0.450000,-0.330000
-0.850000,-0.037500,-0.330000
-1.550000,-0.337500,-0.330000
-1.300000,-0.037500,-0.330000
-1.200000,0.262500,-0.125000
-1.150000,0.300000,-0.125000
-1.650000,0.450000,-0.125000
-1.350000,0.450000,-0.125000
-1.400000,0.487500,-0.000000
-1.400000,0.487500,0.125000
-1.762500,0.496875,0.125000
-1.762500,0.496875,-0.000000
-1.450000,0.487500,-0.000000
-1.450000,0.487500,0.075000
-1.725000,0.506250,0.075000
-1.725000,0.506250,-0.000000
-1.400000,0.450000,-0.000000
-1.400000,0.450000,0.075000
-1.600000,0.450000,0.075000
-1.600000,0.450000,-0.000000
-1.762500,0.496875,-0.125000
-1.400000,0.487500,-0.125000
-1.725000,0.506250,-0.075000
-1.450000,0.487500,-0.075000
-1.600000,0.450000,-0.075000
-1.400000,0.450000,-0.075000
-0.000000,0.825000,-0.000000
-0.000000,0.825000,0.001000
-0.001000,0.825000,-0.000000
-0.400000,0.825000,-0.000000
-0.400000,0.825000,0.225000
-0.225000,0.825000,0.400000
-0.000000,0.825000,0.400000
-0.000000,0.675000,-0.000000
-0.100000,0.600000,-0.000000
-0.100000,0.600000,0.056000
-0.056000,0.600000,0.100000
-0.000000,0.600000,0.100000
--0.001000,0.825000,-0.000000
--0.225000,0.825000,0.400000
--0.400000,0.825000,0.225000
--0.400000,0.825000,-0.000000
--0.056000,0.600000,0.100000
--0.100000,0.600000,0.056000
--0.100000,0.600000,-0.000000
-0.000000,0.825000,-0.001000
--0.400000,0.825000,-0.225000
--0.225000,0.825000,-0.400000
-0.000000,0.825000,-0.400000
--0.100000,0.600000,-0.056000
--0.056000,0.600000,-0.100000
-0.000000,0.600000,-0.100000
-0.225000,0.825000,-0.400000
-0.400000,0.825000,-0.225000
-0.056000,0.600000,-0.100000
-0.100000,0.600000,-0.056000
-0.200000,0.525000,-0.000000
-0.200000,0.525000,0.112000
-0.112000,0.525000,0.200000
-0.000000,0.525000,0.200000
-0.650000,0.525000,-0.000000
-0.650000,0.525000,0.364000
-0.364000,0.525000,0.650000
-0.000000,0.525000,0.650000
-0.650000,0.450000,-0.000000
-0.650000,0.450000,0.364000
-0.364000,0.450000,0.650000
-0.000000,0.450000,0.650000
--0.112000,0.525000,0.200000
--0.200000,0.525000,0.112000
--0.200000,0.525000,-0.000000
--0.364000,0.525000,0.650000
--0.650000,0.525000,0.364000
--0.650000,0.525000,-0.000000
--0.364000,0.450000,0.650000
--0.650000,0.450000,0.364000
--0.650000,0.450000,-0.000000
--0.200000,0.525000,-0.112000
--0.112000,0.525000,-0.200000
-0.000000,0.525000,-0.200000
--0.650000,0.525000,-0.364000
--0.364000,0.525000,-0.650000
-0.000000,0.525000,-0.650000
--0.650000,0.450000,-0.364000
--0.364000,0.450000,-0.650000
-0.000000,0.450000,-0.650000
-0.112000,0.525000,-0.200000
-0.200000,0.525000,-0.112000
-0.364000,0.525000,-0.650000
-0.650000,0.525000,-0.364000
-0.364000,0.450000,-0.650000
-0.650000,0.450000,-0.364000
-0.000000,-0.750000,-0.000000
-0.750000,-0.675000,-0.000000
-0.750000,-0.675000,-0.420000
-0.420000,-0.675000,-0.750000
-0.000000,-0.675000,-0.750000
-0.750000,-0.712500,-0.000000
-0.750000,-0.712500,-0.420000
-0.420000,-0.712500,-0.750000
-0.000000,-0.712500,-0.750000
-0.712500,-0.750000,-0.000000
-0.712500,-0.750000,-0.399000
-0.399000,-0.750000,-0.712500
-0.000000,-0.750000,-0.712500
--0.420000,-0.675000,-0.750000
--0.750000,-0.675000,-0.420000
--0.750000,-0.675000,-0.000000
--0.420000,-0.712500,-0.750000
--0.750000,-0.712500,-0.420000
--0.750000,-0.712500,-0.000000
--0.399000,-0.750000,-0.712500
--0.712500,-0.750000,-0.399000
--0.712500,-0.750000,-0.000000
--0.750000,-0.675000,0.420000
--0.420000,-0.675000,0.750000
-0.000000,-0.675000,0.750000
--0.750000,-0.712500,0.420000
--0.420000,-0.712500,0.750000
-0.000000,-0.712500,0.750000
--0.712500,-0.750000,0.399000
--0.399000,-0.750000,0.712500
-0.000000,-0.750000,0.712500
-0.420000,-0.675000,0.750000
-0.750000,-0.675000,0.420000
-0.420000,-0.712500,0.750000
-0.750000,-0.712500,0.420000
-0.399000,-0.750000,0.712500
-0.712500,-0.750000,0.399000
diff --git a/demos/quick3d/tea_service/qml/teaservice.qmlproject b/demos/quick3d/tea_service/qml/teaservice.qmlproject
deleted file mode 100644
index d4909f86..00000000
--- a/demos/quick3d/tea_service/qml/teaservice.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-import QmlProject 1.0
-
-Project {
- /* Include .qml, .js, and image files from current directory and subdirectories */
- QmlFiles {
- directory: "."
- }
- JavaScriptFiles {
- directory: "."
- }
- ImageFiles {
- directory: "."
- }
- /* List of plugin directories passed to QML runtime */
- // importPaths: [ " ../exampleplugin " ]
-}
diff --git a/demos/quick3d/tea_service/qml/teaspoon.bez b/demos/quick3d/tea_service/qml/teaspoon.bez
deleted file mode 100644
index c304fbde..00000000
--- a/demos/quick3d/tea_service/qml/teaspoon.bez
+++ /dev/null
@@ -1,275 +0,0 @@
-16
-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
-17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32
-33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48
-49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
-65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80
-81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96
-97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112
-113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128
-129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144
-145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160
-161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176
-177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192
-193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208
-209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224
-225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240
-241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256
-256
--0.000107143,0.205357,0.0
-0.0,0.196429,-0.0178571
-0.0,0.196429,-0.0178571
-0.000107143,0.205357,0.0
--0.0535714,0.205357,0.0
--0.0222714,0.178571,-0.0534286
-0.0222714,0.178571,-0.0534286
-0.0535714,0.205357,0.0
--0.107143,0.0952429,-0.0178571
--0.0446429,0.0952429,-0.0892857
-0.0446429,0.0952429,-0.0892857
-0.107143,0.0952429,-0.0178571
--0.107143,0.0,-0.0178571
--0.0446429,0.0,-0.0892857
-0.0446429,0.0,-0.0892857
-0.107143,0.0,-0.0178571
-0.000107143,0.205357,0.0
-0.000135714,0.207589,0.00446429
-0.000157143,0.216518,0.00446429
-0.000125,0.214286,0.0
-0.0535714,0.205357,0.0
-0.0613964,0.212054,0.0133571
-0.0714286,0.220982,0.015625
-0.0625,0.214286,0.0
-0.107143,0.0952429,-0.0178571
-0.122768,0.0952429,0.0
-0.142857,0.0952429,0.00446429
-0.125,0.0952429,-0.0178571
-0.107143,0.0,-0.0178571
-0.122768,0.0,0.0
-0.142857,0.0,0.00446429
-0.125,0.0,-0.0178571
-0.000125,0.214286,0.0
-0.0,0.205357,-0.0178571
-0.0,0.205357,-0.0178571
--0.000125,0.214286,0.0
-0.0625,0.214286,0.0
-0.0267857,0.1875,-0.0625
--0.0267857,0.1875,-0.0625
--0.0625,0.214286,0.0
-0.125,0.0952429,-0.0178571
-0.0535714,0.0952429,-0.107143
--0.0535714,0.0952429,-0.107143
--0.125,0.0952429,-0.0178571
-0.125,0.0,-0.0178571
-0.0535714,0.0,-0.107143
--0.0535714,0.0,-0.107143
--0.125,0.0,-0.0178571
--0.000125,0.214286,0.0
--0.000157143,0.216518,0.00446429
--0.000135714,0.207589,0.00446429
--0.000107143,0.205357,0.0
--0.0625,0.214286,0.0
--0.0714286,0.220982,0.015625
--0.0613964,0.212054,0.0133571
--0.0535714,0.205357,0.0
--0.125,0.0952429,-0.0178571
--0.142857,0.0952429,0.00446429
--0.122768,0.0952429,0.0
--0.107143,0.0952429,-0.0178571
--0.125,0.0,-0.0178571
--0.142857,0.0,0.00446429
--0.122768,0.0,0.0
--0.107143,0.0,-0.0178571
--0.107143,0.0,-0.0178571
--0.0446429,0.0,-0.0892857
-0.0446429,0.0,-0.0892857
-0.107143,0.0,-0.0178571
--0.107143,-0.142857,-0.0178571
--0.0446429,-0.142857,-0.0892857
-0.0446429,-0.142857,-0.0892857
-0.107143,-0.142857,-0.0178571
--0.0133929,-0.160714,0.0386893
--0.00557857,-0.160714,0.0386893
-0.00557857,-0.160714,0.0386893
-0.0133929,-0.160714,0.0386893
--0.0133929,-0.25,0.0535714
--0.00557857,-0.25,0.0535714
-0.00557857,-0.25,0.0535714
-0.0133929,-0.25,0.0535714
-0.107143,0.0,-0.0178571
-0.122768,0.0,0.0
-0.142857,0.0,0.00446429
-0.125,0.0,-0.0178571
-0.107143,-0.142857,-0.0178571
-0.122768,-0.142857,0.0
-0.142857,-0.142857,0.00446429
-0.125,-0.142857,-0.0178571
-0.0133929,-0.160714,0.0386893
-0.0153464,-0.160714,0.0386893
-0.0178571,-0.160714,0.0314357
-0.015625,-0.160714,0.0297607
-0.0133929,-0.25,0.0535714
-0.0153464,-0.25,0.0535714
-0.0178571,-0.25,0.0463179
-0.015625,-0.25,0.0446429
-0.125,0.0,-0.0178571
-0.0535714,0.0,-0.107143
--0.0535714,0.0,-0.107143
--0.125,0.0,-0.0178571
-0.125,-0.142857,-0.0178571
-0.0535714,-0.142857,-0.107143
--0.0535714,-0.142857,-0.107143
--0.125,-0.142857,-0.0178571
-0.015625,-0.160714,0.0297607
-0.00669643,-0.160714,0.0230643
--0.00781071,-0.160714,0.0208321
--0.015625,-0.160714,0.0297607
-0.015625,-0.25,0.0446429
-0.00669643,-0.25,0.0379464
--0.00781071,-0.25,0.0357143
--0.015625,-0.25,0.0446429
--0.125,0.0,-0.0178571
--0.142857,0.0,0.00446429
--0.122768,0.0,0.0
--0.107143,0.0,-0.0178571
--0.125,-0.142857,-0.0178571
--0.142857,-0.142857,0.00446429
--0.122768,-0.142857,0.0
--0.107143,-0.142857,-0.0178571
--0.015625,-0.160714,0.0297607
--0.0175786,-0.160714,0.0319929
--0.0153464,-0.160714,0.0386893
--0.0133929,-0.160714,0.0386893
--0.015625,-0.25,0.0446429
--0.0175786,-0.25,0.046875
--0.0153464,-0.25,0.0535714
--0.0133929,-0.25,0.0535714
--0.0133929,-0.25,0.0535714
--0.00557857,-0.25,0.0535714
-0.00557857,-0.25,0.0535714
-0.0133929,-0.25,0.0535714
--0.0133929,-0.46425,0.0892857
--0.00557857,-0.46425,0.0892857
-0.00557857,-0.46425,0.0892857
-0.0133929,-0.46425,0.0892857
--0.0446429,-0.678571,0.0535714
--0.00892857,-0.678571,0.0625
-0.00892857,-0.678571,0.0625
-0.0446429,-0.678571,0.0535714
--0.0446429,-0.857143,0.0357143
--0.00892857,-0.857143,0.0446429
-0.00892857,-0.857143,0.0446429
-0.0446429,-0.857143,0.0357143
-0.0133929,-0.25,0.0535714
-0.0153464,-0.25,0.0535714
-0.0178571,-0.25,0.0463179
-0.015625,-0.25,0.0446429
-0.0133929,-0.46425,0.0892857
-0.0153464,-0.464286,0.0892857
-0.0178571,-0.46425,0.0820321
-0.015625,-0.46425,0.0803571
-0.0446429,-0.678571,0.0535714
-0.0535714,-0.678571,0.0513393
-0.0535714,-0.678571,0.0334821
-0.0446429,-0.678571,0.0357143
-0.0446429,-0.857143,0.0357143
-0.0535714,-0.857143,0.0334821
-0.0535714,-0.857143,0.015625
-0.0446429,-0.857143,0.0178571
-0.015625,-0.25,0.0446429
-0.00669643,-0.25,0.0379464
--0.00781071,-0.25,0.0357143
--0.015625,-0.25,0.0446429
-0.015625,-0.46425,0.0803571
-0.00669643,-0.464286,0.0736607
--0.00781071,-0.46425,0.0714286
--0.015625,-0.46425,0.0803571
-0.0446429,-0.678571,0.0357143
-0.00892857,-0.678571,0.0446429
--0.00892857,-0.678571,0.0446429
--0.0446429,-0.678571,0.0357143
-0.0446429,-0.857143,0.0178571
-0.00892857,-0.857143,0.0267857
--0.00892857,-0.857143,0.0267857
--0.0446429,-0.857143,0.0178571
--0.015625,-0.25,0.0446429
--0.0175786,-0.25,0.046875
--0.0153464,-0.25,0.0535714
--0.0133929,-0.25,0.0535714
--0.015625,-0.46425,0.0803571
--0.0175786,-0.464286,0.0825893
--0.0153464,-0.464286,0.0892857
--0.0133929,-0.46425,0.0892857
--0.0446429,-0.678571,0.0357143
--0.0535714,-0.678571,0.0334821
--0.0535714,-0.678571,0.0513393
--0.0446429,-0.678571,0.0535714
--0.0446429,-0.857143,0.0178571
--0.0535714,-0.857143,0.015625
--0.0535714,-0.857143,0.0334821
--0.0446429,-0.857143,0.0357143
--0.0446429,-0.857143,0.0357143
--0.00892857,-0.857143,0.0446429
-0.00892857,-0.857143,0.0446429
-0.0446429,-0.857143,0.0357143
--0.0446429,-0.928571,0.0285714
--0.00892857,-0.928571,0.0375
-0.00892857,-0.928571,0.0375
-0.0446429,-0.928571,0.0285714
--0.0539286,-0.999643,0.0178571
-0.000357143,-0.999643,0.0178571
-0.0,-0.999643,0.0178571
-0.0535714,-0.999643,0.0178571
--0.000357143,-1,0.0178571
-0.000357143,-1,0.0178571
-0.0,-1,0.0178571
-0.0,-1,0.0178571
-0.0446429,-0.857143,0.0357143
-0.0535714,-0.857143,0.0334821
-0.0535714,-0.857143,0.015625
-0.0446429,-0.857143,0.0178571
-0.0446429,-0.928571,0.0285714
-0.0535714,-0.928571,0.0263393
-0.0535714,-0.928571,0.00848214
-0.0446429,-0.928571,0.0107143
-0.0535714,-0.999643,0.0178571
-0.0669643,-0.999643,0.0178571
-0.0673214,-0.999643,0.0
-0.0539286,-0.999643,0.0
-0.0,-1,0.0178571
-0.0,-1,0.0178571
-0.000357143,-1,0.0
-0.000357143,-1,0.0
-0.0446429,-0.857143,0.0178571
-0.00892857,-0.857143,0.0267857
--0.00892857,-0.857143,0.0267857
--0.0446429,-0.857143,0.0178571
-0.0446429,-0.928571,0.0107143
-0.00892857,-0.928571,0.0196429
--0.00892857,-0.928571,0.0196429
--0.0446429,-0.928571,0.0107143
-0.0539286,-0.999643,0.0
-0.000357143,-0.999643,0.0
--0.000357143,-0.999643,0.0
--0.0539286,-0.999643,0.0
-0.000357143,-1,0.0
-0.000357143,-1,0.0
--0.000357143,-1,0.0
--0.000357143,-1,0.0
--0.0446429,-0.857143,0.0178571
--0.0535714,-0.857143,0.015625
--0.0535714,-0.857143,0.0334821
--0.0446429,-0.857143,0.0357143
--0.0446429,-0.928571,0.0107143
--0.0535714,-0.928571,0.00848214
--0.0535714,-0.928571,0.0263393
--0.0446429,-0.928571,0.0285714
--0.0539286,-0.999643,0.0
--0.0673214,-0.999643,0.0
--0.0675,-0.999643,0.0178571
--0.0539286,-0.999643,0.0178571
--0.000357143,-1,0.0
--0.000357143,-1,0.0
--0.000535714,-1,0.0178571
--0.000357143,-1,0.0178571
-# reverse-patches
diff --git a/demos/quick3d/tea_service/qtquick3d.ico b/demos/quick3d/tea_service/qtquick3d.ico
deleted file mode 100644
index b3b85e37..00000000
--- a/demos/quick3d/tea_service/qtquick3d.ico
+++ /dev/null
Binary files differ
diff --git a/demos/quick3d/tea_service/tea_service.desktop b/demos/quick3d/tea_service/tea_service.desktop
deleted file mode 100644
index de9814ed..00000000
--- a/demos/quick3d/tea_service/tea_service.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Tea Service
-Icon=icon-l-qtquick3d
-Exec=/usr/bin/tea_service -fullscreen
-OnlyShowIn=X-MeeGo;
-X-MeeGo-Logical-Id=qtn_comm_appname_tea_service
-X-MeeGo-Translation-Catalog=essentials
diff --git a/demos/quick3d/tea_service/tea_service.pro b/demos/quick3d/tea_service/tea_service.pro
deleted file mode 100644
index cd84bebd..00000000
--- a/demos/quick3d/tea_service/tea_service.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-TEMPLATE = app
-TARGET = tea_service
-QT += declarative quick widgets
-CONFIG += qt warn_on
-
-SOURCES += main.cpp
-
-INSTALL_DIRS = qml
-mt: INSTALL_FILES = mt.qml
-
-CONFIG += qt3d_deploy_qml
-include(../../../pkg.pri)
-qtcAddDeployment()
-
-OTHER_FILES += \
- tea_service.rc
-
-RC_FILE = tea_service.rc
diff --git a/demos/quick3d/tea_service/tea_service.qmlproject b/demos/quick3d/tea_service/tea_service.qmlproject
deleted file mode 100644
index 37c467f1..00000000
--- a/demos/quick3d/tea_service/tea_service.qmlproject
+++ /dev/null
@@ -1,16 +0,0 @@
-import QmlProject 1.0
-
-Project {
- /* Include .qml, .js, and image files from current directory and subdirectories */
- QmlFiles {
- directory: "."
- }
- JavaScriptFiles {
- directory: "."
- }
- ImageFiles {
- directory: "."
- }
- /* List of plugin directories passed to QML runtime */
- importPaths: [".", "../../imports/"]
-}
diff --git a/demos/quick3d/tea_service/tea_service.rc b/demos/quick3d/tea_service/tea_service.rc
deleted file mode 100644
index 1b6228c9..00000000
--- a/demos/quick3d/tea_service/tea_service.rc
+++ /dev/null
@@ -1 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "qtquick3d.ico"