summaryrefslogtreecommitdiffstats
path: root/tests/surfacetest
diff options
context:
space:
mode:
Diffstat (limited to 'tests/surfacetest')
-rw-r--r--tests/surfacetest/graphmodifier.cpp24
-rw-r--r--tests/surfacetest/graphmodifier.h4
-rw-r--r--tests/surfacetest/main.cpp115
3 files changed, 101 insertions, 42 deletions
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);