aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp20
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);