diff options
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r-- | src/mainwindow.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d96314c..f76f13a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -216,7 +216,7 @@ void MainWindow::initialize() { QHBoxLayout *lw = new QHBoxLayout(); wSlider = new QSlider(Qt::Orientation::Horizontal); // XY value slider - wSlider->setTickInterval(0.01); + wSlider->setTickInterval(1); wSlider->setMinimum(-10000); wSlider->setMaximum(10000); wSlider->setValue(0); @@ -268,6 +268,7 @@ void MainWindow::finish() { void MainWindow::connectUIElements() { connectUploadFile(); connectSaveImage(); + connectBulkRender(); connectxy(); connectxz(); connectxw(); @@ -294,6 +295,10 @@ void MainWindow::connectSaveImage() { connect(saveImage, &QPushButton::clicked, this, &MainWindow::onSaveImage); } +void MainWindow::connectBulkRender() { + connect(bulkRender, &QPushButton::clicked, this, &MainWindow::onBulkRender); +} + void MainWindow::connectxy() { connect(xySlider, &QSlider::valueChanged, this, &MainWindow::onValChangexySlider); connect(xyBox, static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), @@ -383,6 +388,19 @@ void MainWindow::onSaveImage() { rayTracer->saveViewportImage(filePath.toStdString()); } +void MainWindow::onBulkRender() { + // if (settings.sceneFilePath.empty()) { + // std::cout << "No scene file loaded." << std::endl; + // return; + // } + std::string sceneName = settings.sceneFilePath.substr(0, settings.sceneFilePath.find_last_of(".")); + sceneName = sceneName.substr(sceneName.find_last_of("/")+1); + QString folderPath = QFileDialog::getExistingDirectory(this, tr("Select Directory for Bulk Render"), + QDir::currentPath()); + std::cout << "Setting bulk output path to: \"" << folderPath.toStdString() << "\"." << std::endl; + settings.bulkOutputFolderPath = folderPath.toStdString(); +} + void MainWindow::onValChangexySlider(int newValue) { //wSlider->setValue(newValue); xyBox->setValue(newValue/100.f); |