summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-08-05 14:00:08 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-08-06 08:39:25 +0300
commitdd99eb73740ad015a2a2d28481e5a2ca8ab1d7b1 (patch)
treebcbbd462e547cd958b1343412d0a14e920b5c453 /tests
parent73f127d8ef1937aa77ba0ec0be63f0bfd6cf92ab (diff)
Enable camera targeting.
Also fix custom item positioning in absolute mode as it was completely broken in bars and z-coord was flipped in others. Clarified Q3DObject::position property usage, namely that it is reserved for internal use for now. Some refactoring also done. Task-number: QTRD-2567 Change-Id: I5da65b83a2f8ecf20f8fd054e59748278ef1a714 Reviewed-by: Titta Heikkala <titta.heikkala@digia.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/barstest/chart.cpp24
-rw-r--r--tests/barstest/chart.h4
-rw-r--r--tests/barstest/main.cpp28
-rw-r--r--tests/qmlcamera/qml/qmlcamera/main.qml27
-rw-r--r--tests/scattertest/main.cpp47
-rw-r--r--tests/scattertest/scatterchart.cpp24
-rw-r--r--tests/scattertest/scatterchart.h5
-rw-r--r--tests/surfacetest/graphmodifier.cpp24
-rw-r--r--tests/surfacetest/graphmodifier.h4
-rw-r--r--tests/surfacetest/main.cpp115
10 files changed, 242 insertions, 60 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp
index e0f9ff18..445c235e 100644
--- a/tests/barstest/chart.cpp
+++ b/tests/barstest/chart.cpp
@@ -1495,6 +1495,30 @@ void GraphModifier::handleFpsChange(qreal fps)
m_fpsLabel->setText(fpsPrefix + QString::number(qRound(fps)));
}
+void GraphModifier::setCameraTargetX(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setX(float(value) / 100.0f);
+ m_graph->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
+void GraphModifier::setCameraTargetY(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setY(float(value) / 100.0f);
+ m_graph->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
+void GraphModifier::setCameraTargetZ(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setZ(float(value) / 100.0f);
+ m_graph->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
void GraphModifier::populateFlatSeries(QBar3DSeries *series, int rows, int columns, float value)
{
QBarDataArray *dataArray = new QBarDataArray;
diff --git a/tests/barstest/chart.h b/tests/barstest/chart.h
index 7ee781ad..6740df73 100644
--- a/tests/barstest/chart.h
+++ b/tests/barstest/chart.h
@@ -118,6 +118,9 @@ public slots:
void triggerRotation();
void handleValueAxisLabelsChanged();
void handleFpsChange(qreal fps);
+ void setCameraTargetX(int value);
+ void setCameraTargetY(int value);
+ void setCameraTargetZ(int value);
signals:
void shadowQualityChanged(int quality);
@@ -172,6 +175,7 @@ private:
QTimer m_rotationTimer;
QLabel *m_fpsLabel;
QBar3DSeries *m_extraSeries;
+ QVector3D m_cameraTarget;
};
#endif
diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp
index 2d755c7f..bd891cd3 100644
--- a/tests/barstest/main.cpp
+++ b/tests/barstest/main.cpp
@@ -331,6 +331,22 @@ int main(int argc, char **argv)
valueAxisSegmentsSpin->setMaximum(100);
valueAxisSegmentsSpin->setValue(10);
+ QSlider *cameraTargetSliderX = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderX->setTickInterval(1);
+ cameraTargetSliderX->setMinimum(-100);
+ cameraTargetSliderX->setValue(0);
+ cameraTargetSliderX->setMaximum(100);
+ QSlider *cameraTargetSliderY = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderY->setTickInterval(1);
+ cameraTargetSliderY->setMinimum(-100);
+ cameraTargetSliderY->setValue(0);
+ cameraTargetSliderY->setMaximum(100);
+ QSlider *cameraTargetSliderZ = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderZ->setTickInterval(1);
+ cameraTargetSliderZ->setMinimum(-100);
+ cameraTargetSliderZ->setValue(0);
+ cameraTargetSliderZ->setMaximum(100);
+
vLayout->addWidget(addSeriesButton, 0, Qt::AlignTop);
vLayout->addWidget(addDataButton, 0, Qt::AlignTop);
vLayout->addWidget(addMultiDataButton, 0, Qt::AlignTop);
@@ -400,7 +416,11 @@ int main(int argc, char **argv)
vLayout3->addWidget(new QLabel(QStringLiteral("Log axis base")), 0, Qt::AlignTop);
vLayout3->addWidget(logBaseEdit, 0, Qt::AlignTop);
vLayout3->addWidget(new QLabel(QStringLiteral("Value axis segments")), 0, Qt::AlignTop);
- vLayout3->addWidget(valueAxisSegmentsSpin, 1, Qt::AlignTop);
+ vLayout3->addWidget(valueAxisSegmentsSpin, 0, Qt::AlignTop);
+ vLayout3->addWidget(new QLabel(QStringLiteral("Camera target")), 0, Qt::AlignTop);
+ vLayout3->addWidget(cameraTargetSliderX, 0, Qt::AlignTop);
+ vLayout3->addWidget(cameraTargetSliderY, 0, Qt::AlignTop);
+ vLayout3->addWidget(cameraTargetSliderZ, 1, Qt::AlignTop);
// TODO: Add example for setMeshFileName
widget->show();
@@ -429,6 +449,12 @@ int main(int argc, char **argv)
&GraphModifier::setMinY);
QObject::connect(maxSliderY, &QSlider::valueChanged, modifier,
&GraphModifier::setMaxY);
+ QObject::connect(cameraTargetSliderX, &QSlider::valueChanged, modifier,
+ &GraphModifier::setCameraTargetX);
+ QObject::connect(cameraTargetSliderY, &QSlider::valueChanged, modifier,
+ &GraphModifier::setCameraTargetY);
+ QObject::connect(cameraTargetSliderZ, &QSlider::valueChanged, modifier,
+ &GraphModifier::setCameraTargetZ);
QObject::connect(shadowQuality, SIGNAL(currentIndexChanged(int)), modifier,
SLOT(changeShadowQuality(int)));
diff --git a/tests/qmlcamera/qml/qmlcamera/main.qml b/tests/qmlcamera/qml/qmlcamera/main.qml
index 444e175c..cb1737f6 100644
--- a/tests/qmlcamera/qml/qmlcamera/main.qml
+++ b/tests/qmlcamera/qml/qmlcamera/main.qml
@@ -18,7 +18,7 @@
import QtQuick 2.1
import QtQuick.Controls 1.0
-import QtDataVisualization 1.1
+import QtDataVisualization 1.2
import "."
Rectangle {
@@ -35,6 +35,15 @@ Rectangle {
id: chartAxes
}
+ Camera3D {
+ id: customCamera
+ wrapXRotation: false
+ xRotation: camControlArea.xValue
+ yRotation: camControlArea.yValue
+ zoomLevel: zoomSlider.value
+ target: Qt.vector3d(1.0, 1.0, 1.0)
+ }
+
Item {
id: dataView
width: parent.width - camControlArea.width
@@ -60,21 +69,18 @@ Rectangle {
columnAxis: chartAxes.column
valueAxis: chartAxes.expenses
- // Bind UI controls to the camera
- scene.activeCamera.wrapXRotation: false
- scene.activeCamera.xRotation: camControlArea.xValue
- scene.activeCamera.yRotation: camControlArea.yValue
- scene.activeCamera.zoomLevel: zoomSlider.value
+ scene.activeCamera: customCamera
inputHandler: null
customItemList: [shuttleItem, labelItem]
+ orthoProjection: true
}
Custom3DItem {
id: shuttleItem
meshFile: ":/items/shuttle.obj"
textureFile: ":/items/shuttle.png"
- position: Qt.vector3d(5.0,29.0,3.0)
+ position: Qt.vector3d(2.0,29.0,2.0)
scaling: Qt.vector3d(0.2,0.2,0.2)
}
@@ -82,7 +88,7 @@ Rectangle {
id: labelItem
facingCamera: true
positionAbsolute: true
- position: Qt.vector3d(0.0,1.5,0.0)
+ position: Qt.vector3d(-1.0,1.5,-1.0)
scaling: Qt.vector3d(1.0,1.0,1.0)
text: "Qt Shuttle"
}
@@ -162,6 +168,11 @@ Rectangle {
currentAngle += 5
chartData.series.meshAngle = currentAngle
shuttleItem.setRotationAxisAndAngle(Qt.vector3d(0.0, 1.0, 1.0), currentAngle)
+ console.log("label pos:", labelItem.position)
+ labelItem.position.x += 0.1
+ labelItem.position.z += 0.1
+ customCamera.target.x -= 0.1
+ customCamera.target.z -= 0.1
}
}
diff --git a/tests/scattertest/main.cpp b/tests/scattertest/main.cpp
index 55515cb0..116a4dc2 100644
--- a/tests/scattertest/main.cpp
+++ b/tests/scattertest/main.cpp
@@ -41,6 +41,7 @@ int main(int argc, char **argv)
QHBoxLayout *hLayout = new QHBoxLayout(widget);
QVBoxLayout *vLayout = new QVBoxLayout();
QVBoxLayout *vLayout2 = new QVBoxLayout();
+ QVBoxLayout *vLayout3 = new QVBoxLayout();
Q3DScatter *chart = new Q3DScatter();
QSize screenSize = chart->screen()->size();
@@ -56,6 +57,7 @@ int main(int argc, char **argv)
hLayout->addWidget(container, 1);
hLayout->addLayout(vLayout);
hLayout->addLayout(vLayout2);
+ hLayout->addLayout(vLayout3);
QPushButton *themeButton = new QPushButton(widget);
themeButton->setText(QStringLiteral("Change theme"));
@@ -276,6 +278,22 @@ int main(int argc, char **argv)
radialLabelSlider->setValue(100);
radialLabelSlider->setMaximum(150);
+ QSlider *cameraTargetSliderX = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderX->setTickInterval(1);
+ cameraTargetSliderX->setMinimum(-100);
+ cameraTargetSliderX->setValue(0);
+ cameraTargetSliderX->setMaximum(100);
+ QSlider *cameraTargetSliderY = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderY->setTickInterval(1);
+ cameraTargetSliderY->setMinimum(-100);
+ cameraTargetSliderY->setValue(0);
+ cameraTargetSliderY->setMaximum(100);
+ QSlider *cameraTargetSliderZ = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderZ->setTickInterval(1);
+ cameraTargetSliderZ->setMinimum(-100);
+ cameraTargetSliderZ->setValue(0);
+ cameraTargetSliderZ->setMaximum(100);
+
vLayout->addWidget(themeButton, 0, Qt::AlignTop);
vLayout->addWidget(labelButton, 0, Qt::AlignTop);
vLayout->addWidget(styleButton, 0, Qt::AlignTop);
@@ -326,15 +344,20 @@ int main(int argc, char **argv)
vLayout2->addWidget(aspectRatioSlider);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust horizontal aspect ratio")));
vLayout2->addWidget(horizontalAspectRatioSlider, 1, Qt::AlignTop);
- vLayout2->addWidget(optimizationStaticCB);
- vLayout2->addWidget(orthoCB);
- vLayout2->addWidget(polarCB);
- vLayout2->addWidget(axisTitlesVisibleCB);
- vLayout2->addWidget(axisTitlesFixedCB);
- vLayout2->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
- vLayout2->addWidget(axisLabelRotationSlider);
- vLayout2->addWidget(new QLabel(QStringLiteral("Radial label offset")));
- vLayout2->addWidget(radialLabelSlider, 1, Qt::AlignTop);
+
+ vLayout3->addWidget(optimizationStaticCB);
+ vLayout3->addWidget(orthoCB);
+ vLayout3->addWidget(polarCB);
+ vLayout3->addWidget(axisTitlesVisibleCB);
+ vLayout3->addWidget(axisTitlesFixedCB);
+ vLayout3->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
+ vLayout3->addWidget(axisLabelRotationSlider);
+ vLayout3->addWidget(new QLabel(QStringLiteral("Radial label offset")));
+ vLayout3->addWidget(radialLabelSlider, 0, Qt::AlignTop);
+ vLayout3->addWidget(new QLabel(QStringLiteral("Camera target")), 0, Qt::AlignTop);
+ vLayout3->addWidget(cameraTargetSliderX, 0, Qt::AlignTop);
+ vLayout3->addWidget(cameraTargetSliderY, 0, Qt::AlignTop);
+ vLayout3->addWidget(cameraTargetSliderZ, 1, Qt::AlignTop);
ScatterDataModifier *modifier = new ScatterDataModifier(chart);
@@ -440,6 +463,12 @@ int main(int argc, char **argv)
&ScatterDataModifier::setHorizontalAspectRatio);
QObject::connect(radialLabelSlider, &QSlider::valueChanged, modifier,
&ScatterDataModifier::changeRadialLabelOffset);
+ QObject::connect(cameraTargetSliderX, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setCameraTargetX);
+ QObject::connect(cameraTargetSliderY, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setCameraTargetY);
+ QObject::connect(cameraTargetSliderZ, &QSlider::valueChanged, modifier,
+ &ScatterDataModifier::setCameraTargetZ);
modifier->setFpsLabel(fpsLabel);
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index 5db772b5..35d56236 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -993,6 +993,30 @@ void ScatterDataModifier::toggleOrtho(bool enable)
m_chart->setOrthoProjection(enable);
}
+void ScatterDataModifier::setCameraTargetX(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setX(float(value) / 100.0f);
+ m_chart->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
+void ScatterDataModifier::setCameraTargetY(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setY(float(value) / 100.0f);
+ m_chart->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
+void ScatterDataModifier::setCameraTargetZ(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setZ(float(value) / 100.0f);
+ m_chart->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
void ScatterDataModifier::changeShadowQuality(int quality)
{
QAbstract3DGraph::ShadowQuality sq = QAbstract3DGraph::ShadowQuality(quality);
diff --git a/tests/scattertest/scatterchart.h b/tests/scattertest/scatterchart.h
index df2494b6..1a97c5f0 100644
--- a/tests/scattertest/scatterchart.h
+++ b/tests/scattertest/scatterchart.h
@@ -98,6 +98,9 @@ public slots:
void togglePolar(bool enable);
void toggleStatic(bool enable);
void toggleOrtho(bool enable);
+ void setCameraTargetX(int value);
+ void setCameraTargetY(int value);
+ void setCameraTargetZ(int value);
signals:
void shadowQualityChanged(int quality);
@@ -118,6 +121,8 @@ private:
QScatter3DSeries *m_targetSeries;
QScatterDataArray m_massiveTestCacheArray;
QLabel *m_fpsLabel;
+ QVector3D m_cameraTarget;
+
};
#endif
diff --git a/tests/surfacetest/graphmodifier.cpp b/tests/surfacetest/graphmodifier.cpp
index a685b71b..a22ede2b 100644
--- a/tests/surfacetest/graphmodifier.cpp
+++ b/tests/surfacetest/graphmodifier.cpp
@@ -793,6 +793,30 @@ void GraphModifier::togglePolar(bool enabled)
m_graph->setPolar(enabled);
}
+void GraphModifier::setCameraTargetX(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setX(float(value) / 100.0f);
+ m_graph->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
+void GraphModifier::setCameraTargetY(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setY(float(value) / 100.0f);
+ m_graph->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
+void GraphModifier::setCameraTargetZ(int value)
+{
+ // Value is (-100, 100), normalize
+ m_cameraTarget.setZ(float(value) / 100.0f);
+ m_graph->scene()->activeCamera()->setTarget(m_cameraTarget);
+ qDebug() << "m_cameraTarget:" << m_cameraTarget;
+}
+
void GraphModifier::resetArrayAndSliders(QSurfaceDataArray *array, float minZ, float maxZ, float minX, float maxX)
{
m_axisMinSliderX->setValue(minX);
diff --git a/tests/surfacetest/graphmodifier.h b/tests/surfacetest/graphmodifier.h
index 62145d45..f461f022 100644
--- a/tests/surfacetest/graphmodifier.h
+++ b/tests/surfacetest/graphmodifier.h
@@ -133,6 +133,9 @@ public slots:
void toggleXAscending(bool enabled);
void toggleZAscending(bool enabled);
void togglePolar(bool enabled);
+ void setCameraTargetX(int value);
+ void setCameraTargetY(int value);
+ void setCameraTargetZ(int value);
private:
void fillSeries();
@@ -186,6 +189,7 @@ private:
float m_multiSampleOffsetX[4];
float m_multiSampleOffsetZ[4];
QSurfaceDataArray m_massiveTestCacheArray;
+ QVector3D m_cameraTarget;
};
#endif
diff --git a/tests/surfacetest/main.cpp b/tests/surfacetest/main.cpp
index 3a7307ea..f89e6c50 100644
--- a/tests/surfacetest/main.cpp
+++ b/tests/surfacetest/main.cpp
@@ -46,8 +46,10 @@ int main(int argc, char *argv[])
QHBoxLayout *hLayout = new QHBoxLayout(widget);
QVBoxLayout *vLayout = new QVBoxLayout();
QVBoxLayout *vLayout2 = new QVBoxLayout();
+ QVBoxLayout *vLayout3 = new QVBoxLayout();
vLayout->setAlignment(Qt::AlignTop);
vLayout2->setAlignment(Qt::AlignTop);
+ vLayout3->setAlignment(Qt::AlignTop);
Q3DSurface *surfaceGraph = new Q3DSurface();
QSize screenSize = surfaceGraph->screen()->size();
@@ -66,6 +68,7 @@ int main(int argc, char *argv[])
hLayout->addWidget(container, 1);
hLayout->addLayout(vLayout);
hLayout->addLayout(vLayout2);
+ hLayout->addLayout(vLayout3);
QCheckBox *smoothCB = new QCheckBox(widget);
smoothCB->setText(QStringLiteral("Flat Surface"));
@@ -406,6 +409,22 @@ int main(int argc, char *argv[])
surfaceTextureCB->setText(QStringLiteral("Map texture"));
surfaceTextureCB->setChecked(false);
+ QSlider *cameraTargetSliderX = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderX->setTickInterval(1);
+ cameraTargetSliderX->setMinimum(-100);
+ cameraTargetSliderX->setValue(0);
+ cameraTargetSliderX->setMaximum(100);
+ QSlider *cameraTargetSliderY = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderY->setTickInterval(1);
+ cameraTargetSliderY->setMinimum(-100);
+ cameraTargetSliderY->setValue(0);
+ cameraTargetSliderY->setMaximum(100);
+ QSlider *cameraTargetSliderZ = new QSlider(Qt::Horizontal, widget);
+ cameraTargetSliderZ->setTickInterval(1);
+ cameraTargetSliderZ->setMinimum(-100);
+ cameraTargetSliderZ->setValue(0);
+ cameraTargetSliderZ->setMaximum(100);
+
// Add controls to the layout
#ifdef MULTI_SERIES
vLayout->addWidget(series1CB);
@@ -433,7 +452,7 @@ int main(int argc, char *argv[])
vLayout->addWidget(surfaceGridS4CB);
vLayout->addWidget(surfaceS4CB);
vLayout->addWidget(series4VisibleCB);
- vLayout->addWidget(surfaceTextureCB);
+ vLayout->addWidget(surfaceTextureCB, 1, Qt::AlignTop);
#endif
#ifndef MULTI_SERIES
vLayout->addWidget(new QLabel(QStringLiteral("Select surface sample")));
@@ -443,59 +462,65 @@ int main(int argc, char *argv[])
vLayout->addWidget(new QLabel(QStringLiteral("Adjust sample count")));
vLayout->addWidget(gridSlidersLockCB);
vLayout->addWidget(gridSliderX);
- vLayout->addWidget(gridSliderZ);
+ vLayout->addWidget(gridSliderZ, 1, Qt::AlignTop);
#endif
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust vertical aspect ratio")));
- vLayout->addWidget(aspectRatioSlider);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust horizontal aspect ratio")));
- vLayout->addWidget(horizontalAspectRatioSlider);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust axis range")));
- vLayout->addWidget(axisRangeSliderX);
- vLayout->addWidget(axisRangeSliderY);
- vLayout->addWidget(axisRangeSliderZ);
- vLayout->addWidget(new QLabel(QStringLiteral("Adjust axis minimum")));
- vLayout->addWidget(axisMinSliderX);
- vLayout->addWidget(axisMinSliderY);
- vLayout->addWidget(axisMinSliderZ);
- vLayout->addWidget(xAscendingCB);
- vLayout->addWidget(zAscendingCB);
- vLayout->addWidget(polarCB);
+
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust vertical aspect ratio")));
+ vLayout2->addWidget(aspectRatioSlider);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust horizontal aspect ratio")));
+ vLayout2->addWidget(horizontalAspectRatioSlider);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust axis range")));
+ vLayout2->addWidget(axisRangeSliderX);
+ vLayout2->addWidget(axisRangeSliderY);
+ vLayout2->addWidget(axisRangeSliderZ);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Adjust axis minimum")));
+ vLayout2->addWidget(axisMinSliderX);
+ vLayout2->addWidget(axisMinSliderY);
+ vLayout2->addWidget(axisMinSliderZ);
+ vLayout2->addWidget(xAscendingCB);
+ vLayout2->addWidget(zAscendingCB);
+ vLayout2->addWidget(polarCB);
vLayout2->addWidget(new QLabel(QStringLiteral("Change font")));
vLayout2->addWidget(fontList);
- vLayout2->addWidget(labelButton);
- vLayout2->addWidget(meshButton);
vLayout2->addWidget(new QLabel(QStringLiteral("Change theme")));
vLayout2->addWidget(themeList);
vLayout2->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
vLayout2->addWidget(shadowQuality);
vLayout2->addWidget(new QLabel(QStringLiteral("Selection Mode")));
vLayout2->addWidget(selectionMode);
+ vLayout2->addWidget(new QLabel(QStringLiteral("Camera target")));
+ vLayout2->addWidget(cameraTargetSliderX);
+ vLayout2->addWidget(cameraTargetSliderY);
+ vLayout2->addWidget(cameraTargetSliderZ, 1, Qt::AlignTop);
+
+ vLayout3->addWidget(labelButton);
+ vLayout3->addWidget(meshButton);
#ifndef MULTI_SERIES
- vLayout2->addWidget(selectButton);
- vLayout2->addWidget(selectionInfoLabel);
- vLayout2->addWidget(flipViewsButton);
+ vLayout3->addWidget(selectButton);
+ vLayout3->addWidget(selectionInfoLabel);
+ vLayout3->addWidget(flipViewsButton);
#endif
- vLayout2->addWidget(colorPB);
- vLayout2->addWidget(changeRowButton);
- vLayout2->addWidget(changeRowsButton);
- vLayout2->addWidget(changeMultipleRowsButton);
- vLayout2->addWidget(changeItemButton);
- vLayout2->addWidget(changeMultipleItemButton);
- vLayout2->addWidget(addRowButton);
- vLayout2->addWidget(addRowsButton);
- vLayout2->addWidget(insertRowButton);
- vLayout2->addWidget(insertRowsButton);
- vLayout2->addWidget(removeRowButton);
- vLayout2->addWidget(resetArrayButton);
- vLayout2->addWidget(resetArrayEmptyButton);
- vLayout2->addWidget(massiveDataTestButton);
- vLayout2->addWidget(testReverseButton);
- vLayout2->addWidget(testDataOrderingButton);
- vLayout2->addWidget(axisTitlesVisibleCB);
- vLayout2->addWidget(axisTitlesFixedCB);
- vLayout2->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
- vLayout2->addWidget(axisLabelRotationSlider, 1, Qt::AlignTop);
+ vLayout3->addWidget(colorPB);
+ vLayout3->addWidget(changeRowButton);
+ vLayout3->addWidget(changeRowsButton);
+ vLayout3->addWidget(changeMultipleRowsButton);
+ vLayout3->addWidget(changeItemButton);
+ vLayout3->addWidget(changeMultipleItemButton);
+ vLayout3->addWidget(addRowButton);
+ vLayout3->addWidget(addRowsButton);
+ vLayout3->addWidget(insertRowButton);
+ vLayout3->addWidget(insertRowsButton);
+ vLayout3->addWidget(removeRowButton);
+ vLayout3->addWidget(resetArrayButton);
+ vLayout3->addWidget(resetArrayEmptyButton);
+ vLayout3->addWidget(massiveDataTestButton);
+ vLayout3->addWidget(testReverseButton);
+ vLayout3->addWidget(testDataOrderingButton);
+ vLayout3->addWidget(axisTitlesVisibleCB);
+ vLayout3->addWidget(axisTitlesFixedCB);
+ vLayout3->addWidget(new QLabel(QStringLiteral("Axis label rotation")));
+ vLayout3->addWidget(axisLabelRotationSlider, 1, Qt::AlignTop);
widget->show();
@@ -676,6 +701,12 @@ int main(int argc, char *argv[])
modifier, &GraphModifier::setHorizontalAspectRatio);
QObject::connect(surfaceTextureCB, &QCheckBox::stateChanged,
modifier, &GraphModifier::setSurfaceTexture);
+ QObject::connect(cameraTargetSliderX, &QSlider::valueChanged, modifier,
+ &GraphModifier::setCameraTargetX);
+ QObject::connect(cameraTargetSliderY, &QSlider::valueChanged, modifier,
+ &GraphModifier::setCameraTargetY);
+ QObject::connect(cameraTargetSliderZ, &QSlider::valueChanged, modifier,
+ &GraphModifier::setCameraTargetZ);
#ifdef MULTI_SERIES
modifier->setSeries1CB(series1CB);