diff options
author | David Doan <daviddoan@Davids-MacBook-Pro-70.local> | 2023-12-08 11:21:44 -0500 |
---|---|---|
committer | David Doan <daviddoan@Davids-MacBook-Pro-70.local> | 2023-12-08 11:21:44 -0500 |
commit | f594307273b6ab269ed4eea8dcc831b27cd25108 (patch) | |
tree | 954c154a90d5c957962eaf22bd537591a2767527 /src/mainwindow.cpp | |
parent | 940a2361da8f51ab2547f1b7bfd42dc1c8645642 (diff) |
6 sliders
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r-- | src/mainwindow.cpp | 299 |
1 files changed, 268 insertions, 31 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e4c9675..45c1c2c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -25,8 +25,25 @@ void MainWindow::initialize() { QFont font; font.setPointSize(12); font.setBold(true); - QLabel *w_label = new QLabel(); // Width label - w_label->setText("W value:"); + QLabel *xy_label = new QLabel(); // XY label + xy_label->setText("XY value:"); + xy_label->setFont(font); + QLabel *xz_label = new QLabel(); // XZ label + xz_label->setText("XZ value:"); + xz_label->setFont(font); + QLabel *xw_label = new QLabel(); // XW label + xw_label->setText("XW value:"); + xw_label->setFont(font); + QLabel *yz_label = new QLabel(); // YZ label + yz_label->setText("YZ value:"); + yz_label->setFont(font); + QLabel *yw_label = new QLabel(); // YW label + yw_label->setText("YW value:"); + yw_label->setFont(font); + QLabel *zw_label = new QLabel(); // ZW label + zw_label->setText("ZW value:"); + zw_label->setFont(font); + // Create file uploader for scene file uploadFile = new QPushButton(); @@ -35,33 +52,148 @@ void MainWindow::initialize() { saveImage = new QPushButton(); saveImage->setText(QStringLiteral("Save image")); - QGroupBox *wLayout = new QGroupBox(); // horizonal w slider alignment - QHBoxLayout *lw = new QHBoxLayout(); + QGroupBox *xyLayout = new QGroupBox(); // horizonal w slider alignment + QHBoxLayout *lxy = new QHBoxLayout(); + + xySlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider + xySlider->setTickInterval(1); + xySlider->setMinimum(-1000); + xySlider->setMaximum(1000); + xySlider->setValue(0); + + xyBox = new QDoubleSpinBox(); + xyBox->setMinimum(-10.0f); + xyBox->setMaximum(10.f); + xyBox->setSingleStep(0.1f); + xyBox->setValue(0.f); + + lxy->addWidget(xySlider); + lxy->addWidget(xyBox); + xyLayout->setLayout(lxy); + + // XZ Slider + QGroupBox *xzLayout = new QGroupBox(); // horizonal w slider alignment + QHBoxLayout *lxz = new QHBoxLayout(); + + xzSlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider + xzSlider->setTickInterval(1); + xzSlider->setMinimum(-1000); + xzSlider->setMaximum(1000); + xzSlider->setValue(0); + + xzBox = new QDoubleSpinBox(); + xzBox->setMinimum(-10.0f); + xzBox->setMaximum(10.f); + xzBox->setSingleStep(0.1f); + xzBox->setValue(0.f); + + lxz->addWidget(xzSlider); + lxz->addWidget(xzBox); + xzLayout->setLayout(lxz); + + // XW Slider + QGroupBox *xwLayout = new QGroupBox(); // horizonal w slider alignment + QHBoxLayout *lxw = new QHBoxLayout(); + + xwSlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider + xwSlider->setTickInterval(1); + xwSlider->setMinimum(-1000); + xwSlider->setMaximum(1000); + xwSlider->setValue(0); + + xwBox = new QDoubleSpinBox(); + xwBox->setMinimum(-10.0f); + xwBox->setMaximum(10.f); + xwBox->setSingleStep(0.1f); + xwBox->setValue(0.f); + + lxw->addWidget(xwSlider); + lxw->addWidget(xwBox); + xwLayout->setLayout(lxw); + + // YZ Slider + QGroupBox *yzLayout = new QGroupBox(); // horizonal w slider alignment + QHBoxLayout *lyz = new QHBoxLayout(); + + yzSlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider + yzSlider->setTickInterval(1); + yzSlider->setMinimum(-1000); + yzSlider->setMaximum(1000); + yzSlider->setValue(0); + + yzBox = new QDoubleSpinBox(); + yzBox->setMinimum(-10.0f); + yzBox->setMaximum(10.f); + yzBox->setSingleStep(0.1f); + yzBox->setValue(0.f); + + lyz->addWidget(yzSlider); + lyz->addWidget(yzBox); + yzLayout->setLayout(lyz); + + // YW Slider + QGroupBox *ywLayout = new QGroupBox(); // horizonal w slider alignment + QHBoxLayout *lyw = new QHBoxLayout(); + + ywSlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider + ywSlider->setTickInterval(1); + ywSlider->setMinimum(-1000); + ywSlider->setMaximum(1000); + ywSlider->setValue(0); + + ywBox = new QDoubleSpinBox(); + ywBox->setMinimum(-10.0f); + ywBox->setMaximum(10.f); + ywBox->setSingleStep(0.1f); + ywBox->setValue(100.f); + + lyw->addWidget(ywSlider); + lyw->addWidget(ywBox); + ywLayout->setLayout(lyw); + + // ZW Slider + QGroupBox *zwLayout = new QGroupBox(); // horizonal w slider alignment + QHBoxLayout *lzw = new QHBoxLayout(); - wSlider = new QSlider(Qt::Orientation::Horizontal); // W value slider - wSlider->setTickInterval(1); - wSlider->setMinimum(1); - wSlider->setMaximum(100); - wSlider->setValue(1); + zwSlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider + zwSlider->setTickInterval(1); + zwSlider->setMinimum(-1000); + zwSlider->setMaximum(1000); + zwSlider->setValue(0); - wBox = new QDoubleSpinBox(); - wBox->setMinimum(0.01f); - wBox->setMaximum(1.f); - wBox->setSingleStep(0.01f); - wBox->setValue(0.01f); + zwBox = new QDoubleSpinBox(); + zwBox->setMinimum(-10.0f); + zwBox->setMaximum(10.f); + zwBox->setSingleStep(0.1f); + zwBox->setValue(100.f); - lw->addWidget(wSlider); - lw->addWidget(wBox); - wLayout->setLayout(lw); + lzw->addWidget(zwSlider); + lzw->addWidget(zwBox); + zwLayout->setLayout(lzw); vLayout->addWidget(uploadFile); vLayout->addWidget(saveImage); - vLayout->addWidget(w_label); - vLayout->addWidget(wLayout); + vLayout->addWidget(xy_label); + vLayout->addWidget(xyLayout); + vLayout->addWidget(xz_label); + vLayout->addWidget(xzLayout); + vLayout->addWidget(xw_label); + vLayout->addWidget(xwLayout); + vLayout->addWidget(yz_label); + vLayout->addWidget(yzLayout); + vLayout->addWidget(yw_label); + vLayout->addWidget(ywLayout); + vLayout->addWidget(zw_label); + vLayout->addWidget(zwLayout); connectUIElements(); - onValChangeWBox(0.01f); + onValChangexyBox(0.0f); + onValChangexzBox(0.0f); + onValChangexwBox(0.0f); + onValChangeyzBox(0.0f); + onValChangeywBox(0.0f); + onValChangezwBox(0.0f); } void MainWindow::finish() { @@ -72,7 +204,12 @@ void MainWindow::finish() { void MainWindow::connectUIElements() { connectUploadFile(); connectSaveImage(); - connectW(); + connectxy(); + connectxz(); + connectxw(); + connectyz(); + connectyw(); + connectzw(); } void MainWindow::connectUploadFile() { @@ -83,10 +220,40 @@ void MainWindow::connectSaveImage() { connect(saveImage, &QPushButton::clicked, this, &MainWindow::onSaveImage); } -void MainWindow::connectW() { - connect(wSlider, &QSlider::valueChanged, this, &MainWindow::onValChangeWSlider); - connect(wBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), - this, &MainWindow::onValChangeWBox); +void MainWindow::connectxy() { + connect(xySlider, &QSlider::valueChanged, this, &MainWindow::onValChangexySlider); + connect(xyBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), + this, &MainWindow::onValChangexyBox); +} + +void MainWindow::connectxz() { + connect(xzSlider, &QSlider::valueChanged, this, &MainWindow::onValChangexzSlider); + connect(xzBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), + this, &MainWindow::onValChangexzBox); +} + +void MainWindow::connectxw() { + connect(xwSlider, &QSlider::valueChanged, this, &MainWindow::onValChangexwSlider); + connect(xwBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), + this, &MainWindow::onValChangexwBox); +} + +void MainWindow::connectyz() { + connect(yzSlider, &QSlider::valueChanged, this, &MainWindow::onValChangeyzSlider); + connect(yzBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), + this, &MainWindow::onValChangeyzBox); +} + +void MainWindow::connectyw() { + connect(ywSlider, &QSlider::valueChanged, this, &MainWindow::onValChangeywSlider); + connect(ywBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), + this, &MainWindow::onValChangeywBox); +} + +void MainWindow::connectzw() { + connect(zwSlider, &QSlider::valueChanged, this, &MainWindow::onValChangezwSlider); + connect(zwBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), + this, &MainWindow::onValChangezwBox); } void MainWindow::onUploadFile() { @@ -132,16 +299,86 @@ void MainWindow::onSaveImage() { // realtime->saveViewportImage(filePath.toStdString()); } -void MainWindow::onValChangeWSlider(int newValue) { +void MainWindow::onValChangexySlider(int newValue) { + //wSlider->setValue(newValue); + xyBox->setValue(newValue/100.f); + settings.xy = xyBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangexyBox(double newValue) { + xySlider->setValue(int(newValue*100.f)); + //wBox->setValue(newValue); + settings.xy = xyBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangexzSlider(int newValue) { + //wSlider->setValue(newValue); + xzBox->setValue(newValue/100.f); + settings.xz = xzBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangexzBox(double newValue) { + xzSlider->setValue(int(newValue*100.f)); + //wBox->setValue(newValue); + settings.xz = xzBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangexwSlider(int newValue) { + //wSlider->setValue(newValue); + xwBox->setValue(newValue/100.f); + settings.xw = xwBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangexwBox(double newValue) { + xwSlider->setValue(int(newValue*100.f)); + //wBox->setValue(newValue); + settings.xw = xwBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangeyzSlider(int newValue) { + //wSlider->setValue(newValue); + yzBox->setValue(newValue/100.f); + settings.yz = yzBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangeyzBox(double newValue) { + yzSlider->setValue(int(newValue*100.f)); + //wBox->setValue(newValue); + settings.yz = yzBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangeywSlider(int newValue) { + //wSlider->setValue(newValue); + ywBox->setValue(newValue/100.f); + settings.yw = ywBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangeywBox(double newValue) { + ywSlider->setValue(int(newValue*100.f)); + //wBox->setValue(newValue); + settings.yw = ywBox->value(); + rayTracer->settingsChanged(imageLabel); +} + +void MainWindow::onValChangezwSlider(int newValue) { //wSlider->setValue(newValue); - wBox->setValue(newValue/100.f); - settings.w = wBox->value(); + zwBox->setValue(newValue/100.f); + settings.zw = zwBox->value(); rayTracer->settingsChanged(imageLabel); } -void MainWindow::onValChangeWBox(double newValue) { - wSlider->setValue(int(newValue*100.f)); +void MainWindow::onValChangezwBox(double newValue) { + zwSlider->setValue(int(newValue*100.f)); //wBox->setValue(newValue); - settings.w = wBox->value(); + settings.zw = zwBox->value(); rayTracer->settingsChanged(imageLabel); } |