diff options
Diffstat (limited to 'examples/datavisualization/scatter')
-rw-r--r-- | examples/datavisualization/scatter/CMakeLists.txt | 40 | ||||
-rw-r--r-- | examples/datavisualization/scatter/doc/images/scatter-example.png | bin | 142496 -> 0 bytes | |||
-rw-r--r-- | examples/datavisualization/scatter/doc/src/scatter.qdoc | 157 | ||||
-rw-r--r-- | examples/datavisualization/scatter/main.cpp | 196 | ||||
-rw-r--r-- | examples/datavisualization/scatter/scatter.pro | 17 | ||||
-rw-r--r-- | examples/datavisualization/scatter/scatterdatamodifier.cpp | 216 | ||||
-rw-r--r-- | examples/datavisualization/scatter/scatterdatamodifier.h | 78 |
7 files changed, 0 insertions, 704 deletions
diff --git a/examples/datavisualization/scatter/CMakeLists.txt b/examples/datavisualization/scatter/CMakeLists.txt deleted file mode 100644 index 1b2e967f..00000000 --- a/examples/datavisualization/scatter/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -project(scatter 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 Widgets) -find_package(Qt6 COMPONENTS DataVisualization) - -qt_add_executable(scatter - main.cpp - scatterdatamodifier.cpp scatterdatamodifier.h -) -set_target_properties(scatter PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(scatter PUBLIC - Qt::Core - Qt::Gui - Qt::Widgets - Qt::DataVisualization -) - -install(TARGETS scatter - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/datavisualization/scatter/doc/images/scatter-example.png b/examples/datavisualization/scatter/doc/images/scatter-example.png Binary files differdeleted file mode 100644 index 82c13855..00000000 --- a/examples/datavisualization/scatter/doc/images/scatter-example.png +++ /dev/null diff --git a/examples/datavisualization/scatter/doc/src/scatter.qdoc b/examples/datavisualization/scatter/doc/src/scatter.qdoc deleted file mode 100644 index 36887592..00000000 --- a/examples/datavisualization/scatter/doc/src/scatter.qdoc +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: https://www.gnu.org/licenses/fdl-1.3.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example scatter - \title Scatter Example - \ingroup qtdatavisualization_examples - \brief Using Q3DScatter in a widget application. - - The scatter example shows how to make a simple 3D scatter graph using Q3DScatter and - combining the use of widgets for adjusting several adjustable qualities. The example shows - how to: - - \list - \li Create an application with Q3DScatter and some widgets - \li Use QScatterDataProxy to set data to the graph - \li Adjust some graph properties using widget controls - \endlist - - For instructions about how to interact with the graph, see \l{Qt Data Visualization Interacting with Data}{this page}. - - \image scatter-example.png - - \include examples-run.qdocinc - - \section1 Creating the Application - - First, in main.cpp, we create a QApplication, instantiate Q3DScatter, and a window container - for it: - - \snippet scatter/main.cpp 0 - - The call to QWidget::createWindowContainer is required, as all data visualization graph classes - (Q3DBars, Q3DScatter, and Q3DSurface) inherit QWindow. Any class inheriting QWindow cannot be used - as a widget any other way. - - Then we'll create horizontal and vertical layouts. We'll add the graph and the vertical - layout into the horizontal one: - - \snippet scatter/main.cpp 1 - - We're not using the vertical layout for anything yet, but we'll get back to it in - \l {Using widgets to control the graph} - - Next, let's create another class to handle the data addition and other interaction with the - graph. Let's call it \c ScatterDataModifier (See \l {Setting up the graph} and - \l {Adding data to the graph} for details): - - \snippet scatter/main.cpp 2 - - The application main is done. We can show the graph and start the event loop: - - \snippet scatter/main.cpp 3 - - \section1 Setting up the Graph - - Let's set up some visual qualities for the graph in the constructor of the \c ScatterDataModifier - class we instantiated in the application main: - - \snippet scatter/scatterdatamodifier.cpp 0 - - None of these are required, but are used to override graph defaults. You can try how it looks - with the preset defaults by commenting the block above out. - - Finally we create a QScatterDataProxy and the associated QScatter3DSeries. We set custom label format - and mesh smoothing for the series and add it to the graph: - - \snippet scatter/scatterdatamodifier.cpp 2 - - That concludes setting up the graph. - - \section1 Adding Data to the Graph - - The last thing we do in the \c ScatterDataModifier constructor is to add data to the graph: - - \snippet scatter/scatterdatamodifier.cpp 3 - - The actual data addition is done in \c addData() method. First we configure the axes: - - \snippet scatter/scatterdatamodifier.cpp 4 - - This could have been done in the constructor of \c {ScatterDataModifier}, but we added it here - to keep the constructor simpler and the axes configuration near the data. - - Next we create a data array: - - \snippet scatter/scatterdatamodifier.cpp 5 - - and populate it: - - \snippet scatter/scatterdatamodifier.cpp 6 - - Finally we tell the proxy to start using the data we gave it: - - \snippet scatter/scatterdatamodifier.cpp 7 - - Now our graph has the data and is ready to be used. There isn't much interaction yet, though, - so let's continue by adding some widgets to play with. - - \section1 Using Widgets to Control the Graph - - First, back in the application main, we'll create some widgets: - - \snippet scatter/main.cpp 4 - - And add them to the vertical layout we created earlier: - - \snippet scatter/main.cpp 5 - - Now, let's connect them to methods in ScatterDataModifier: - - \snippet scatter/main.cpp 6 - - Here are the methods in ScatterDataModifier the signals were connected to: - - \snippet scatter/scatterdatamodifier.cpp 8 - - And so we have an application in which we can control: - - \list - \li Label style - \li Camera preset - \li Background visibility - \li Grid visibility - \li Dot shading smoothness - \li Dot style - \li Theme - \li Shadow quality - \li Label font - \endlist - - \section1 Example Contents -*/ diff --git a/examples/datavisualization/scatter/main.cpp b/examples/datavisualization/scatter/main.cpp deleted file mode 100644 index 52a4e397..00000000 --- a/examples/datavisualization/scatter/main.cpp +++ /dev/null @@ -1,196 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Data Visualization module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "scatterdatamodifier.h" - -#include <QtWidgets/QApplication> -#include <QtWidgets/QWidget> -#include <QtWidgets/QHBoxLayout> -#include <QtWidgets/QVBoxLayout> -#include <QtWidgets/QPushButton> -#include <QtWidgets/QCheckBox> -#include <QtWidgets/QComboBox> -#include <QtWidgets/QFontComboBox> -#include <QtWidgets/QLabel> -#include <QtWidgets/QMessageBox> -#include <QtGui/QScreen> -#include <QtGui/QFontDatabase> - -int main(int argc, char **argv) -{ - qputenv("QSG_RHI_BACKEND", "opengl"); - //! [0] - QApplication app(argc, argv); - Q3DScatter *graph = new Q3DScatter(); - QWidget *container = QWidget::createWindowContainer(graph); - //! [0] - - if (!graph->hasContext()) { - QMessageBox msgBox; - msgBox.setText("Couldn't initialize the OpenGL context."); - msgBox.exec(); - return -1; - } - - QSize screenSize = graph->screen()->size(); - container->setMinimumSize(QSize(screenSize.width() / 2, screenSize.height() / 1.5)); - container->setMaximumSize(screenSize); - container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - container->setFocusPolicy(Qt::StrongFocus); - - //! [1] - QWidget *widget = new QWidget; - QHBoxLayout *hLayout = new QHBoxLayout(widget); - QVBoxLayout *vLayout = new QVBoxLayout(); - hLayout->addWidget(container, 1); - hLayout->addLayout(vLayout); - //! [1] - - widget->setWindowTitle(QStringLiteral("A Cosine Wave")); - - //! [4] - QComboBox *themeList = new QComboBox(widget); - themeList->addItem(QStringLiteral("Qt")); - themeList->addItem(QStringLiteral("Primary Colors")); - themeList->addItem(QStringLiteral("Digia")); - themeList->addItem(QStringLiteral("Stone Moss")); - themeList->addItem(QStringLiteral("Army Blue")); - themeList->addItem(QStringLiteral("Retro")); - themeList->addItem(QStringLiteral("Ebony")); - themeList->addItem(QStringLiteral("Isabelle")); - themeList->setCurrentIndex(6); - - QPushButton *labelButton = new QPushButton(widget); - labelButton->setText(QStringLiteral("Change label style")); - - QCheckBox *smoothCheckBox = new QCheckBox(widget); - smoothCheckBox->setText(QStringLiteral("Smooth dots")); - smoothCheckBox->setChecked(true); - - QComboBox *itemStyleList = new QComboBox(widget); - itemStyleList->addItem(QStringLiteral("Sphere"), int(QAbstract3DSeries::MeshSphere)); - itemStyleList->addItem(QStringLiteral("Cube"), int(QAbstract3DSeries::MeshCube)); - itemStyleList->addItem(QStringLiteral("Minimal"), int(QAbstract3DSeries::MeshMinimal)); - itemStyleList->addItem(QStringLiteral("Point"), int(QAbstract3DSeries::MeshPoint)); - itemStyleList->setCurrentIndex(0); - - QPushButton *cameraButton = new QPushButton(widget); - cameraButton->setText(QStringLiteral("Change camera preset")); - - QPushButton *itemCountButton = new QPushButton(widget); - itemCountButton->setText(QStringLiteral("Toggle item count")); - - QCheckBox *backgroundCheckBox = new QCheckBox(widget); - backgroundCheckBox->setText(QStringLiteral("Show background")); - backgroundCheckBox->setChecked(true); - - QCheckBox *gridCheckBox = new QCheckBox(widget); - gridCheckBox->setText(QStringLiteral("Show grid")); - gridCheckBox->setChecked(true); - - QComboBox *shadowQuality = new QComboBox(widget); - shadowQuality->addItem(QStringLiteral("None")); - shadowQuality->addItem(QStringLiteral("Low")); - shadowQuality->addItem(QStringLiteral("Medium")); - shadowQuality->addItem(QStringLiteral("High")); - shadowQuality->addItem(QStringLiteral("Low Soft")); - shadowQuality->addItem(QStringLiteral("Medium Soft")); - shadowQuality->addItem(QStringLiteral("High Soft")); - shadowQuality->setCurrentIndex(4); - - QFontComboBox *fontList = new QFontComboBox(widget); - fontList->setCurrentFont(QFont("Arial")); - //! [4] - - //! [5] - vLayout->addWidget(labelButton, 0, Qt::AlignTop); - vLayout->addWidget(cameraButton, 0, Qt::AlignTop); - vLayout->addWidget(itemCountButton, 0, Qt::AlignTop); - vLayout->addWidget(backgroundCheckBox); - vLayout->addWidget(gridCheckBox); - vLayout->addWidget(smoothCheckBox, 0, Qt::AlignTop); - vLayout->addWidget(new QLabel(QStringLiteral("Change dot style"))); - vLayout->addWidget(itemStyleList); - vLayout->addWidget(new QLabel(QStringLiteral("Change theme"))); - vLayout->addWidget(themeList); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality"))); - vLayout->addWidget(shadowQuality); - vLayout->addWidget(new QLabel(QStringLiteral("Change font"))); - vLayout->addWidget(fontList, 1, Qt::AlignTop); - //! [5] - - //! [2] - ScatterDataModifier *modifier = new ScatterDataModifier(graph); - //! [2] - - //! [6] - QObject::connect(cameraButton, &QPushButton::clicked, modifier, - &ScatterDataModifier::changePresetCamera); - QObject::connect(labelButton, &QPushButton::clicked, modifier, - &ScatterDataModifier::changeLabelStyle); - QObject::connect(itemCountButton, &QPushButton::clicked, modifier, - &ScatterDataModifier::toggleItemCount); - - QObject::connect(backgroundCheckBox, &QCheckBox::stateChanged, modifier, - &ScatterDataModifier::setBackgroundEnabled); - QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier, - &ScatterDataModifier::setGridEnabled); - QObject::connect(smoothCheckBox, &QCheckBox::stateChanged, modifier, - &ScatterDataModifier::setSmoothDots); - - QObject::connect(modifier, &ScatterDataModifier::backgroundEnabledChanged, - backgroundCheckBox, &QCheckBox::setChecked); - QObject::connect(modifier, &ScatterDataModifier::gridEnabledChanged, - gridCheckBox, &QCheckBox::setChecked); - QObject::connect(itemStyleList, SIGNAL(currentIndexChanged(int)), modifier, - SLOT(changeStyle(int))); - - QObject::connect(themeList, SIGNAL(currentIndexChanged(int)), modifier, - SLOT(changeTheme(int))); - - QObject::connect(shadowQuality, SIGNAL(currentIndexChanged(int)), modifier, - SLOT(changeShadowQuality(int))); - - QObject::connect(modifier, &ScatterDataModifier::shadowQualityChanged, shadowQuality, - &QComboBox::setCurrentIndex); - QObject::connect(graph, &Q3DScatter::shadowQualityChanged, modifier, - &ScatterDataModifier::shadowQualityUpdatedByVisual); - - QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier, - &ScatterDataModifier::changeFont); - - QObject::connect(modifier, &ScatterDataModifier::fontChanged, fontList, - &QFontComboBox::setCurrentFont); - //! [6] - - //! [3] - widget->show(); - return app.exec(); - //! [3] -} diff --git a/examples/datavisualization/scatter/scatter.pro b/examples/datavisualization/scatter/scatter.pro deleted file mode 100644 index b9f29f9c..00000000 --- a/examples/datavisualization/scatter/scatter.pro +++ /dev/null @@ -1,17 +0,0 @@ -android|ios|winrt { - error( "This example is not supported for android, ios, or winrt." ) -} - -!include( ../examples.pri ) { - error( "Couldn't find the examples.pri file!" ) -} - -SOURCES += main.cpp scatterdatamodifier.cpp -HEADERS += scatterdatamodifier.h - -QT += widgets -requires(qtConfig(combobox)) -requires(qtConfig(fontcombobox)) - -OTHER_FILES += doc/src/* \ - doc/images/* diff --git a/examples/datavisualization/scatter/scatterdatamodifier.cpp b/examples/datavisualization/scatter/scatterdatamodifier.cpp deleted file mode 100644 index d9e3c86b..00000000 --- a/examples/datavisualization/scatter/scatterdatamodifier.cpp +++ /dev/null @@ -1,216 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Data Visualization module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "scatterdatamodifier.h" -#include <QtDataVisualization/qscatterdataproxy.h> -#include <QtDataVisualization/qvalue3daxis.h> -#include <QtDataVisualization/q3dscene.h> -#include <QtDataVisualization/q3dcamera.h> -#include <QtDataVisualization/qscatter3dseries.h> -#include <QtDataVisualization/q3dtheme.h> -#include <QtCore/qmath.h> -#include <QtCore/qrandom.h> -#include <QtWidgets/QComboBox> - -//#define RANDOM_SCATTER // Uncomment this to switch to random scatter - -const int numberOfItems = 3600; -const float curveDivider = 3.0f; -const int lowerNumberOfItems = 900; -const float lowerCurveDivider = 0.75f; - -ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter) - : m_graph(scatter), - m_fontSize(40.0f), - m_style(QAbstract3DSeries::MeshSphere), - m_smooth(true), - m_itemCount(lowerNumberOfItems), - m_curveDivider(lowerCurveDivider) -{ - //! [0] - m_graph->activeTheme()->setType(Q3DTheme::ThemeEbony); - QFont font = m_graph->activeTheme()->font(); - font.setPointSize(m_fontSize); - m_graph->activeTheme()->setFont(font); - m_graph->setShadowQuality(QAbstract3DGraph::ShadowQualitySoftLow); - m_graph->scene()->activeCamera()->setCameraPreset(Q3DCamera::CameraPresetFront); - //! [0] - - //! [2] - QScatterDataProxy *proxy = new QScatterDataProxy; - QScatter3DSeries *series = new QScatter3DSeries(proxy); - series->setItemLabelFormat(QStringLiteral("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel")); - series->setMeshSmooth(m_smooth); - m_graph->addSeries(series); - //! [2] - - //! [3] - addData(); - //! [3] -} - -ScatterDataModifier::~ScatterDataModifier() -{ - delete m_graph; -} - -void ScatterDataModifier::addData() -{ - // Configure the axes according to the data - //! [4] - m_graph->axisX()->setTitle("X"); - m_graph->axisY()->setTitle("Y"); - m_graph->axisZ()->setTitle("Z"); - //! [4] - - //! [5] - QScatterDataArray *dataArray = new QScatterDataArray; - dataArray->resize(m_itemCount); - QScatterDataItem *ptrToDataArray = &dataArray->first(); - //! [5] - -#ifdef RANDOM_SCATTER - for (int i = 0; i < m_itemCount; i++) { - ptrToDataArray->setPosition(randVector()); - ptrToDataArray++; - } -#else - //! [6] - float limit = qSqrt(m_itemCount) / 2.0f; - for (float i = -limit; i < limit; i++) { - for (float j = -limit; j < limit; j++) { - ptrToDataArray->setPosition(QVector3D(i + 0.5f, - qCos(qDegreesToRadians((i * j) / m_curveDivider)), - j + 0.5f)); - ptrToDataArray++; - } - } - //! [6] -#endif - - //! [7] - m_graph->seriesList().at(0)->dataProxy()->resetArray(dataArray); - //! [7] -} - -//! [8] -void ScatterDataModifier::changeStyle(int style) -{ - QComboBox *comboBox = qobject_cast<QComboBox *>(sender()); - if (comboBox) { - m_style = QAbstract3DSeries::Mesh(comboBox->itemData(style).toInt()); - if (m_graph->seriesList().size()) - m_graph->seriesList().at(0)->setMesh(m_style); - } -} - -void ScatterDataModifier::setSmoothDots(int smooth) -{ - m_smooth = bool(smooth); - QScatter3DSeries *series = m_graph->seriesList().at(0); - series->setMeshSmooth(m_smooth); -} - -void ScatterDataModifier::changeTheme(int theme) -{ - Q3DTheme *currentTheme = m_graph->activeTheme(); - currentTheme->setType(Q3DTheme::Theme(theme)); - emit backgroundEnabledChanged(currentTheme->isBackgroundEnabled()); - emit gridEnabledChanged(currentTheme->isGridEnabled()); - emit fontChanged(currentTheme->font()); -} - -void ScatterDataModifier::changePresetCamera() -{ - static int preset = Q3DCamera::CameraPresetFrontLow; - - m_graph->scene()->activeCamera()->setCameraPreset((Q3DCamera::CameraPreset)preset); - - if (++preset > Q3DCamera::CameraPresetDirectlyBelow) - preset = Q3DCamera::CameraPresetFrontLow; -} - -void ScatterDataModifier::changeLabelStyle() -{ - m_graph->activeTheme()->setLabelBackgroundEnabled(!m_graph->activeTheme()->isLabelBackgroundEnabled()); -} - -void ScatterDataModifier::changeFont(const QFont &font) -{ - QFont newFont = font; - newFont.setPointSizeF(m_fontSize); - m_graph->activeTheme()->setFont(newFont); -} - -void ScatterDataModifier::shadowQualityUpdatedByVisual(QAbstract3DGraph::ShadowQuality sq) -{ - int quality = int(sq); - emit shadowQualityChanged(quality); // connected to a checkbox in main.cpp -} - -void ScatterDataModifier::changeShadowQuality(int quality) -{ - QAbstract3DGraph::ShadowQuality sq = QAbstract3DGraph::ShadowQuality(quality); - m_graph->setShadowQuality(sq); -} - -void ScatterDataModifier::setBackgroundEnabled(int enabled) -{ - m_graph->activeTheme()->setBackgroundEnabled((bool)enabled); -} - -void ScatterDataModifier::setGridEnabled(int enabled) -{ - m_graph->activeTheme()->setGridEnabled((bool)enabled); -} -//! [8] - -void ScatterDataModifier::toggleItemCount() -{ - if (m_itemCount == numberOfItems) { - m_itemCount = lowerNumberOfItems; - m_curveDivider = lowerCurveDivider; - } else { - m_itemCount = numberOfItems; - m_curveDivider = curveDivider; - } - m_graph->seriesList().at(0)->dataProxy()->resetArray(0); - addData(); -} - -QVector3D ScatterDataModifier::randVector() -{ - return QVector3D( - (float)(QRandomGenerator::global()->bounded(100)) / 2.0f - - (float)(QRandomGenerator::global()->bounded(100)) / 2.0f, - (float)(QRandomGenerator::global()->bounded(100)) / 100.0f - - (float)(QRandomGenerator::global()->bounded(100)) / 100.0f, - (float)(QRandomGenerator::global()->bounded(100)) / 2.0f - - (float)(QRandomGenerator::global()->bounded(100)) / 2.0f); -} diff --git a/examples/datavisualization/scatter/scatterdatamodifier.h b/examples/datavisualization/scatter/scatterdatamodifier.h deleted file mode 100644 index f79a46e9..00000000 --- a/examples/datavisualization/scatter/scatterdatamodifier.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Data Visualization module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef SCATTERDATAMODIFIER_H -#define SCATTERDATAMODIFIER_H - -#include <QtDataVisualization/q3dscatter.h> -#include <QtDataVisualization/qabstract3dseries.h> -#include <QtGui/QFont> - -class ScatterDataModifier : public QObject -{ - Q_OBJECT -public: - explicit ScatterDataModifier(Q3DScatter *scatter); - ~ScatterDataModifier(); - - void addData(); - void changeStyle(); - void changePresetCamera(); - void changeLabelStyle(); - void changeFont(const QFont &font); - void changeFontSize(int fontsize); - void setBackgroundEnabled(int enabled); - void setGridEnabled(int enabled); - void setSmoothDots(int smooth); - void toggleItemCount(); - void start(); - -public Q_SLOTS: - void changeStyle(int style); - void changeTheme(int theme); - void changeShadowQuality(int quality); - void shadowQualityUpdatedByVisual(QAbstract3DGraph::ShadowQuality shadowQuality); - -Q_SIGNALS: - void backgroundEnabledChanged(bool enabled); - void gridEnabledChanged(bool enabled); - void shadowQualityChanged(int quality); - void fontChanged(const QFont &font); - -private: - QVector3D randVector(); - Q3DScatter *m_graph; - int m_fontSize; - QAbstract3DSeries::Mesh m_style; - bool m_smooth; - int m_itemCount; - float m_curveDivider; -}; - -#endif |