summaryrefslogtreecommitdiffstats
path: root/tests/scattertest/scatterchart.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scattertest/scatterchart.cpp')
-rw-r--r--tests/scattertest/scatterchart.cpp90
1 files changed, 86 insertions, 4 deletions
diff --git a/tests/scattertest/scatterchart.cpp b/tests/scattertest/scatterchart.cpp
index c00c526a..7d625d3f 100644
--- a/tests/scattertest/scatterchart.cpp
+++ b/tests/scattertest/scatterchart.cpp
@@ -23,6 +23,7 @@
#include <QtDataVisualization/q3dscene.h>
#include <QtDataVisualization/q3dcamera.h>
#include <QtDataVisualization/q3dtheme.h>
+#include <QtDataVisualization/Q3DInputHandler>
#include <qmath.h>
using namespace QtDataVisualization;
@@ -46,6 +47,8 @@ ScatterDataModifier::ScatterDataModifier(Q3DScatter *scatter)
m_chart->setAxisX(new QValue3DAxis);
m_chart->setAxisY(new QValue3DAxis);
m_chart->setAxisZ(new QValue3DAxis);
+ m_chart->axisY()->setLabelFormat(QStringLiteral("%.7f"));
+ static_cast<Q3DInputHandler *>(m_chart->activeInputHandler())->setZoomAtTargetEnabled(true);
createAndAddSeries();
createAndAddSeries();
@@ -435,6 +438,10 @@ void ScatterDataModifier::testAxisReverse()
m_chart->axisX()->setRange(0.0f, 10.0f);
m_chart->axisY()->setRange(-20.0f, 50.0f);
m_chart->axisZ()->setRange(5.0f, 15.0f);
+ m_chart->axisX()->setTitle("Axis X");
+ m_chart->axisZ()->setTitle("Axis Z");
+ m_chart->axisX()->setTitleVisible(true);
+ m_chart->axisZ()->setTitleVisible(true);
m_chart->addSeries(series0);
m_chart->addSeries(series1);
}
@@ -484,9 +491,9 @@ void ScatterDataModifier::addData()
m_chart->axisX()->setRange(-50.0f, 50.0f);
m_chart->axisY()->setRange(-1.0f, 1.2f);
m_chart->axisZ()->setRange(-50.0f, 50.0f);
- m_chart->axisX()->setSegmentCount(6);
+ m_chart->axisX()->setSegmentCount(5);
m_chart->axisY()->setSegmentCount(4);
- m_chart->axisZ()->setSegmentCount(9);
+ m_chart->axisZ()->setSegmentCount(10);
m_chart->axisX()->setSubSegmentCount(2);
m_chart->axisY()->setSubSegmentCount(3);
m_chart->axisZ()->setSubSegmentCount(1);
@@ -717,8 +724,24 @@ void ScatterDataModifier::changeBunch()
if (m_targetSeries->dataProxy()->array()->size()) {
int amount = qMin(m_targetSeries->dataProxy()->array()->size(), 100);
QScatterDataArray items(amount);
- for (int i = 0; i < items.size(); i++)
+ for (int i = 0; i < items.size(); i++) {
items[i].setPosition(randVector());
+ // Change the Y-values of first few items to exact gradient boundaries
+ if (i == 0)
+ items[i].setY(0.65f);
+ else if (i == 1)
+ items[i].setY(0.1f);
+ else if (i == 2)
+ items[i].setY(-0.45f);
+ else if (i == 3)
+ items[i].setY(-1.0f);
+ else if (i == 4)
+ items[i].setY(1.2f);
+// else
+// items[i].setY(0.1001f - (0.00001f * float(i)));
+
+ }
+
m_targetSeries->dataProxy()->setItems(0, items);
qDebug() << m_loopCounter << "Changed bunch, array size:" << m_targetSeries->dataProxy()->array()->size();
}
@@ -934,6 +957,11 @@ void ScatterDataModifier::changeLabelRotation(int rotation)
m_chart->axisZ()->setLabelAutoRotation(float(rotation));
}
+void ScatterDataModifier::changeRadialLabelOffset(int offset)
+{
+ m_chart->setRadialLabelOffset(float(offset) / 100.0f);
+}
+
void ScatterDataModifier::toggleAxisTitleVisibility(bool enabled)
{
m_chart->axisX()->setTitleVisible(enabled);
@@ -970,6 +998,54 @@ void ScatterDataModifier::renderToImage()
}
}
+void ScatterDataModifier::togglePolar(bool enable)
+{
+ m_chart->setPolar(enable);
+}
+
+void ScatterDataModifier::toggleStatic(bool enable)
+{
+ if (enable)
+ m_chart->setOptimizationHints(QAbstract3DGraph::OptimizationStatic);
+ else
+ m_chart->setOptimizationHints(QAbstract3DGraph::OptimizationDefault);
+}
+
+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::setGraphMargin(int value)
+{
+ m_chart->setMargin(qreal(value) / 100.0);
+ qDebug() << "Setting margin:" << m_chart->margin() << value;
+}
+
void ScatterDataModifier::changeShadowQuality(int quality)
{
QAbstract3DGraph::ShadowQuality sq = QAbstract3DGraph::ShadowQuality(quality);
@@ -1019,10 +1095,16 @@ void ScatterDataModifier::setMaxZ(int max)
void ScatterDataModifier::setAspectRatio(int ratio)
{
- float aspectRatio = float(ratio) / 10.0f;
+ qreal aspectRatio = qreal(ratio) / 10.0;
m_chart->setAspectRatio(aspectRatio);
}
+void ScatterDataModifier::setHorizontalAspectRatio(int ratio)
+{
+ qreal aspectRatio = qreal(ratio) / 100.0;
+ m_chart->setHorizontalAspectRatio(aspectRatio);
+}
+
QVector3D ScatterDataModifier::randVector()
{
QVector3D retvec = QVector3D(