diff options
author | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2015-10-20 13:18:59 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2015-10-22 10:08:51 +0000 |
commit | 31f9c57bc50ae053cfaf039a1dfdb128e2494458 (patch) | |
tree | 316138cb73c49877f5a80a8496c2f1b737122fb5 /tests/manual/surfacetest/graphmodifier.h | |
parent | 4162ddeb02ee41fd4217d7f3d93d45cab3313ba8 (diff) |
Fix issues with COIN builds
-Fix miscellaneous compile errors
-Move manual tests to manual folder and enable export of autotests
-Added widgets requirement
-Fixed autotests
-Fixed renderer and controller synchronization in QML case
-Treat fallback Mesa as ES2 similar to setting AA_UseSoftwareOpenGL
Change-Id: If6619733725d079e339bef16262e5ea1450ab20f
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Diffstat (limited to 'tests/manual/surfacetest/graphmodifier.h')
-rw-r--r-- | tests/manual/surfacetest/graphmodifier.h | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/tests/manual/surfacetest/graphmodifier.h b/tests/manual/surfacetest/graphmodifier.h new file mode 100644 index 00000000..e9260aac --- /dev/null +++ b/tests/manual/surfacetest/graphmodifier.h @@ -0,0 +1,204 @@ +/****************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt Data Visualization module. +** +** $QT_BEGIN_LICENSE:COMM$ +** +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** $QT_END_LICENSE$ +** +******************************************************************************/ + +#ifndef GRAPHMODIFIER_H +#define GRAPHMODIFIER_H + +#include <QtDataVisualization/Q3DSurface> +#include <QtDataVisualization/QSurfaceDataProxy> +#include <QtDataVisualization/QSurface3DSeries> +#include <QSlider> +#include <QTimer> +#include <QLabel> +#include <QCheckBox> + +#define MULTI_SERIES + +using namespace QtDataVisualization; + +class GraphModifier : public QObject +{ + Q_OBJECT +public: + enum Samples { + SqrtSin = 1, + Plane, + Map + }; + + explicit GraphModifier(Q3DSurface *graph, QWidget *parentWidget); + ~GraphModifier(); + + void toggleSeries1(bool enabled); + void toggleSeries2(bool enabled); + void toggleSeries3(bool enabled); + void toggleSeries4(bool enabled); + void toggleSmooth(bool enabled); + void toggleSurfaceGrid(bool enable); + void toggleSurface(bool enable); + void toggleSeriesVisible(bool enable); + void toggleSmoothS2(bool enabled); + void toggleSurfaceGridS2(bool enable); + void toggleSurfaceS2(bool enable); + void toggleSeries2Visible(bool enable); + void toggleSmoothS3(bool enabled); + void toggleSurfaceGridS3(bool enable); + void toggleSurfaceS3(bool enable); + void toggleSeries3Visible(bool enable); + void toggleSmoothS4(bool enabled); + void toggleSurfaceGridS4(bool enable); + void toggleSurfaceS4(bool enable); + void toggleSeries4Visible(bool enable); + + void toggleSqrtSin(bool enable); + void togglePlane(bool enable); + void setHeightMapData(bool enable); + void toggleGridSliderLock(bool enable); + void setGridSliderX(QSlider *slider) { m_gridSliderX = slider; } + void setGridSliderZ(QSlider *slider) { m_gridSliderZ = slider; } + void setAxisRangeSliderX(QSlider *slider) { m_axisRangeSliderX = slider; } + void setAxisRangeSliderZ(QSlider *slider) { m_axisRangeSliderZ = slider; } + void setAxisMinSliderX(QSlider *slider) { m_axisMinSliderX = slider; } + void setAxisMinSliderZ(QSlider *slider) { m_axisMinSliderZ = slider; } + void setSeries1CB(QCheckBox *cb) { m_series1CB = cb; } + void setSeries2CB(QCheckBox *cb) { m_series2CB = cb; } + void setSeries3CB(QCheckBox *cb) { m_series3CB = cb; } + void setSeries4CB(QCheckBox *cb) { m_series4CB = cb; } + void adjustXCount(int count); + void adjustZCount(int count); + void adjustXRange(int range); + void adjustYRange(int range); + void adjustZRange(int range); + void adjustXMin(int min); + void adjustYMin(int min); + void adjustZMin(int min); + void updateSamples(); + void gradientPressed(); + void changeFont(const QFont &font); + void changeStyle(); + void selectButtonClicked(); + void setSelectionInfoLabel(QLabel *label) {m_selectionInfoLabel = label; } + void selectedPointChanged(const QPoint &point); + void changeRow(); + void changeRows(); + void changeMesh(); + void changeItem(); + void changeMultipleItem(); + void changeMultipleRows(); + void addRow(); + void addRows(); + void insertRow(); + void insertRows(); + void removeRow(); + void resetArray(); + void resetArrayEmpty(); + void massiveDataTest(); + void massiveTestScroll(); + void massiveTestAppendAndScroll(); + void testAxisReverse(); + void testDataOrdering(); + void setAspectRatio(int ratio); + void setHorizontalAspectRatio(int ratio); + void setSurfaceTexture(bool enabled); + +public Q_SLOTS: + void changeShadowQuality(int quality); + void changeTheme(int theme); + void flipViews(); + void changeSelectionMode(int mode); + void timeout(); + void graphQueryTimeout(); + + void handleAxisXChanged(QValue3DAxis *axis); + void handleAxisYChanged(QValue3DAxis *axis); + void handleAxisZChanged(QValue3DAxis *axis); + void handleFpsChange(qreal fps); + void changeLabelRotation(int rotation); + void toggleAxisTitleVisibility(bool enabled); + void toggleAxisTitleFixed(bool enabled); + void toggleXAscending(bool enabled); + void toggleZAscending(bool enabled); + void togglePolar(bool enabled); + void setCameraTargetX(int value); + void setCameraTargetY(int value); + void setCameraTargetZ(int value); + void setGraphMargin(int value); + +private: + void fillSeries(); + void resetArrayAndSliders(QSurfaceDataArray *array, float minZ, float maxZ, float minX, + float maxX); + QSurfaceDataRow *createMultiRow(int row, int series, bool change); + void populateRisingSeries(QSurface3DSeries *series, int rows, int columns, float minValue, + float maxValue, bool ascendingX, bool ascendingZ); + + Q3DSurface *m_graph; + QSurface3DSeries *m_multiseries[4]; + QSurface3DSeries *m_series1; + QSurface3DSeries *m_series2; + QSurface3DSeries *m_series3; + QSurface3DSeries *m_series4; + QSlider *m_gridSliderX; + QSlider *m_gridSliderZ; + QSlider *m_axisRangeSliderX; + QSlider *m_axisRangeSliderZ; + QSlider *m_axisMinSliderX; + QSlider *m_axisMinSliderZ; + QCheckBox *m_series1CB; + QCheckBox *m_series2CB; + QCheckBox *m_series3CB; + QCheckBox *m_series4CB; + bool m_gridSlidersLocked; + int m_xCount; + int m_zCount; + int m_activeSample; + int m_fontSize; + float m_rangeX; + float m_rangeY; + float m_rangeZ; + float m_minX; + float m_minY; + float m_minZ; + int m_addRowCounter; + int m_insertTestZPos; + int m_insertTestIndexPos; + QTimer m_timer; + QSurfaceDataArray *m_planeArray; + QLabel *m_selectionInfoLabel; + QSurface3DSeries *m_theSeries; + QSurface3DSeries::DrawFlags m_drawMode; + QSurface3DSeries::DrawFlags m_drawMode2; + QSurface3DSeries::DrawFlags m_drawMode3; + QSurface3DSeries::DrawFlags m_drawMode4; + float m_limitX; + float m_limitZ; + float m_offset; + float m_multiSampleOffsetX[4]; + float m_multiSampleOffsetZ[4]; + QSurfaceDataArray m_massiveTestCacheArray; + QVector3D m_cameraTarget; + QWidget *m_parentWidget; + QTimer m_graphPositionQueryTimer; + bool m_ascendingX; + bool m_ascendingZ; +}; + +#endif |