summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/volumetric/main.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-08-19 11:48:32 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-08-19 12:29:06 +0300
commit7b61b89e4e6a91e7984cd69180468640fe3f9dc8 (patch)
treecc68a27f9d3bbb8503eee6fdf826e50fa5fa3404 /examples/datavisualization/volumetric/main.cpp
parent68b3ea782608cbcd457cbe1abc0c83aceb356777 (diff)
Improve volumetric example
- Changing color table - Different texture details (generation in background) - Optional fps display Change-Id: Iad6b50ef8541084e0142de0f9cb7ae70f841dde9 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'examples/datavisualization/volumetric/main.cpp')
-rw-r--r--examples/datavisualization/volumetric/main.cpp48
1 files changed, 47 insertions, 1 deletions
diff --git a/examples/datavisualization/volumetric/main.cpp b/examples/datavisualization/volumetric/main.cpp
index 7e4c9973..66f62779 100644
--- a/examples/datavisualization/volumetric/main.cpp
+++ b/examples/datavisualization/volumetric/main.cpp
@@ -26,6 +26,7 @@
#include <QtWidgets/QSlider>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QLabel>
+#include <QtWidgets/QGroupBox>
#include <QtGui/QScreen>
int main(int argc, char **argv)
@@ -74,9 +75,41 @@ int main(int argc, char **argv)
sliceZSlider->setValue(512);
sliceZSlider->setEnabled(true);
- QLabel *fpsLabel = new QLabel(QStringLiteral("Fps: "), widget);
+ QCheckBox *fpsCheckBox = new QCheckBox(widget);
+ fpsCheckBox->setText(QStringLiteral("Show FPS"));
+ fpsCheckBox->setChecked(false);
+ QLabel *fpsLabel = new QLabel(QStringLiteral(""), widget);
+ QGroupBox *textureDetailGroupBox = new QGroupBox(QStringLiteral("Texture detail"));
+
+ QRadioButton *lowDetailRB = new QRadioButton(widget);
+ lowDetailRB->setText(QStringLiteral("Low (128x64x128)"));
+ lowDetailRB->setChecked(true);
+
+ QRadioButton *mediumDetailRB = new QRadioButton(widget);
+ mediumDetailRB->setText(QStringLiteral("Generating..."));
+ mediumDetailRB->setChecked(false);
+ mediumDetailRB->setEnabled(false);
+
+ QRadioButton *highDetailRB = new QRadioButton(widget);
+ highDetailRB->setText(QStringLiteral("Generating..."));
+ highDetailRB->setChecked(false);
+ highDetailRB->setEnabled(false);
+
+ QVBoxLayout *textureDetailVBox = new QVBoxLayout;
+ textureDetailVBox->addWidget(lowDetailRB);
+ textureDetailVBox->addWidget(mediumDetailRB);
+ textureDetailVBox->addWidget(highDetailRB);
+ textureDetailGroupBox->setLayout(textureDetailVBox);
+
+ QCheckBox *colorTableCheckBox = new QCheckBox(widget);
+ colorTableCheckBox->setText(QStringLiteral("Alternate color table"));
+ colorTableCheckBox->setChecked(false);
+
+ vLayout->addWidget(fpsCheckBox);
vLayout->addWidget(fpsLabel);
+ vLayout->addWidget(textureDetailGroupBox);
+ vLayout->addWidget(colorTableCheckBox);
vLayout->addWidget(sliceXCheckBox);
vLayout->addWidget(sliceXSlider);
vLayout->addWidget(sliceYCheckBox);
@@ -86,7 +119,12 @@ int main(int argc, char **argv)
VolumetricModifier *modifier = new VolumetricModifier(graph);
modifier->setFpsLabel(fpsLabel);
+ modifier->setMediumDetailRB(mediumDetailRB);
+ modifier->setHighDetailRB(highDetailRB);
+ modifier->setSliceSliders(sliceXSlider, sliceYSlider, sliceZSlider);
+ QObject::connect(fpsCheckBox, &QCheckBox::stateChanged, modifier,
+ &VolumetricModifier::setFpsMeasurement);
QObject::connect(sliceXCheckBox, &QCheckBox::stateChanged, modifier,
&VolumetricModifier::sliceX);
QObject::connect(sliceYCheckBox, &QCheckBox::stateChanged, modifier,
@@ -99,6 +137,14 @@ int main(int argc, char **argv)
&VolumetricModifier::adjustSliceY);
QObject::connect(sliceZSlider, &QSlider::valueChanged, modifier,
&VolumetricModifier::adjustSliceZ);
+ QObject::connect(lowDetailRB, &QRadioButton::toggled, modifier,
+ &VolumetricModifier::toggleLowDetail);
+ QObject::connect(mediumDetailRB, &QRadioButton::toggled, modifier,
+ &VolumetricModifier::toggleMediumDetail);
+ QObject::connect(highDetailRB, &QRadioButton::toggled, modifier,
+ &VolumetricModifier::toggleHighDetail);
+ QObject::connect(colorTableCheckBox, &QCheckBox::stateChanged, modifier,
+ &VolumetricModifier::changeColorTable);
widget->show();
return app.exec();