diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2023-01-30 13:10:05 +0200 |
---|---|---|
committer | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2023-02-02 12:05:14 +0200 |
commit | 6ae51a12ccd15575197e5aeff4de3273a615c1a9 (patch) | |
tree | ed52a789b499c02d36d861eb87cc694fd805f23f /examples/datavisualization/qmlaxisdrag | |
parent | b20a41dfb410ef0e99d73bc35dfffade48cf55cb (diff) |
Combine 2 examples into one
Combine qmlaxisdrag and qmlaxisformatter examples into one
Pick-to: 6.5
Fixes: QTBUG-110699
Change-Id: I5043089ad47370165543b7c09409ba08d5f4690d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'examples/datavisualization/qmlaxisdrag')
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/CMakeLists.txt | 55 | ||||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/doc/images/qmlaxisdrag-example.png | bin | 89048 -> 0 bytes | |||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc | 99 | ||||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/main.cpp | 34 | ||||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cube.obj | 415 | ||||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cubetexture.png | bin | 10429 -> 0 bytes | |||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/main.qml | 308 | ||||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/qmlaxisdrag.pro | 11 | ||||
-rw-r--r-- | examples/datavisualization/qmlaxisdrag/qmlaxisdrag.qrc | 11 |
9 files changed, 0 insertions, 933 deletions
diff --git a/examples/datavisualization/qmlaxisdrag/CMakeLists.txt b/examples/datavisualization/qmlaxisdrag/CMakeLists.txt deleted file mode 100644 index e7e70916..00000000 --- a/examples/datavisualization/qmlaxisdrag/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: BSD-3-Clause - -cmake_minimum_required(VERSION 3.16) -project(qmlaxisdrag LANGUAGES CXX) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Qml) -find_package(Qt6 COMPONENTS Quick) -find_package(Qt6 COMPONENTS DataVisualization) - -qt_add_executable(qmlaxisdrag - main.cpp -) -set_target_properties(qmlaxisdrag PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(qmlaxisdrag PUBLIC - Qt::Core - Qt::Gui - Qt::Qml - Qt::Quick - Qt::DataVisualization -) - -qt6_add_qml_module(qmlaxisdrag - URI AxisDrag - VERSION 1.0 - NO_RESOURCE_TARGET_PATH - QML_FILES - qml/qmlaxisdrag/main.qml - RESOURCES - qml/qmlaxisdrag/cube.obj - qml/qmlaxisdrag/cubetexture.png -) - -install(TARGETS qmlaxisdrag - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/datavisualization/qmlaxisdrag/doc/images/qmlaxisdrag-example.png b/examples/datavisualization/qmlaxisdrag/doc/images/qmlaxisdrag-example.png Binary files differdeleted file mode 100644 index de33ba66..00000000 --- a/examples/datavisualization/qmlaxisdrag/doc/images/qmlaxisdrag-example.png +++ /dev/null diff --git a/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc b/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc deleted file mode 100644 index 70eaa9ca..00000000 --- a/examples/datavisualization/qmlaxisdrag/doc/src/qmlaxisdrag.qdoc +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only - -/*! - \example qmlaxisdrag - \meta tags {DataVisualization, Scatter3D, Custom Input Handler, Dynamic Data, Scatter Graph} - \meta category {Graphics} - \title Axis Dragging - \ingroup qtdatavisualization_qmlexamples - \brief Implementing axis dragging with a custom input handler in QML. - \since QtDataVisualization 1.1 - - The axis dragging example concentrates on showing how to implement axis range - changing by dragging axis labels in QML. It also gives a quick peek to two other new features - in Qt Data Visualization 1.1: orthographic projection and dynamic custom item handling. - - \image qmlaxisdrag-example.png - - \include examples-run.qdocinc - - \section1 Overriding Default Input Handling - - First we deactivate the default input handling mechanism by setting the active input handler - of Scatter3D graph to \c{null}: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 0 - \dots - - Then we add a MouseArea and set it to fill the parent, which is the same \c Item our - \c scatterGraph is contained in. We also set it to accept only left mouse button presses, - as in this example we are not interested in other buttons: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 1 - \dots - - Then we need to listen to mouse presses, and when caught, send a selection query to the graph: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 2 - - Current mouse position, that will be needed for move distance calculation, is caught in - \c{onPositionChanged}: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 3 - \dots - - At the end of \c{onPositionChanged}, we'll save the previous mouse position for move distance - calculation that will be introduced later: - - \dots 0 - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 4 - - \section1 Translating Mouse Movement to Axis Range Change - - in \c scatterGraph we will need to listen to \c onSelectedElementChanged signal. The signal - is emitted after the selection query has been made in the \c{onPressed} of \c{inputArea}. We - set the element type into a property we defined (\c{property int selectedAxisLabel: -1}) in our - main component, since it is of a type we are interested in: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 5 - - Then, back in the \c onPositionChanged of \c{inputArea}, we check if a mouse button is pressed - and if we have a current axis label selection. If the conditions are met, we'll call the - function that does the conversion from mouse movement to axis range update: - - \dots 0 - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 6 - \dots 0 - - The conversion is easy in this case, as we have a fixed camera rotation. We can use some - precalculated values, calculate mouse move distance, and apply the values to the - selected axis range: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 7 - - For a more sophisticated conversion from mouse movement to axis range update, see - \l{Input Handling for Axes}. - - \section1 Other Features - - The example also demonstrates how to use orthographic projection and how to update properties - of a custom item on the fly. - - Orthographic projection is very simple. You'll just need to change \c orthoProjection property - of \c{scatterGraph}. In this example we have a button for toggling it on and off: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 8 - - For custom items, first we'll add one in the \c customItemList of \c{scatterGraph}: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 9 - - We have implemented a timer to add, remove, and rotate all the items in the graph, - and we'll use the same timer for rotating the custom item: - - \snippet qmlaxisdrag/qml/qmlaxisdrag/main.qml 10 - \dots - - \section1 Example Contents -*/ diff --git a/examples/datavisualization/qmlaxisdrag/main.cpp b/examples/datavisualization/qmlaxisdrag/main.cpp deleted file mode 100644 index e910b8a2..00000000 --- a/examples/datavisualization/qmlaxisdrag/main.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only - -#include <QtGui/QGuiApplication> -#include <QtCore/QDir> -#include <QtQuick/QQuickView> -#include <QtQml/QQmlEngine> - -int main(int argc, char *argv[]) -{ - qputenv("QSG_RHI_BACKEND", "opengl"); - QGuiApplication app(argc, argv); - - QQuickView viewer; - - // The following are needed to make examples run without having to install the module - // in desktop environments. -#ifdef Q_OS_WIN - QString extraImportPath(QStringLiteral("%1/../../../../%2")); -#else - QString extraImportPath(QStringLiteral("%1/../../../%2")); -#endif - viewer.engine()->addImportPath(extraImportPath.arg(QGuiApplication::applicationDirPath(), - QString::fromLatin1("qml"))); - QObject::connect(viewer.engine(), &QQmlEngine::quit, &viewer, &QWindow::close); - - viewer.setTitle(QStringLiteral("QML Draggable Axes")); - - viewer.setSource(QUrl("qrc:/qml/qmlaxisdrag/main.qml")); - viewer.setResizeMode(QQuickView::SizeRootObjectToView); - viewer.show(); - - return app.exec(); -} diff --git a/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cube.obj b/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cube.obj deleted file mode 100644 index 0197618f..00000000 --- a/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cube.obj +++ /dev/null @@ -1,415 +0,0 @@ -# Blender v2.66 (sub 0) OBJ File: 'beveled_cube.blend' -# www.blender.org -v -1.000000 -0.878027 0.878027 -v -0.978771 -0.929277 0.878027 -v -0.950975 -0.932562 0.932562 -v -0.978771 -0.878027 0.929277 -v -0.932562 -0.950975 0.932562 -v -0.929277 -0.978771 0.878027 -v -0.878027 -1.000000 0.878027 -v -0.878027 -0.978771 0.929277 -v -0.932562 -0.932562 0.950975 -v -0.878027 -0.929277 0.978771 -v -0.878027 -0.878027 1.000000 -v -0.929277 -0.878027 0.978771 -v -1.000000 -0.878027 -0.878027 -v -0.978771 -0.878027 -0.929277 -v -0.950975 -0.932562 -0.932562 -v -0.978771 -0.929277 -0.878027 -v -0.932562 -0.932562 -0.950975 -v -0.929277 -0.878027 -0.978771 -v -0.878027 -0.878027 -1.000000 -v -0.878027 -0.929277 -0.978771 -v -0.932562 -0.950975 -0.932562 -v -0.878027 -0.978771 -0.929277 -v -0.878027 -1.000000 -0.878027 -v -0.929277 -0.978771 -0.878027 -v 0.878027 -0.878027 -1.000000 -v 0.929277 -0.878027 -0.978771 -v 0.932562 -0.932562 -0.950975 -v 0.878027 -0.929277 -0.978771 -v 0.950975 -0.932562 -0.932562 -v 0.978771 -0.878027 -0.929277 -v 1.000000 -0.878027 -0.878027 -v 0.978771 -0.929277 -0.878027 -v 0.932562 -0.950975 -0.932562 -v 0.929277 -0.978771 -0.878027 -v 0.878027 -1.000000 -0.878027 -v 0.878027 -0.978771 -0.929277 -v 1.000000 -0.878027 0.878027 -v 0.978771 -0.878027 0.929277 -v 0.950975 -0.932562 0.932562 -v 0.978771 -0.929277 0.878027 -v 0.932562 -0.932562 0.950975 -v 0.929277 -0.878027 0.978771 -v 0.878027 -0.878027 1.000000 -v 0.878027 -0.929277 0.978771 -v 0.932562 -0.950975 0.932562 -v 0.878027 -0.978771 0.929277 -v 0.878027 -1.000000 0.878027 -v 0.929277 -0.978771 0.878027 -v -0.878027 0.878027 1.000000 -v -0.878027 0.929277 0.978771 -v -0.932562 0.932562 0.950975 -v -0.929277 0.878027 0.978771 -v -0.932562 0.950975 0.932562 -v -0.878027 0.978771 0.929277 -v -0.878027 1.000000 0.878027 -v -0.929277 0.978771 0.878027 -v -0.950975 0.932562 0.932562 -v -0.978771 0.929277 0.878027 -v -1.000000 0.878027 0.878027 -v -0.978771 0.878027 0.929277 -v -1.000000 0.878027 -0.878027 -v -0.978771 0.929277 -0.878027 -v -0.950975 0.932562 -0.932562 -v -0.978771 0.878027 -0.929277 -v -0.932562 0.950975 -0.932562 -v -0.929277 0.978771 -0.878027 -v -0.878027 1.000000 -0.878027 -v -0.878027 0.978771 -0.929277 -v -0.932562 0.932562 -0.950975 -v -0.878027 0.929277 -0.978771 -v -0.878027 0.878027 -1.000000 -v -0.929277 0.878027 -0.978771 -v 0.878027 0.878027 -1.000000 -v 0.878027 0.929277 -0.978771 -v 0.932562 0.932562 -0.950975 -v 0.929277 0.878027 -0.978771 -v 0.932562 0.950975 -0.932562 -v 0.878027 0.978771 -0.929277 -v 0.878027 1.000000 -0.878027 -v 0.929277 0.978771 -0.878027 -v 0.950975 0.932562 -0.932562 -v 0.978771 0.929277 -0.878027 -v 1.000000 0.878027 -0.878027 -v 0.978771 0.878027 -0.929277 -v 1.000000 0.878027 0.878027 -v 0.978771 0.929277 0.878027 -v 0.950975 0.932562 0.932562 -v 0.978771 0.878027 0.929277 -v 0.932562 0.950975 0.932562 -v 0.929277 0.978771 0.878027 -v 0.878027 1.000000 0.878027 -v 0.878027 0.978771 0.929277 -v 0.932562 0.932562 0.950975 -v 0.878027 0.929277 0.978771 -v 0.878027 0.878027 1.000000 -v 0.929277 0.878027 0.978771 -vt 0.024513 0.966281 -vt 0.033719 0.975487 -vt 0.033719 0.966281 -vt 0.964639 0.060986 -vt 0.964639 0.939014 -vt 0.989386 0.939014 -vt 0.939014 0.964639 -vt 0.060986 0.964639 -vt 0.939014 0.989386 -vt 0.060986 0.060986 -vt 0.060986 0.939014 -vt 0.939014 0.939014 -vt 0.035361 0.060986 -vt 0.035361 0.939014 -vt 0.010614 0.060986 -vt 0.010614 0.939014 -vt 0.989386 0.060986 -vt 0.939014 0.035361 -vt 0.060986 0.035361 -vt 0.060986 0.010614 -vt 0.060986 0.989386 -vt 0.939014 0.060986 -vt 0.966281 0.975487 -vt 0.966281 0.966281 -vt 0.975487 0.966281 -vt 0.975487 0.033719 -vt 0.966281 0.033719 -vt 0.966281 0.024513 -vt 0.033719 0.024513 -vt 0.033719 0.033719 -vt 0.024513 0.033719 -vt 0.939014 0.010614 -vn -0.713187 -0.495651 -0.495651 -vn -0.495651 -0.495651 -0.713187 -vn -0.495651 -0.713187 -0.495651 -vn 0.539384 -0.823450 0.175909 -vn 0.539384 -0.823450 -0.175909 -vn 0.823450 -0.539384 -0.175909 -vn -0.713187 0.495651 -0.495651 -vn -0.495651 0.713187 -0.495651 -vn -0.495651 0.495651 -0.713187 -vn 0.175909 -0.823450 -0.539384 -vn -0.185644 -0.825892 -0.532365 -vn 0.175909 -0.539384 -0.823450 -vn -0.193426 -0.961852 0.193426 -vn -0.193426 -0.961852 -0.193426 -vn 0.187689 -0.964110 -0.187689 -vn -0.532365 -0.185644 0.825892 -vn -0.532365 0.185644 0.825892 -vn -0.825892 -0.185644 0.532365 -vn -0.532365 0.185644 -0.825892 -vn -0.532365 -0.185644 -0.825892 -vn -0.825892 0.185644 -0.532365 -vn 0.823450 0.175909 -0.539384 -vn 0.823450 -0.175909 -0.539384 -vn 0.539384 -0.175909 -0.823450 -vn 0.539384 0.175909 0.823450 -vn 0.539384 -0.175909 0.823450 -vn 0.823450 -0.175909 0.539384 -vn 0.175909 0.823450 0.539384 -vn -0.185644 0.825892 0.532365 -vn -0.185644 0.532365 0.825892 -vn -0.185644 0.825892 -0.532365 -vn 0.175909 0.823450 -0.539384 -vn -0.185644 0.532365 -0.825892 -vn 0.539384 0.823450 -0.175909 -vn 0.539384 0.823450 0.175909 -vn 0.823450 0.539384 0.175909 -vn 0.187689 0.964110 0.187689 -vn 0.187689 0.964110 -0.187689 -vn -0.193426 0.961852 -0.193426 -vn -0.193426 0.193426 -0.961852 -vn 0.187689 0.187689 -0.964110 -vn -0.193426 -0.193426 -0.961852 -vn -0.961852 0.193426 0.193426 -vn -0.961852 0.193426 -0.193426 -vn -0.961852 -0.193426 0.193426 -vn -0.532365 -0.825892 -0.185644 -vn -0.532365 -0.825892 0.185644 -vn -0.825892 -0.532365 -0.185644 -vn 0.498856 0.498856 -0.708701 -vn 0.498856 0.708701 -0.498856 -vn 0.708701 0.498856 -0.498856 -vn 0.964110 0.187689 -0.187689 -vn 0.964110 0.187689 0.187689 -vn 0.964110 -0.187689 0.187689 -vn 0.498856 -0.498856 -0.708701 -vn 0.708701 -0.498856 -0.498856 -vn 0.498856 -0.708701 -0.498856 -vn 0.708701 0.498856 0.498856 -vn 0.498856 0.708701 0.498856 -vn 0.498856 0.498856 0.708701 -vn -0.495651 0.495651 0.713187 -vn -0.495651 0.713187 0.495651 -vn -0.713187 0.495651 0.495651 -vn 0.708701 -0.498856 0.498856 -vn 0.498856 -0.498856 0.708701 -vn 0.498856 -0.708701 0.498856 -vn -0.532365 0.825892 0.185644 -vn -0.532365 0.825892 -0.185644 -vn -0.825892 0.532365 0.185644 -vn 0.187689 0.187689 0.964110 -vn -0.193426 0.193426 0.961852 -vn -0.193426 -0.193426 0.961852 -vn -0.185644 -0.825892 0.532365 -vn 0.175909 -0.823450 0.539384 -vn 0.175909 -0.539384 0.823450 -vn -0.825892 -0.532365 0.185644 -vn -0.713187 -0.495651 0.495651 -vn -0.495651 -0.713187 0.495651 -vn -0.495651 -0.495651 0.713187 -vn -0.185644 -0.532365 0.825892 -vn -0.961852 -0.193426 -0.193426 -vn -0.825892 -0.185644 -0.532365 -vn 0.187689 -0.187689 -0.964110 -vn 0.823450 -0.539384 0.175909 -vn -0.193426 0.961852 0.193426 -vn -0.825892 0.532365 -0.185644 -vn 0.175909 0.539384 -0.823450 -vn 0.539384 0.175909 -0.823450 -vn 0.823450 0.539384 -0.175909 -vn 0.823450 0.175909 0.539384 -vn 0.175909 0.539384 0.823450 -vn -0.185644 -0.532365 -0.825892 -vn -0.825892 0.185644 0.532365 -vn 0.964110 -0.187689 -0.187689 -vn 0.187689 -0.187689 0.964110 -vn 0.187689 -0.964110 0.187689 -s 1 -f 15/1/1 17/2/2 21/3/3 -f 48/4/4 34/5/5 32/6/6 -f 63/1/7 65/3/8 69/2/9 -f 36/7/10 22/8/11 28/9/12 -f 7/10/13 23/11/14 35/12/15 -f 12/13/16 52/14/17 4/15/18 -f 72/14/19 18/13/20 64/16/21 -f 84/6/22 30/17/23 26/4/24 -f 96/5/25 42/4/26 38/17/27 -f 92/18/28 54/19/29 50/20/30 -f 68/8/31 78/7/32 70/21/33 -f 80/5/34 90/4/35 86/17/36 -f 91/22/37 79/12/38 67/11/39 -f 71/11/40 73/12/41 19/10/42 -f 59/11/43 61/12/44 1/10/45 -f 24/14/46 6/13/47 16/16/48 -f 75/23/49 77/24/50 81/25/51 -f 83/12/52 85/11/53 37/10/54 -f 27/23/55 29/25/56 33/24/57 -f 87/26/58 89/27/59 93/28/60 -f 51/29/61 53/30/62 57/31/63 -f 39/26/64 41/28/65 45/27/66 -f 56/13/67 66/14/68 58/15/69 -f 95/12/70 49/11/71 11/10/72 -f 8/19/73 46/18/74 44/32/75 -f 1/10/45 2/19/76 3/30/77 -f 5/30/78 6/13/47 7/10/13 -f 9/30/79 10/19/80 11/10/72 -f 13/22/81 14/4/82 15/27/1 -f 17/30/2 18/13/20 19/10/42 -f 21/3/3 22/8/11 23/11/14 -f 25/22/83 26/4/24 28/18/12 -f 29/27/56 30/4/23 32/18/6 -f 33/24/57 34/5/5 36/7/10 -f 37/10/54 38/13/27 40/19/84 -f 41/27/65 42/4/26 44/18/75 -f 45/27/66 46/18/74 48/4/4 -f 49/11/71 50/8/30 51/3/61 -f 53/30/62 54/19/29 55/10/85 -f 57/3/63 58/8/69 59/11/43 -f 61/12/44 62/7/86 63/24/7 -f 65/3/8 66/14/68 67/11/39 -f 69/3/9 70/8/33 71/11/40 -f 73/12/41 74/7/87 76/5/88 -f 77/24/50 78/7/32 80/5/34 -f 81/24/51 82/7/89 84/5/22 -f 85/11/53 86/8/36 88/14/90 -f 89/27/59 90/4/35 92/18/28 -f 93/24/60 94/7/91 96/5/25 -f 2/15/76 6/13/47 3/31/77 -f 8/19/73 10/20/80 5/30/78 -f 12/13/16 4/15/18 9/30/79 -f 14/15/82 18/13/20 15/31/1 -f 20/21/92 22/8/11 17/2/2 -f 24/14/46 16/16/48 21/3/3 -f 26/4/24 30/17/23 29/26/56 -f 32/6/6 34/5/5 33/24/57 -f 36/7/10 28/9/12 27/23/55 -f 38/17/27 42/4/26 41/27/65 -f 44/32/75 46/18/74 45/27/66 -f 48/4/4 40/17/84 39/26/64 -f 50/20/30 54/19/29 51/29/61 -f 56/13/67 58/15/69 53/30/62 -f 60/16/93 52/14/17 57/1/63 -f 62/16/86 66/14/68 63/1/7 -f 68/8/31 70/21/33 65/3/8 -f 72/14/19 64/16/21 69/3/9 -f 74/9/87 78/7/32 77/24/50 -f 80/5/34 82/6/89 81/25/51 -f 84/6/22 76/5/88 75/24/49 -f 86/17/36 90/4/35 89/27/59 -f 92/18/28 94/32/91 93/28/60 -f 96/5/25 88/6/90 87/25/58 -f 55/10/85 67/11/39 56/13/67 -f 61/12/44 59/11/43 62/7/86 -f 71/11/40 19/10/42 72/14/19 -f 13/22/81 61/12/44 14/4/82 -f 23/11/14 7/10/13 24/14/46 -f 1/10/45 13/22/81 2/19/76 -f 11/10/72 49/11/71 12/13/16 -f 59/11/43 1/10/45 60/14/93 -f 67/11/39 79/12/38 68/8/31 -f 73/12/41 71/11/40 74/7/87 -f 83/12/52 31/22/94 30/4/23 -f 25/22/83 73/12/41 76/5/88 -f 35/12/15 23/11/14 36/7/10 -f 19/10/42 25/22/83 20/19/92 -f 79/12/38 91/22/37 90/4/35 -f 85/11/53 83/12/52 82/7/89 -f 95/12/70 43/22/95 42/4/26 -f 37/10/54 85/11/53 88/14/90 -f 47/22/96 35/12/15 34/5/5 -f 31/22/94 37/10/54 40/19/84 -f 91/22/37 55/10/85 54/19/29 -f 49/11/71 95/12/70 94/7/91 -f 7/10/13 47/22/96 46/18/74 -f 43/22/95 11/10/72 10/19/80 -f 3/31/77 5/30/78 9/29/79 -f 40/17/84 48/4/4 32/6/6 -f 22/8/11 20/21/92 28/9/12 -f 47/22/96 7/10/13 35/12/15 -f 52/14/17 60/16/93 4/15/18 -f 18/13/20 14/15/82 64/16/21 -f 76/5/88 84/6/22 26/4/24 -f 88/6/90 96/5/25 38/17/27 -f 94/32/91 92/18/28 50/20/30 -f 78/7/32 74/9/87 70/21/33 -f 82/6/89 80/5/34 86/17/36 -f 55/10/85 91/22/37 67/11/39 -f 73/12/41 25/22/83 19/10/42 -f 61/12/44 13/22/81 1/10/45 -f 6/13/47 2/15/76 16/16/48 -f 31/22/94 83/12/52 37/10/54 -f 66/14/68 62/16/86 58/15/69 -f 43/22/95 95/12/70 11/10/72 -f 10/20/80 8/19/73 44/32/75 -f 4/13/18 1/10/45 3/30/77 -f 8/19/73 5/30/78 7/10/13 -f 12/13/16 9/30/79 11/10/72 -f 16/18/48 13/22/81 15/27/1 -f 20/19/92 17/30/2 19/10/42 -f 24/14/46 21/3/3 23/11/14 -f 26/4/24 27/27/55 28/18/12 -f 30/4/23 31/22/94 32/18/6 -f 34/5/5 35/12/15 36/7/10 -f 38/13/27 39/30/64 40/19/84 -f 42/4/26 43/22/95 44/18/75 -f 46/18/74 47/22/96 48/4/4 -f 52/14/17 49/11/71 51/3/61 -f 56/13/67 53/30/62 55/10/85 -f 60/14/93 57/3/63 59/11/43 -f 64/5/21 61/12/44 63/24/7 -f 68/8/31 65/3/8 67/11/39 -f 72/14/19 69/3/9 71/11/40 -f 74/7/87 75/24/49 76/5/88 -f 78/7/32 79/12/38 80/5/34 -f 82/7/89 83/12/52 84/5/22 -f 86/8/36 87/3/58 88/14/90 -f 90/4/35 91/22/37 92/18/28 -f 94/7/91 95/12/70 96/5/25 -f 6/13/47 5/30/78 3/31/77 -f 10/20/80 9/29/79 5/30/78 -f 4/15/18 3/31/77 9/30/79 -f 18/13/20 17/30/2 15/31/1 -f 22/8/11 21/3/3 17/2/2 -f 16/16/48 15/1/1 21/3/3 -f 27/27/55 26/4/24 29/26/56 -f 29/25/56 32/6/6 33/24/57 -f 33/24/57 36/7/10 27/23/55 -f 39/26/64 38/17/27 41/27/65 -f 41/28/65 44/32/75 45/27/66 -f 45/27/66 48/4/4 39/26/64 -f 54/19/29 53/30/62 51/29/61 -f 58/15/69 57/31/63 53/30/62 -f 52/14/17 51/3/61 57/1/63 -f 66/14/68 65/3/8 63/1/7 -f 70/21/33 69/2/9 65/3/8 -f 64/16/21 63/1/7 69/3/9 -f 75/23/49 74/9/87 77/24/50 -f 77/24/50 80/5/34 81/25/51 -f 81/25/51 84/6/22 75/24/49 -f 87/26/58 86/17/36 89/27/59 -f 89/27/59 92/18/28 93/28/60 -f 93/24/60 96/5/25 87/25/58 -f 67/11/39 66/14/68 56/13/67 -f 59/11/43 58/8/69 62/7/86 -f 19/10/42 18/13/20 72/14/19 -f 61/12/44 64/5/21 14/4/82 -f 7/10/13 6/13/47 24/14/46 -f 13/22/81 16/18/48 2/19/76 -f 49/11/71 52/14/17 12/13/16 -f 1/10/45 4/13/18 60/14/93 -f 79/12/38 78/7/32 68/8/31 -f 71/11/40 70/8/33 74/7/87 -f 84/5/22 83/12/52 30/4/23 -f 26/4/24 25/22/83 76/5/88 -f 23/11/14 22/8/11 36/7/10 -f 25/22/83 28/18/12 20/19/92 -f 80/5/34 79/12/38 90/4/35 -f 86/8/36 85/11/53 82/7/89 -f 96/5/25 95/12/70 42/4/26 -f 38/13/27 37/10/54 88/14/90 -f 48/4/4 47/22/96 34/5/5 -f 32/18/6 31/22/94 40/19/84 -f 92/18/28 91/22/37 54/19/29 -f 50/8/30 49/11/71 94/7/91 -f 8/19/73 7/10/13 46/18/74 -f 44/18/75 43/22/95 10/19/80 diff --git a/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cubetexture.png b/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cubetexture.png Binary files differdeleted file mode 100644 index 3cea6863..00000000 --- a/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/cubetexture.png +++ /dev/null diff --git a/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/main.qml b/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/main.qml deleted file mode 100644 index dc5f0802..00000000 --- a/examples/datavisualization/qmlaxisdrag/qml/qmlaxisdrag/main.qml +++ /dev/null @@ -1,308 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only - -import QtQuick -import QtDataVisualization -import QtQuick.Controls - -Item { - id: mainView - width: 800 - height: 600 - visible: true - - property int selectedAxisLabel: -1 - property real dragSpeedModifier: 100.0 - property int currentMouseX: -1 - property int currentMouseY: -1 - property int previousMouseX: -1 - property int previousMouseY: -1 - - property bool portraitMode: width < height - - ListModel { - id: graphModel - ListElement{ xPos: 0.0; yPos: 0.0; zPos: 0.0; rotation: "@0,0,0,0" } - ListElement{ xPos: 1.0; yPos: 1.0; zPos: 1.0; rotation: "@45,1,1,1" } - } - - Timer { - id: dataTimer - interval: 1 - running: true - repeat: true - property bool isIncreasing: true - property real rotationAngle: 0 - - function generateQuaternion() { - return "@" + Math.random() * 360 + "," + Math.random() + "," - + Math.random() + "," + Math.random() - } - - function appendRow() { - graphModel.append({"xPos": Math.random(), - "yPos": Math.random(), - "zPos": Math.random(), - "rotation": generateQuaternion() - }); - } - - //! [10] - onTriggered: { - rotationAngle = rotationAngle + 1 - qtCube.setRotationAxisAndAngle(Qt.vector3d(1, 0, 1), rotationAngle) - //! [10] - scatterSeries.setMeshAxisAndAngle(Qt.vector3d(1, 1, 1), rotationAngle) - if (isIncreasing) { - for (var i = 0; i < 10; i++) - appendRow() - if (graphModel.count > 2002) { - scatterGraph.theme = isabelleTheme - isIncreasing = false - } - } else { - graphModel.remove(2, 10); - if (graphModel.count === 2) { - scatterGraph.theme = dynamicColorTheme - isIncreasing = true - } - } - } - } - - ThemeColor { - id: dynamicColor - ColorAnimation on color { - from: "red" - to: "yellow" - duration: 2000 - loops: Animation.Infinite - } - } - - Theme3D { - id: dynamicColorTheme - type: Theme3D.ThemeEbony - baseColors: [dynamicColor] - font.pointSize: 50 - labelBorderEnabled: true - labelBackgroundColor: "gold" - labelTextColor: "black" - } - - Theme3D { - id: isabelleTheme - type: Theme3D.ThemeIsabelle - font.pointSize: 50 - labelBorderEnabled: true - labelBackgroundColor: "gold" - labelTextColor: "black" - } - - Item { - id: dataView - anchors.bottom: parent.bottom - width: parent.width - height: parent.height - - //! [0] - Scatter3D { - id: scatterGraph - inputHandler: null - //! [0] - width: dataView.width - height: dataView.height - theme: dynamicColorTheme - shadowQuality: AbstractGraph3D.ShadowQualityLow - scene.activeCamera.yRotation: 45.0 - scene.activeCamera.xRotation: 45.0 - scene.activeCamera.zoomLevel: 75.0 - - Scatter3DSeries { - id: scatterSeries - itemLabelFormat: "X:@xLabel Y:@yLabel Z:@zLabel" - mesh: Abstract3DSeries.MeshCube - - ItemModelScatterDataProxy { - itemModel: graphModel - xPosRole: "xPos" - yPosRole: "yPos" - zPosRole: "zPos" - rotationRole: "rotation" - } - } - //! [9] - customItemList: [ - Custom3DItem { - id: qtCube - meshFile: ":/qml/qmlaxisdrag/cube.obj" - textureFile: ":/qml/qmlaxisdrag/cubetexture.png" - position: Qt.vector3d(0.65, 0.35, 0.65) - scaling: Qt.vector3d(0.3, 0.3, 0.3) - } - ] - //! [9] - //! [5] - onSelectedElementChanged: { - if (selectedElement >= AbstractGraph3D.ElementAxisXLabel - && selectedElement <= AbstractGraph3D.ElementAxisZLabel) - selectedAxisLabel = selectedElement - else - selectedAxisLabel = -1 - } - //! [5] - } - - //! [1] - MouseArea { - anchors.fill: parent - hoverEnabled: true - acceptedButtons: Qt.LeftButton - //! [1] - - //! [3] - onPositionChanged: (mouse)=> { - currentMouseX = mouse.x; - currentMouseY = mouse.y; - //! [3] - //! [6] - if (pressed && selectedAxisLabel != -1) - dragAxis(); - //! [6] - //! [4] - previousMouseX = currentMouseX; - previousMouseY = currentMouseY; - } - //! [4] - - //! [2] - onPressed: (mouse)=> { - scatterGraph.scene.selectionQueryPosition = Qt.point(mouse.x, mouse.y); - } - //! [2] - - onReleased: { - // We need to clear mouse positions and selected axis, because touch devices cannot - // track position all the time - selectedAxisLabel = -1 - currentMouseX = -1 - currentMouseY = -1 - previousMouseX = -1 - previousMouseY = -1 - } - } - } - - //! [7] - function dragAxis() { - // Do nothing if previous mouse position is uninitialized - if (previousMouseX === -1) - return - - // Directional drag multipliers based on rotation. Camera is locked to 45 degrees, so we - // can use one precalculated value instead of calculating xx, xy, zx and zy individually - var cameraMultiplier = 0.70710678 - - // Calculate the mouse move amount - var moveX = currentMouseX - previousMouseX - var moveY = currentMouseY - previousMouseY - - // Adjust axes - switch (selectedAxisLabel) { - case AbstractGraph3D.ElementAxisXLabel: - var distance = ((moveX - moveY) * cameraMultiplier) / dragSpeedModifier - // Check if we need to change min or max first to avoid invalid ranges - if (distance > 0) { - scatterGraph.axisX.min -= distance - scatterGraph.axisX.max -= distance - } else { - scatterGraph.axisX.max -= distance - scatterGraph.axisX.min -= distance - } - break - case AbstractGraph3D.ElementAxisYLabel: - distance = moveY / dragSpeedModifier - // Check if we need to change min or max first to avoid invalid ranges - if (distance > 0) { - scatterGraph.axisY.max += distance - scatterGraph.axisY.min += distance - } else { - scatterGraph.axisY.min += distance - scatterGraph.axisY.max += distance - } - break - case AbstractGraph3D.ElementAxisZLabel: - distance = ((moveX + moveY) * cameraMultiplier) / dragSpeedModifier - // Check if we need to change min or max first to avoid invalid ranges - if (distance > 0) { - scatterGraph.axisZ.max += distance - scatterGraph.axisZ.min += distance - } else { - scatterGraph.axisZ.min += distance - scatterGraph.axisZ.max += distance - } - break - } - } - //! [7] - - Button { - id: rangeToggle - // We're adding 3 buttons and want to divide them equally, if not in portrait mode - width: mainView.portraitMode ? parent.width : parent.width / 3 - text: "Use Preset Range" - anchors.left: parent.left - anchors.top: parent.top - property bool autoRange: true - onClicked: { - if (autoRange) { - text = "Use Automatic Range" - scatterGraph.axisX.min = 0.3 - scatterGraph.axisX.max = 0.7 - scatterGraph.axisY.min = 0.3 - scatterGraph.axisY.max = 0.7 - scatterGraph.axisZ.min = 0.3 - scatterGraph.axisZ.max = 0.7 - autoRange = false - dragSpeedModifier = 200.0 - } else { - text = "Use Preset Range" - autoRange = true - dragSpeedModifier = 100.0 - } - scatterGraph.axisX.autoAdjustRange = autoRange - scatterGraph.axisY.autoAdjustRange = autoRange - scatterGraph.axisZ.autoAdjustRange = autoRange - } - } - - //! [8] - Button { - id: orthoToggle - width: mainView.portraitMode ? parent.width : parent.width / 3 - text: "Display Orthographic" - anchors.left: mainView.portraitMode ? parent.left : rangeToggle.right - anchors.top: mainView.portraitMode ? rangeToggle.bottom : parent.top - onClicked: { - if (scatterGraph.orthoProjection) { - text = "Display Orthographic"; - scatterGraph.orthoProjection = false - // Orthographic projection disables shadows, so we need to switch them back on - scatterGraph.shadowQuality = AbstractGraph3D.ShadowQualityLow - } else { - text = "Display Perspective"; - scatterGraph.orthoProjection = true - } - } - } - //! [8] - - Button { - id: exitButton - width: mainView.portraitMode ? parent.width : parent.width / 3 - text: "Quit" - anchors.left: mainView.portraitMode ? parent.left : orthoToggle.right - anchors.top: mainView.portraitMode ? orthoToggle.bottom : parent.top - onClicked: Qt.quit(); - } -} diff --git a/examples/datavisualization/qmlaxisdrag/qmlaxisdrag.pro b/examples/datavisualization/qmlaxisdrag/qmlaxisdrag.pro deleted file mode 100644 index d45525ad..00000000 --- a/examples/datavisualization/qmlaxisdrag/qmlaxisdrag.pro +++ /dev/null @@ -1,11 +0,0 @@ -!include( ../examples.pri ) { - error( "Couldn't find the examples.pri file!" ) -} - -SOURCES += main.cpp - -RESOURCES += qmlaxisdrag.qrc - -OTHER_FILES += doc/src/* \ - doc/images/* \ - qml/qmlaxisdrag/* diff --git a/examples/datavisualization/qmlaxisdrag/qmlaxisdrag.qrc b/examples/datavisualization/qmlaxisdrag/qmlaxisdrag.qrc deleted file mode 100644 index 9e6b90c8..00000000 --- a/examples/datavisualization/qmlaxisdrag/qmlaxisdrag.qrc +++ /dev/null @@ -1,11 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>qml/qmlaxisdrag/main.qml</file> - </qresource> - <qresource prefix="/mesh"> - <file alias="cube">qml/qmlaxisdrag/cube.obj</file> - </qresource> - <qresource prefix="/texture"> - <file alias="texture">qml/qmlaxisdrag/cubetexture.png</file> - </qresource> -</RCC> |