From 562cd15dc41740af8b4678cc54980701ecd54108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Fri, 31 Jan 2014 09:48:08 +0200 Subject: Kinect demo update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Larger texts etc. Change-Id: I8a418290a84da827557ee19b6387e69150b68a1a Change-Id: I8a418290a84da827557ee19b6387e69150b68a1a Reviewed-by: Tomi Korpipää --- tests/kinectsurface/main.cpp | 28 ++++++++++++++------ tests/kinectsurface/surfacedata.cpp | 53 ++++++++++++++++++++++--------------- tests/kinectsurface/surfacedata.h | 2 ++ 3 files changed, 53 insertions(+), 30 deletions(-) (limited to 'tests') diff --git a/tests/kinectsurface/main.cpp b/tests/kinectsurface/main.cpp index cd33f229..60465915 100644 --- a/tests/kinectsurface/main.cpp +++ b/tests/kinectsurface/main.cpp @@ -71,28 +71,37 @@ int main(int argc, char **argv) hLayout->addLayout(vLayout); QPushButton *startButton = new QPushButton(widget); - startButton->setMinimumHeight(60); + startButton->setFont(QFont("Arial", 30)); startButton->setText(QStringLiteral("Start Kinect")); QPushButton *stopButton = new QPushButton(widget); - stopButton->setMinimumHeight(60); + stopButton->setFont(QFont("Arial", 30)); stopButton->setText(QStringLiteral("Stop Kinect")); + QLabel *resolutionLabel = new QLabel(QStringLiteral("Change resolution")); + resolutionLabel->setFont(QFont("Arial", 15)); + QComboBox *resolutionBox = new QComboBox(widget); - resolutionBox->setMinimumHeight(60); + resolutionBox->setFont(QFont("Arial", 30)); resolutionBox->addItem(QStringLiteral("Low")); resolutionBox->addItem(QStringLiteral("Medium")); resolutionBox->addItem(QStringLiteral("High")); resolutionBox->addItem(QStringLiteral("Max")); // Comment this out if demo machine is low-perf resolutionBox->setCurrentIndex(0); + QLabel *modeLabel = new QLabel(QStringLiteral("Change visualization type")); + modeLabel->setFont(QFont("Arial", 15)); + QComboBox *modeBox = new QComboBox(widget); - modeBox->setMinimumHeight(60); + modeBox->setFont(QFont("Arial", 30)); modeBox->addItem(QStringLiteral("Surface Plot")); modeBox->addItem(QStringLiteral("Scatter Chart")); modeBox->addItem(QStringLiteral("Bar Chart")); modeBox->setCurrentIndex(0); + QLabel *distanceLabel = new QLabel(QStringLiteral("Adjust far distance")); + distanceLabel->setFont(QFont("Arial", 15)); + QSlider *distanceSlider = new QSlider(Qt::Horizontal, widget); distanceSlider->setMinimumHeight(60); distanceSlider->setTickInterval(10); @@ -101,6 +110,9 @@ int main(int argc, char **argv) distanceSlider->setValue(50); distanceSlider->setMaximum(200); + QLabel *gradientLabel = new QLabel(QStringLiteral("Change color scheme")); + gradientLabel->setFont(QFont("Arial", 15)); + QLinearGradient gradientOne(0, 0, 200, 1); gradientOne.setColorAt(0.0, Qt::black); gradientOne.setColorAt(0.33, Qt::blue); @@ -137,13 +149,13 @@ int main(int argc, char **argv) vLayout->addWidget(startButton); vLayout->addWidget(stopButton); - vLayout->addWidget(new QLabel(QStringLiteral("Change resolution"))); + vLayout->addWidget(resolutionLabel); vLayout->addWidget(resolutionBox); - vLayout->addWidget(new QLabel(QStringLiteral("Change visualization type"))); + vLayout->addWidget(modeLabel); vLayout->addWidget(modeBox); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust far distance"))); + vLayout->addWidget(distanceLabel); vLayout->addWidget(distanceSlider); - vLayout->addWidget(new QLabel(QStringLiteral("Change color scheme"))); + vLayout->addWidget(gradientLabel); vLayout->addWidget(gradientOneButton); vLayout->addWidget(gradientTwoButton); vLayout->addWidget(status, 1, Qt::AlignBottom); diff --git a/tests/kinectsurface/surfacedata.cpp b/tests/kinectsurface/surfacedata.cpp index 07b18746..60e71cb0 100644 --- a/tests/kinectsurface/surfacedata.cpp +++ b/tests/kinectsurface/surfacedata.cpp @@ -32,7 +32,7 @@ using namespace QtDataVisualization; -#define LOW_END_DEVICE // Uncomment for devices with limited processing/grpahics power +//#define LOW_END_DEVICE // Uncomment for devices with limited processing/grpahics power #ifdef LOW_END_DEVICE const QSize lowRes = QSize(160, 120); @@ -48,6 +48,8 @@ const QSize maxRes = QSize(640, 480); SurfaceData::SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars, QTextEdit *statusArea) : + m_thermalTheme(new Q3DTheme(Q3DTheme::ThemeIsabelle)), + m_highlightTheme(new Q3DTheme(Q3DTheme::ThemeQt)), m_surface(surface), m_scatter(scatter), m_bars(bars), @@ -57,8 +59,32 @@ SurfaceData::SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars m_resolutionLevel(0), m_mode(Surface) { + // Initialize themes for surface + m_thermalTheme->setGridEnabled(false); + m_thermalTheme->setBackgroundEnabled(false); + m_thermalTheme->setColorStyle(Q3DTheme::ColorStyleRangeGradient); + QLinearGradient thermalGradient; + thermalGradient.setColorAt(0.0, Qt::black); + thermalGradient.setColorAt(0.33, Qt::blue); + thermalGradient.setColorAt(0.67, Qt::red); + thermalGradient.setColorAt(1.0, Qt::yellow); + QList thermalGradients; + thermalGradients.append(thermalGradient); + m_thermalTheme->setBaseGradients(thermalGradients); + + m_highlightTheme->setGridEnabled(false); + m_highlightTheme->setBackgroundEnabled(false); + m_highlightTheme->setColorStyle(Q3DTheme::ColorStyleRangeGradient); + QLinearGradient highlightGradient; + highlightGradient.setColorAt(0.0, Qt::white); + highlightGradient.setColorAt(0.8, Qt::red); + highlightGradient.setColorAt(1.0, Qt::green); + QList highlightGradients; + highlightGradients.append(highlightGradient); + m_highlightTheme->setBaseGradients(highlightGradients); + // Initialize surface - m_surface->activeTheme()->setType(Q3DTheme::ThemeIsabelle); + m_surface->setActiveTheme(m_thermalTheme); QLinearGradient gradient; gradient.setColorAt(0.0, Qt::black); gradient.setColorAt(0.33, Qt::blue); @@ -66,15 +92,11 @@ SurfaceData::SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars gradient.setColorAt(1.0, Qt::yellow); m_surface->setSelectionMode(QAbstract3DGraph::SelectionNone); m_surface->setShadowQuality(QAbstract3DGraph::ShadowQualityNone); - m_surface->activeTheme()->setGridEnabled(false); - m_surface->activeTheme()->setBackgroundEnabled(false); m_surface->scene()->activeCamera()->setCameraPosition(0.0, 90.0, 150); m_surface->axisY()->setMax(255); QSurface3DSeries *series1 = new QSurface3DSeries(new QHeightMapSurfaceDataProxy()); series1->setFlatShadingEnabled(true); series1->setDrawMode(QSurface3DSeries::DrawSurface); - series1->setColorStyle(Q3DTheme::ColorStyleRangeGradient); - series1->setBaseGradient(gradient); m_surface->addSeries(series1); // Initialize scatter @@ -82,7 +104,7 @@ SurfaceData::SurfaceData(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars m_scatter->setSelectionMode(QAbstract3DGraph::SelectionNone); m_scatter->activeTheme()->setGridEnabled(false); m_scatter->setShadowQuality(QAbstract3DGraph::ShadowQualityLow); - m_scatter->scene()->activeCamera()->setCameraPosition(0.0, 85.0, 150); + m_scatter->scene()->activeCamera()->setCameraPosition(0.0, 60.0, 150); QScatter3DSeries *series2 = new QScatter3DSeries; #ifdef LOW_END_DEVICE series2->setMesh(QAbstract3DSeries::MeshPoint); @@ -260,26 +282,13 @@ void SurfaceData::scrollDown() void SurfaceData::useGradientOne() { - m_surface->activeTheme()->setType(Q3DTheme::ThemeIsabelle); - QLinearGradient gradient; - gradient.setColorAt(0.0, Qt::black); - gradient.setColorAt(0.33, Qt::blue); - gradient.setColorAt(0.67, Qt::red); - gradient.setColorAt(1.0, Qt::yellow); - m_surface->seriesList().at(0)->setBaseGradient(gradient); - m_surface->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient); + m_surface->setActiveTheme(m_thermalTheme); m_statusArea->append(QStringLiteral("Colors: Thermal image imitation")); } void SurfaceData::useGradientTwo() { - m_surface->activeTheme()->setType(Q3DTheme::ThemeQt); - QLinearGradient gradient; - gradient.setColorAt(0.0, Qt::white); - gradient.setColorAt(0.8, Qt::red); - gradient.setColorAt(1.0, Qt::green); - m_surface->seriesList().at(0)->setBaseGradient(gradient); - m_surface->seriesList().at(0)->setColorStyle(Q3DTheme::ColorStyleRangeGradient); + m_surface->setActiveTheme(m_highlightTheme); m_statusArea->append(QStringLiteral("Colors: Highlight foreground")); } diff --git a/tests/kinectsurface/surfacedata.h b/tests/kinectsurface/surfacedata.h index 7193e446..8978f759 100644 --- a/tests/kinectsurface/surfacedata.h +++ b/tests/kinectsurface/surfacedata.h @@ -63,6 +63,8 @@ public slots: void changeMode(int mode); private: + Q3DTheme *m_thermalTheme; + Q3DTheme *m_highlightTheme; Q3DSurface *m_surface; Q3DScatter *m_scatter; Q3DBars *m_bars; -- cgit v1.2.3